اوپن وبیوآی: رابط کاربری گمشده برای هوش مصنوعی محلی

خلأیی که اولاما باز میگذارد
اجرای یک مدل با اولاما از ترمینال قدرتمند است، اما یک راهحل نقطهای است. فقط inference دریافت میکنید و نه چیز دیگری. نه تاریخچه مکالمه. نه آپلود فایل. نه راهی برای اشتراکگذاری دسترسی با یک همکار. نه context پایدار بین جلسات. در لحظهای که جریان کاری شما از تست تکنوبتی فراتر میرود، رابط ترمینال شکست میخورد — و این دقیقاً همان خلأیی است که اوپن وبیوآی برای پر کردن آن ساخته شده است.
اوپن وبیوآی (که در اواخر سال ۲۰۲۳ با نام 'Ollama WebUI' منتشر شد) یک پلتفرم هوش مصنوعی قابل توسعه و خودمیزبان است که اولاما — و هر backend inference سازگار با OpenAI دیگری — را در یک رابط مرورگری در سطح ChatGPT میپوشاند. از نسخه ۰.۹.۵ در می ۲۰۲۶، بسیار فراتر از یک frontend اولیه رشد کرده و به یک پلتفرم با RAG بومی، یک چارچوب Python pipelines، کنترل دسترسی مبتنی بر نقش، ورودی/خروجی صوتی، یکپارچهسازیهای تولید تصویر، و یک لایه tool-calling تبدیل شده است.
این پروژه بیش از ۹۰ هزار ستاره گیتهاب دارد و فعالترین frontend متنباز برای inference محلی LLM است. به صورت یک کانتینر Docker سبک — با مصرف تقریباً ۵۰۰ مگابایت RAM — اجرا میشود که همه درخواستهای inference را به API اولاما در حال اجرا روی هاست یا یک سرور جداگانه پروکسی میکند. مدلها همانجایی که هستند میمانند. اوپن وبیوآی لایه session و context را روی آنها اضافه میکند.
اگر این بخش را دوست داشتیدکلاین: عامل هوش مصنوعی متنباز کدنویسی که جریان کاری توسعهدهندگان را بازتعریف میکند۹۰K+
ستاره گیتهاب
~۵۰۰ MB
مصرف RAM کانتینر
۱۵+
ارائهدهنده جستجوی وب پشتیبانیشده
۹
پایگاه داده برداری برای RAG
نصب: Docker در سه دقیقه
مسیر استقرار توصیهشده و سریعترین مسیر یک دستور Docker واحد است. اوپن وبیوآی imageهای رسمی را در GitHub Container Registry منتشر میکند و راهاندازی فرض میکند اولاما از پیش روی دستگاه میزبان در حال اجرا است. اگر اولاما را هنوز راهاندازی نکردهاید، این گام پیشنیاز است — موتور inference باید پیش از اینکه رابط کاربری چیزی برای اتصال داشته باشد وجود داشته باشد.
# فرض میشود اولاما روی localhost:11434 در حال اجرا است
docker run -d \
-p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
# سپس http://localhost:3000 را باز کنید
# اولین کاربری که ثبتنام میکند بهطور خودکار admin میشود
# جایگزین: نصب با pip (بدون Docker)
pip install open-webui
open-webui serveفلگ --add-host روی Linux برای اینکه کانتینر بتواند به اولاما در حال اجرا روی شبکه هاست دسترسی داشته باشد ضروری است. فلگ -v مکالمات، تنظیمات و حسابهای کاربری را در طول راهاندازی مجدد کانتینر حفظ میکند. پس از اینکه کانتینر initialize شد (حدود ۳۰ ثانیه)، اولین حسابی که در http://localhost:3000 ایجاد میشود بهطور خودکار امتیازات admin دریافت میکند.
رابط چت: ChatGPT به شکل محلی
تجربه چت عمداً آشنا طراحی شده است. مکالمات در یک نوار کناری قابل جمعشدن نمایش داده میشوند، markdown با بلوکهای کد syntax-highlighted رندر میشود، و انتخاب مدل در یک dropdown در بالای پنجره چت قرار دارد. تغییر مدل در میانه مکالمه یک کلیک است. اجرای یک prompt از طریق چند مدل بهصورت همزمان نیازی به کار بیشتری از باز کردن tabهای موازی ندارد.
System promptها و شخصیتها یک ویژگی اصلی هستند. میتوانید کاراکترهای قابل استفاده مجدد تعریف کنید — یک بازبین کد که همیشه مسائل امنیتی را بررسی میکند، یک خلاصهساز سند که فقط گلولهها را خروجی میدهد، یک استخراجکننده JSON که از تولید متن امتناع میکند — و آنها را از یک کتابخانه پایدار در شروع هر مکالمه بارگذاری کنید. این شخصیتها بهصورت محلی ذخیره میشوند و در یک استقرار مشترک برای سایر کاربران نامرئی هستند.
تاریخچه مکالمه ذخیره، جستجوپذیر و قابل مدیریت است. هر چت ایندکس میشود، میتواند تغییر نام یابد، آرشیو شود، از طریق لینک به اشتراک گذاشته شود یا export شود. اگر از رابط ChatGPT استفاده کردهاید و آرزو کردهاید روی سختافزار خودتان اجرا شود، اوپن وبیوآی تا آنجا که اکوسیستم متنباز فعلاً میرسد، نزدیکترین چیز به آن است.
RAG: صحبت با اسناد بهصورت محلی
Retrieval-Augmented Generation عملاً مفیدترین قابلیت اوپن وبیوآی برای اکثر تیمهاست. یک PDF، یک فایل متنی یا یک دایرکتوری از اسناد را آپلود کنید و سیستم آنها را تقطیع، embed و در یک vector store محلی ایندکس میکند — بهطور پیشفرض ChromaDB، با پشتیبانی از هشت backend دیگر از جمله Qdrant، PGVector، Milvus و Elasticsearch. در چت سوال بپرسید و chunkهای مرتبط قبل از اینکه مدل پاسخ تولید کند بازیابی و به context window تزریق میشوند.
مدل embedding پیشفرض nomic-embed-text است که از طریق اولاما مشابه هر مدل چت دیگری pull میشود. اندازه chunk بهطور پیشفرض ۱۵۰۰ توکن با Top K برابر ۵ است؛ به این معنا که پنج chunk به ازای هر query بازیابی میشود. برای یک مدل ۷B با پنجره context ۸۱۹۲ توکنی، آن بودجه بازیابی تقریباً ۳۰۰۰ توکن برای خود مکالمه باقی میگذارد.
برای مدلهای ابری با context بزرگ که از طریق endpoint سازگار با OpenAI اوپن وبیوآی متصل میشوند، حالت Full Context بازیابی chunkشده را کاملاً دور میزند و سند کامل را به پنجره context تزریق میکند. این روش برای وظایف تحلیل تکسند که مدل باید در کل محتوا استدلال کند نتایج به طور قابل توجهی بهتری تولید میکند.
یکپارچهسازی جستجوی وب
اوپن وبیوآی جستجوی وب را مستقیماً در pipeline RAG ادغام میکند نه به شکل مرور agent-style. جستجو را برای هر مکالمه با آیکون کره زمین فعال کنید و اوپن وبیوآی ارائهدهنده جستجوی پیکربندیشده شما را query میکند، نتایج برتر را استخراج میکند و آنها را قبل از تولید به context مدل اضافه میکند. مدل گویی همان صفحات را تازه خوانده پاسخ میدهد، بدون هیچ حلقه tool-calling در بین.
بیش از پانزده ارائهدهنده جستجو پشتیبانی میشوند، از جمله SearXNG برای جستجوی کاملاً خودمیزبان بدون هیچ وابستگی خارجی، DuckDuckGo، Brave، Perplexity، Kagi، Tavily، Bing و Jina. برای تیمهایی با الزامات سختگیرانه مکان نگهداری داده، اجرای SearXNG بهصورت محلی به این معناست که کل stack — مدل، embeddings، جستجو — بدون یک درخواست به شبکه داخلی کار میکند.
- SearXNG — کاملاً خودمیزبان، بدون هیچ افشای داده خارجی
- DuckDuckGo و Brave — گزینههای عمومی حافظ حریم خصوصی بدون نیاز به کلید API
- Perplexity، Kagi، Tavily — نتایج با کیفیت بالاتر با راهاندازی کلید API
- Jina و Exa — گزینههای جستجوی عصبی بهینهشده برای ارتباط معنایی
- Bing و Google PSE — پوشش ایندکس آشنا برای queryهای عمومی
استقرار چندکاربره و RBAC
کنترل دسترسی مبتنی بر نقش اوپن وبیوآی یک سرور inference واحد را به یک پلتفرم هوش مصنوعی مشترک برای یک تیم تبدیل میکند. مدل مجوز سه لایه دارد: admin که سیستم را پیکربندی و کاربران را مدیریت میکند؛ user که دسترسی کامل به چت، RAG و ابزارها دارد؛ و pending که ثبتنام کرده اما تا زمانی که admin حساب را تأیید نکند نمیتواند کاری انجام دهد. استقرارهای Enterprise این را با LDAP، Active Directory، SCIM 2.0 و SSO از طریق ارائهدهندگان OAuth از جمله Okta، Azure AD و Google Workspace گسترش میدهند.
جداسازی مکالمه در سطح حساب اعمال میشود. تاریخچه مکالمه، اسناد آپلودشده و شخصیتهای سفارشی یک کاربر برای سایر کاربران نامرئی است. یک پایگاه دانش مشترک — یک ویکی شرکت، یک کتابخانه خطمشی داخلی، یک مشخصات محصول — میتواند توسط admin ایجاد شود و بدون افشای مستقیم اسناد زیربنایی برای همه کاربران در دسترس قرار گیرد.
ترکیب سختی نیست که بزنید: اولاما مدیریت مدل و inference را مدیریت میکند، اوپن وبیوآی تجربه کاربری را. RAG، پشتیبانی چندکاربره و تاریخچه مکالمه را اضافه کنید و یک راهاندازی دارید که با پیشنهادهای تجاری رقابت میکند — بدون ارسال یک بایت به ابر.
Pipelines: منطق Python سفارشی در مسیر Inference
Pipelines لایه قابلیت توسعه اوپن وبیوآی برای توسعهدهندگانی است که به منطق سفارشی در مسیر inference نیاز دارند. یک pipeline یک اسکریپت Python است که به عنوان filter (تغییر پیامها قبل یا بعد از رسیدن به مدل)، action (اضافه کردن دکمههای سفارشی به رابط چت) یا pipeline کامل (جایگزینی فراخوانی مدل با منطق سفارشی) اجرا میشود.
موارد استفاده عملی pipeline شامل تزریق خودکار prompt برای پایگاههای دانش خاص، فیلترهای تعدیل محتوا که خروجیها را قبل از رسیدن به کاربر رهگیری میکنند، منطق کنترل هزینه که queryهای گرانقیمت را به یک مدل ارزانتر هدایت میکند، لاگگیری و ردیابی audit برای انطباق، و یکپارچهسازی با APIهای داخلی که مدل نمیتواند مستقیماً به آنها دسترسی داشته باشد میشود.
نیازمندیهای سختافزاری و اندازهگذاری استقرار
اوپن وبیوآی به لحاظ محاسباتی سبک است. کانتینر رابط تقریباً به ۵۰۰ مگابایت RAM و یک هسته CPU نیاز دارد. تمام کارهای محاسباتی سنگین — embedding، inference، تقطیع — در اولاما اتفاق میافتد. کف سختافزاری عملی برای یک راهاندازی محلی مفید ۱۶ گیگابایت RAM سیستم است وقتی اوپن وبیوآی و اولاما روی یک دستگاه اجرا میشوند، برای یک مدل ۷B در کوانتیزاسیون Q4_K_M.
- کانتینر اوپن وبیوآی: ~۵۰۰ مگابایت RAM، ۱ هسته CPU — سربار ناچیز
- مدل ۷B در Q4_K_M: ~۴ تا ۶ گیگابایت VRAM، یا ~۸ گیگابایت RAM سیستم برای inference با CPU
- مدل embedding (nomic-embed-text): ~۳۰۰ مگابایت VRAM یا RAM
- vector store ChromaDB: با اندازه مجموعه اسناد مقیاس میشود، در کمتر از ۱۰ هزار chunk حداقلی است
- حداقل توصیهشده: ۱۶ گیگابایت RAM سیستم برای یک دستگاه ترکیبی اولاما + اوپن وبیوآی

عدم وابستگی به Backend: فراتر از اولاما
علیرغم ریشههایش به عنوان یک frontend اولاما، اوپن وبیوآی به backend وابسته نیست. به هر endpoint API سازگار با OpenAI متصل میشود، که در عمل یعنی با vLLM، LM Studio، LocalAI، Text Generation WebUI، و ارائهدهندگان ابری واقعی از جمله OpenAI، Anthropic و Google کار میکند. یک نمونه اوپن وبیوآی میتواند درخواستها را برای کارهای معمولی به یک سرور اولاما محلی پروکسی کند و queryهای گرانقیمت یا پیچیده را به یک مدل ابری هدایت کند.
این انعطاف backend همچنین به این معناست که اوپن وبیوآی میتواند به عنوان رابط یکپارچه برای تیمهای توسعهای که از مدلهای مختلف برای اهداف مختلف استفاده میکنند عمل کند — یک مدل کدنویسی محلی برای کار روزمره، یک مدل ابری برای بررسیهای معماری، یک مدل embedding محلی تخصصی برای RAG — در حالی که تجربه چت یکپارچهای به هر کاربر ارائه میدهد.
جمعبندی
اوپن وبیوآی لایه رابط کاربریای است که اکوسیستم هوش مصنوعی محلی به آن نیاز داشت. اولاما مشکل inference را حل کرد: کشیدن، کوانتیزه کردن و سرویسدهی مدلهای وزنباز با حداقل پیکربندی. اوپن وبیوآی مشکل قابلیت استفاده را حل میکند: به آن مدلها یک رابط پایدار، چندکاربره و آگاه از اسناد میدهد که نیازی به خط فرمان برای کارکردن ندارد.
برای یک توسعهدهنده منفرد، ترکیب اولاما و اوپن وبیوآی یک راهاندازی هوش مصنوعی محلی تولید میکند که از نظر عملکردی قابل مقایسه با یک اشتراک ChatGPT است — با حریم خصوصی کامل داده، هزینه صفر به ازای توکن پس از سرمایهگذاری سختافزاری، و توانایی تعویض آزادانه مدلها. برای یک تیم کوچک، ویژگیهای RBAC چندکاربره و پایگاه دانش مشترک یک سرور inference را به یک پلتفرم هوش مصنوعی خصوصی در دسترس همه در سازمان تبدیل میکند.
با موتور Inference شروع کنید
قبل از راهاندازی اوپن وبیوآی، باید اولاما بهصورت محلی در حال اجرا باشد. بررسی عمیق ما معماری، trade-offهای کوانتیزاسیون، انتقال بار به GPU و انتخاب مدل را پوشش میدهد که اولاما را ستون فقرات هر stack هوش مصنوعی محلی میکند.
بخوانید: اولاما — موتور پشت هوش مصنوعی محلیهوش مصنوعی محلی را به ویرایشگر خود ببرید
هنگامی که stack محلی شما در حال اجرا است، کلاین آن را مستقیماً به VS Code به عنوان یک ایجنت کدنویسی خودمختار متصل میکند — ویرایش فایل، اجرای ترمینال و دسترسی به ابزار MCP، همه از طریق نمونه اولاما خودتان هدایت میشود.
بخوانید: کلاین — ایجنت کدنویسی هوش مصنوعی خودمختار(سؤالات متداول)
آیا استفاده از اوپن وبیوآی رایگان است؟
بله. اوپن وبیوآی متنباز و برای استفاده شخصی و تیمی رایگان است. نرمافزار خودش هیچ هزینهای ندارد؛ برای compute استفادهشده توسط backend مدل زیربنایی هزینه پرداخت میکنید. یک مجوز Enterprise برای سازمانهایی که به پشتیبانی SLA، برندینگ سفارشی و نسخههای پشتیبانی بلندمدت نیاز دارند در دسترس است.
آیا اوپن وبیوآی بدون Docker کار میکند؟
بله. میتوانید آن را با pip با دستور 'pip install open-webui && open-webui serve' نصب کنید. Docker برای استقرارهای production توصیه میشود زیرا محیط کانتینر را ایزوله میکند و بهروزرسانیها را ساده میکند، اما مسیر pip برای توسعه محلی و آزمایش به خوبی کار میکند.
آیا اوپن وبیوآی میتواند به مدلهای ابری مثل OpenAI یا Anthropic متصل شود؟
بله. اوپن وبیوآی به هر endpoint API سازگار با OpenAI متصل میشود، از جمله OpenAI واقعی، API Anthropic، Google Gemini و دیگران. میتوانید مدلهای اولاما محلی و مدلهای ابری را در یک رابط ترکیب کنید و مکالمات مختلف را به backendهای مختلف هدایت کنید.
اوپن وبیوآی از چه پایگاههای داده برداری برای RAG پشتیبانی میکند؟
اوپن وبیوآی از نه پایگاه داده برداری پشتیبانی میکند: ChromaDB (پیشفرض)، PGVector، Qdrant، Milvus، Elasticsearch، OpenSearch، Pinecone، S3Vector و Oracle 23ai. ChromaDB نیاز به هیچ راهاندازی خارجی ندارد و از همان ابتدا کار میکند؛ بقیه برای تیمهایی با زیرساخت پایگاه داده موجود قابل پیکربندی هستند.
اوپن وبیوآی چند کاربر را میتواند پشتیبانی کند؟
سیستم چندکاربره اوپن وبیوآی محدودیت سخت کاربری ندارد. عملکرد در مقیاس به backend inference بستگی دارد — یک نمونه اولاما درخواستهای همزمان را بهصورت متوالی مدیریت میکند که تحت بار همزمان صف ایجاد میکند. برای تیمهای بزرگتر از ۱۰ تا ۱۵ کاربر فعال همزمان، یک سرور inference قدرتمندتر یا چندین نمونه backend پشت یک load balancer ضروری میشود.


