پرش به محتوا
← همهٔ یادداشت‌ها

Open WebUI: چت‌بات هوش مصنوعی خصوصی روی GPU ابری

·۸ دقیقه مطالعه·تیم جی‌پی‌یو

دو قوطی حلبی فلزی که با یک نخ کشیده به هم وصل شده‌اند، روی سطح سنگی روشن؛ تلفن اسباب‌بازی قدیمی.

اگر دنبال یک چت‌بات هوش مصنوعی خصوصی هستید که گفت‌وگوهایتان روی سرور هیچ شرکتی ذخیره نشود، Open WebUI همان چیزی است که می‌خواهید: یک رابط چت شبیه به چت‌بات‌های معروف، که پشتش مدل باز خودتان روی یک کارت گرافیک اجاره‌ای اجرا می‌شود. در این آموزش یک ماشین GPU ابری با قالب آمادهٔ Open Webui (Ollama) اجاره می‌کنیم، مدل را دانلود می‌کنیم و در کمتر از نیم ساعت یک چت‌بات کامل با حساب کاربری، تاریخچهٔ گفت‌وگو و امکان پرسش از فایل‌های خودتان خواهیم داشت.

کل کار حدود ۲۰ تا ۳۰ دقیقه طول می‌کشد که بیشترش صرف دانلود مدل می‌شود. با یک کارت ۱۲ گیگابایتی، هزینهٔ این آموزش کمتر از ۱۰ هزار تومان درمی‌آید. نیازی به کارت گرافیک شخصی، نصب پایتون یا دانلود چند گیگابایتی روی اینترنت خودتان ندارید؛ ماشین خارج از ایران است و مدل را با سرعت گیگابیتی خودش می‌گیرد.

پیش‌نیازها

اگر با Ollama آشنا نیستید، خواندن اجرای مدل زبانی با Ollama روی GPU ابری قبل از این پست کمک می‌کند؛ Open WebUI در واقع یک رابط گرافیکی روی همان Ollama است.

انتخاب کارت گرافیک: چقدر VRAM لازم دارید

اندازهٔ مدل تعیین‌کنندهٔ همه‌چیز است. مدل‌های Ollama به‌صورت کوانتیزه‌شده دانلود می‌شوند و تقریباً به اندازهٔ حجم فایلشان، به‌علاوهٔ یکی دو گیگابایت برای متن گفت‌وگو، VRAM می‌خواهند. قاعدهٔ ساده این است: اگر فایل مدل در VRAM جا نشود، بخشی از آن روی CPU اجرا می‌شود و سرعت پاسخ چند برابر کندتر می‌شود.

  • qwen3:8b با حجم حدود ۵ گیگابایت: روی یک کارت ۱۲ گیگابایتی مثل RTX 3060 راحت جا می‌شود. برای چت روزمره، خلاصه‌سازی و پرسش‌وپاسخ کافی است.
  • qwen3:14b با حجم حدود ۹ گیگابایت: کارت ۱۶ گیگابایتی مثل RTX A4000 گزینهٔ متعادلی است.
  • qwen3:32b با حجم حدود ۲۰ گیگابایت: اینجا به ۲۴ گیگابایت VRAM نیاز دارید، یعنی RTX 3090 یا RTX 4090.

در زمان نوشتن این مطلب، ارزان‌ترین RTX 3060 از حدود ۱۶ هزار تومان در ساعت، RTX A4000 از حدود ۲۴ هزار تومان، RTX 3090 از حدود ۴۲ هزار تومان و RTX 4090 از حدود ۱۰۳ هزار تومان در ساعت شروع می‌شود. برای شروع پیشنهاد اقتصادی RTX 3060 با مدل ۸ میلیاردی است و پیشنهاد سریع RTX 3090 با مدل ۳۲ میلیاردی. فهرست کامل و فیلتر قیمت در بازار ماشین‌ها است. قیمت لحظهٔ اجاره قفل می‌شود و بعد از آن تغییر نمی‌کند.

راه‌اندازی چت‌بات هوش مصنوعی خصوصی روی ماشین اجاره‌ای

در بازار، کارت مورد نظرتان را فیلتر کنید و روی ماشین دلخواه، قالب Open Webui (Ollama) را انتخاب کنید. این قالب هم Ollama و هم رابط Open WebUI را از پیش نصب‌شده تحویل می‌دهد؛ لازم نیست چیزی را دستی نصب کنید.

بعد از زدن دکمهٔ اجاره، وضعیت ماشین چند دقیقه روی حالت آماده‌سازی می‌ماند تا ایمیج دانلود شود. وقتی «در حال اجرا» شد، صفحهٔ ماشین این‌ها را به شما می‌دهد: دستور SSH آماده، فهرست پورت‌های منتشرشده، دستور «تونل امن» و دکمهٔ پنل ماشین که رابط وب را باز می‌کند.

روی «پنل ماشین» بزنید. اولین چیزی که می‌بینید صفحهٔ خوشامد Open WebUI است با گزینهٔ ساخت حساب مدیر. ایمیل و رمز دلخواه بگذارید — این حساب فقط روی همین ماشین ساخته می‌شود و جایی بیرون نمی‌رود. این اولین حساب، مدیر کل سیستم است و بعد از ساختنش ثبت‌نام آزاد خودبه‌خود بسته می‌شود؛ اگر خواستید همکارتان هم وارد شود، از بخش تنظیمات مدیریت دوباره بازش کنید.

دانلود مدل

دو راه دارید. راه گرافیکی: در Open WebUI به Admin Panel → Settings → Models بروید، نام مدل را در فیلد مربوط به دریافت مدل بنویسید و منتظر بمانید تا نوار پیشرفت پر شود.

راه سریع‌تر و قابل اتکاتر، خط فرمان است. با دستور SSH صفحهٔ ماشین وصل شوید و بزنید:

ollama pull qwen3:8b

دانلود روی اینترنت ماشین انجام می‌شود، نه اینترنت شما، و معمولاً یکی دو دقیقه طول می‌کشد. برای دیدن مدل‌های موجود:

ollama list

حالا به تب مرورگر برگردید و صفحه را تازه کنید. مدل در فهرست بالای صفحهٔ چت ظاهر می‌شود. انتخابش کنید و اولین پیام را بفرستید. برای اینکه مطمئن شوید پاسخ واقعاً روی کارت گرافیک تولید می‌شود، همزمان در ترمینال بزنید:

ollama ps

ستون PROCESSOR باید ۱۰۰٪ GPU نشان بدهد. اگر بخشی از آن CPU بود، یعنی مدل در VRAM جا نشده و باید مدل کوچک‌تری بردارید.

پرسش و پاسخ روی فایل‌های خودتان

جذاب‌ترین قابلیت Open WebUI این است که می‌توانید سند بدهید و از محتوایش بپرسید. برای اینکه این بخش درست کار کند، اول یک مدل embedding لازم دارید:

ollama pull bge-m3

حجمش حدود ۱٫۲ گیگابایت است و با زبان فارسی هم خوب کار می‌کند. سپس در Admin Panel → Settings → Documents موتور embedding را روی Ollama بگذارید و همین مدل را انتخاب کنید.

حالا دو راه برای استفاده دارید. برای یک فایل موردی، کافی است آن را مستقیم داخل کادر چت بکشید و رها کنید. برای مجموعه‌ای که بارها لازمش دارید، به Workspace → Knowledge بروید، یک مجموعهٔ تازه بسازید و فایل‌ها را آپلود کنید؛ بعد در هر گفت‌وگو با تایپ علامت # در کادر پیام، آن مجموعه را به چت وصل کنید.

اتصال از برنامهٔ خودتان

Open WebUI یک API سازگار با استاندارد OpenAI هم دارد. از Settings → Account یک کلید API بسازید؛ کلید با sk- شروع می‌شود.

برای تماس امن، اول دستور «تونل امن» را از صفحهٔ ماشین کپی و روی لپ‌تاپ خودتان اجرا کنید. بعد از برقراری تونل، رابط روی همان پورتی که در صفحهٔ ماشین نوشته شده، روی 127.0.0.1 در دسترس است:

curl -X POST http://127.0.0.1:<PORT>/api/chat/completions \
  -H "Authorization: Bearer sk-..." \
  -H "Content-Type: application/json" \
  -d '{"model":"qwen3:8b","messages":[{"role":"user","content":"سلام، خودت را معرفی کن"}]}'

به‌جای <PORT> همان عددی را بگذارید که در فهرست پورت‌های منتشرشده می‌بینید. چون این آدرس فقط از طریق تونل SSH شما در دسترس است، کسی از بیرون به چت‌بات‌تان نمی‌رسد.

اگر به مشکل خوردید

پنل ماشین باز نمی‌شود. چند لحظه صبر کنید؛ سرویس بعد از «در حال اجرا» شدن ماشین هنوز چند ده ثانیه زمان می‌خواهد. اگر باز هم نشد، از دستور تونل امن استفاده کنید و آدرس را روی 127.0.0.1 باز کنید.

مدل در فهرست چت نیست. معمولاً یعنی نام تگ اشتباه بوده. با ollama list ببینید واقعاً چه چیزی دانلود شده و بعد صفحهٔ مرورگر را یک بار تازه کنید.

پاسخ‌ها خیلی کند است. با ollama ps نگاه کنید؛ اگر بخشی روی CPU اجرا می‌شود، مدل برای VRAM این کارت بزرگ است. یا مدل کوچک‌تر بردارید یا کارت بزرگ‌تری اجاره کنید.

دانلود مدل نیمه‌کاره ماند. همان دستور ollama pull را دوباره بزنید؛ از جایی که مانده ادامه می‌دهد.

رمز حساب مدیر را فراموش کرده‌اید. راه بازیابی ساده‌ای ندارد. چون دیسک ماشین با حذف ماشین پاک می‌شود، ساده‌ترین کار ساختن ماشین تازه است.

هزینه و صرفه‌جویی

راه‌اندازی و دانلود مدل ۸ میلیاردی روی یک RTX 3060 حدود ۱۵ دقیقه طول می‌کشد، یعنی حدود ۴ هزار تومان در زمان نوشتن این مطلب. بعد از آن فقط برای مدتی که واقعاً چت می‌کنید پول می‌دهید، چون هزینه دقیقه‌ای از کیف پول کم می‌شود.

سه نکتهٔ مهم: ماشین متوقف‌شده هزینه ندارد، پس بعد از کار حتماً متوقفش کنید. دیسک ماشین با حذف ماشین پاک می‌شود و فضای ذخیره‌سازی دائمی وجود ندارد، بنابراین اگر گفت‌وگو یا سندی برایتان مهم است، قبل از حذف ماشین آن را دانلود کنید. و هر بار که ماشین تازه‌ای می‌سازید، مدل باید دوباره دانلود شود — که خوشبختانه روی اینترنت پرسرعت ماشین چند دقیقه بیشتر نیست.

قدم بعدی

اگر می‌خواهید همین مدل را به‌جای رابط چت، پشت یک API پرظرفیت برای اپلیکیشن خودتان بگذارید، سراغ قالب vLLM بروید. و اگر هنوز مطمئن نیستید کدام کارت برای کارتان مناسب است، انتخاب کارت گرافیک هوش مصنوعی: راهنمای VRAM هر کار را بخوانید.

پرسش‌های متداول

Open WebUI چیست؟

یک رابط چت متن‌باز است که روی سرور خودتان نصب می‌شود و به مدل‌های زبانی باز وصل می‌شود. ظاهرش شبیه چت‌بات‌های تجاری است — تاریخچهٔ گفت‌وگو، چند کاربر، آپلود فایل — با این تفاوت که همه‌چیز روی ماشینی اجرا می‌شود که خودتان اجاره کرده‌اید.

آیا برای راه‌اندازی چت‌بات خصوصی به کارت گرافیک نیاز است؟

برای پاسخ‌های سریع بله. مدل زبانی بدون GPU هم اجرا می‌شود ولی هر پاسخ چندین برابر طول می‌کشد. با اجاره ساعتی کارت گرافیک لازم نیست کارت بخرید؛ فقط برای دقایقی که کار می‌کنید هزینه می‌دهید.

گفت‌وگوهای من کجا ذخیره می‌شوند؟

روی دیسک همان ماشین اجاره‌ای، در پایگاه دادهٔ داخلی Open WebUI. چون این دیسک با حذف ماشین پاک می‌شود، اگر تاریخچه برایتان مهم است قبل از حذف ماشین آن را از خود رابط خروجی بگیرید.

آیا می‌توانم چند نفر را به این چت‌بات اضافه کنم؟

بله. اولین حساب، مدیر است و می‌تواند از تنظیمات مدیریت ثبت‌نام را باز کند یا کاربر جدید بسازد. فقط یادتان باشد ماشین IP ثابت ندارد و دسترسی از طریق پنل ماشین یا تونل SSH انجام می‌شود.

کدام مدل برای فارسی بهتر جواب می‌دهد؟

مدل‌های چندزبانهٔ جدید مثل خانوادهٔ Qwen3 فارسی را قابل قبول می‌فهمند و همان‌ها نقطهٔ شروع خوبی هستند. هرچه مدل بزرگ‌تر باشد، فارسی‌اش بهتر است؛ پس اگر کیفیت فارسی برایتان مهم است، روی کارت ۲۴ گیگابایتی نسخهٔ بزرگ‌تر را امتحان کنید.

تصویر کاور: «3D Tin Can Phones» اثر Chris Potter، از ویکی‌مدیا کامنز، لایسنس CC BY 2.0.