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

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

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

وقت القراءة: 14 دقيقة الذكاء الاصطناعي على خادمك
open-webuichatgptذكاء اصطناعيollamaself-hostingdockerrag

جدول المحتويات

تثبيت 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. بياناتك تبقى تحت سيطرتك الكاملة.