انتقل إلى المحتوى الرئيسي
العودة إلى الفئة

تثبيت Open WebUI: ذكاء اصطناعي محلي بواجهة شبيهة بـ ChatGPT

تثبيت Open WebUI عبر Docker، التكامل مع Ollama، إدارة المستخدمين، RAG (استعلام المستندات)، إدارة النماذج ودعم المستخدمين المتعددين.

وقت القراءة: 14 دقيقة الذكاء الاصطناعي على خادمك
open-webuichatgptذكاء اصطناعيollamaself-hostingdockerrag
الكاتب
REXE Teknoloji Network & Security Team
المحرر
REXE Teknoloji Technical Editorial
أول نشر
آخر تحديث

تثبيت Open WebUI: ذكاء اصطناعي محلي بواجهة شبيهة بـ ChatGPT

Open WebUI (المعروف سابقاً بـ Ollama WebUI) هو مشروع مفتوح المصدر يوفر واجهة ويب حديثة شبيهة بـ ChatGPT لنماذج LLM المحلية. يتكامل مع Ollama للتحدث مع نماذج الذكاء الاصطناعي عبر المتصفح، وتحميل المستندات، والاستعلام عنها باستخدام RAG.

ما هو Open WebUI؟

Open WebUI هو واجهة ويب شاملة لتجربة الذكاء الاصطناعي المستضاف ذاتياً. الميزات الرئيسية:

  • واجهة شبيهة بـ ChatGPT: تجربة محادثة حديثة وسهلة الاستخدام
  • تكامل Ollama: اتصال مباشر بنماذج LLM المحلية
  • خط أنابيب RAG: تحميل المستندات والاستعلام القائم على المستندات
  • تعدد المستخدمين: إدارة المستخدمين والوصول القائم على الأدوار
  • إدارة النماذج: تنزيل وحذف وتكوين النماذج من الواجهة
  • قوالب مخصصة: قوالب system prompt ومشاركتها
  • سجل المحادثات: تسجيل والبحث في جميع المحادثات

متطلبات النظام

المكونالحد الأدنىالموصى به
RAM4 جيجابايت (للواجهة)8 جيجابايت+
القرص5 جيجابايت10 جيجابايت+
Docker20.10+أحدث إصدار
Ollamaمثبت وقيد التشغيلعلى نفس الخادم أو الشبكة

التثبيت عبر Docker

Ollama على نفس الخادم

hljs bash
docker run -d \
  --name open-webui \
  -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
  -v open-webui:/app/backend/data \
  --restart unless-stopped \
  ghcr.io/open-webui/open-webui:main

Ollama معاً (حاوية واحدة)

hljs bash
docker run -d \
  --name open-webui \
  -p 3000:8080 \
  --gpus all \
  -v ollama:/root/.ollama \
  -v open-webui:/app/backend/data \
  --restart unless-stopped \
  ghcr.io/open-webui/open-webui:ollama

Docker Compose (الموصى به)

hljs yaml
version: '3.8'
services:
  ollama:
    image: ollama/ollama
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - ollama_data:/root/.ollama
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    restart: unless-stopped

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    ports:
      - "3000:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
      - WEBUI_SECRET_KEY=strong-secret-key-here
      - ENABLE_SIGNUP=true
      - DEFAULT_USER_ROLE=pending
    volumes:
      - open-webui_data:/app/backend/data
    depends_on:
      - ollama
    restart: unless-stopped

volumes:
  ollama_data:
  open-webui_data:

التشغيل:

hljs bash
docker compose up -d

الإعداد الأولي

افتح في المتصفح http://IP_الخادم:3000.

إنشاء حساب المسؤول

أول مستخدم يسجل يصبح مسؤولاً تلقائياً:

  1. انقر على Sign Up
  2. أدخل الاسم والبريد الإلكتروني وكلمة المرور
  3. المستخدم الأول يحصل على دور المسؤول

أنشئ المستخدم الأول فوراً. وإلا قد يصبح شخص آخر مسؤولاً. بعد التسجيل، اضبط ENABLE_SIGNUP=false لإغلاق التسجيل.

إدارة النماذج

تنزيل النماذج من الواجهة

  1. Admin PanelSettingsModels
  2. أدخل اسم النموذج (مثال: llama3.1)
  3. انقر Pull

تنزيل النماذج من سطر الأوامر

hljs bash
docker exec -it ollama ollama pull llama3.1
docker exec -it ollama ollama pull mistral
docker exec -it ollama ollama pull codellama

RAG (التوليد المعزز بالاسترجاع)

تحميل المستندات

  1. في نافذة المحادثة انقر +
  2. حمّل ملف PDF أو TXT أو DOCX أو MD
  3. يتم تقسيم المستند تلقائياً وإنشاء التضمينات
  4. اطرح أسئلة بالإشارة إلى المستند في المحادثة

إعداد نموذج التضمين

hljs bash
docker exec -it ollama ollama pull nomic-embed-text

إدارة المستخدمين

الأدوار

  • Admin: صلاحيات كاملة (الإعدادات، المستخدمون، النماذج)
  • User: المحادثة وتحميل المستندات
  • Pending: مستخدم في انتظار الموافقة

Nginx Reverse Proxy

hljs nginx
server {
    listen 443 ssl http2;
    server_name ai.example.com;

    ssl_certificate /etc/letsencrypt/live/ai.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/ai.example.com/privkey.pem;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    client_max_body_size 100M;
}

التحديث

hljs bash
docker compose pull
docker compose up -d

استكشاف الأخطاء

hljs bash
docker logs open-webui
docker exec open-webui curl -s http://ollama:11434/api/tags
docker ps | grep -E 'open-webui|ollama'

قم بتثبيت بديل ChatGPT الخاص بك مع Open WebUI على خوادم REXE VPS. بياناتك تبقى تحت سيطرتك الكاملة.

الأسئلة الشائعة

هل يمكن استخدام Open WebUI بدون Ollama؟

نعم، يمكن لـ Open WebUI الاتصال بأي API متوافق مع OpenAI. يمكنك استخدامه مع vLLM أو LocalAI أو حتى مع OpenAI API بتحديد عنوان URL والمفتاح المناسبين.

كيف يتم إعداد RAG للعمل مع المستندات؟

قم بتنزيل نموذج التضمين (nomic-embed-text) عبر Ollama، ثم في إعدادات Documents اضبط معلمات Chunk Size و Top K. بعد ذلك حمّل المستندات عبر واجهة المحادثة.

هل من الآمن فتح Open WebUI على الإنترنت؟

يُنصح باستخدام Nginx reverse proxy مع شهادة SSL. قم بتعطيل التسجيل (ENABLE_SIGNUP=false) بعد إنشاء الحسابات المطلوبة. استخدم WEBUI_SECRET_KEY قوياً.

كم عدد المستخدمين الذين يمكنهم العمل في وقت واحد؟

يدعم Open WebUI عدداً غير محدود من المستخدمين. القيد هو أداء الخادم ونموذج Ollama. كل طلب للنموذج يُعالج بالتتابع ما لم يتم تكوين التوازي.

كيف يتم عمل نسخة احتياطية من البيانات؟

جميع البيانات مخزنة في Docker volume open-webui_data. للنسخ الاحتياطي استخدم docker cp أو أنشئ نسخة احتياطية من volume. سجل المحادثات والإعدادات والمستندات المحملة محفوظة في هذا volume.

مقالات ذات صلة

حركة الشبكةالداخل Gbpsالخارج Gbps