استضافة روبوت محادثة يعمل بالذكاء الاصطناعي مع Olama وOpen WebUI

0 الأسهم
0
0
0
0

مقدمة

يشرح هذا البرنامج التعليمي كيفية تثبيت Ollama لتشغيل نماذج اللغة على خادم يعمل بنظامي Ubuntu أو Debian. كما يوضح كيفية إعداد واجهة دردشة باستخدام Open WebUI وكيفية استخدام نموذج لغة مخصص.

المتطلبات الأساسية
  • خادم مع Ubuntu/Debian
  • تحتاج إلى وصول المستخدم الجذر أو مستخدم لديه أذونات sudo.
  • قبل أن تبدأ، يتعين عليك إكمال بعض الإعدادات الأولية، بما في ذلك جدار الحماية.

الخطوة 1 – تثبيت Ollama

تشرح الخطوات التالية كيفية تثبيت Ollama يدويًا. للبدء السريع، يمكنك استخدام نص التثبيت ثم المتابعة إلى "الخطوة 2 - تثبيت واجهة مستخدم Ollama على الويب".

لتثبيت Ollama بنفسك، اتبع الخطوات التالية:

إذا كان الخادم الخاص بك يحتوي على وحدة معالجة رسومية من نوع Nvidia، فتأكد من تثبيت برامج تشغيل CUDA.

nvidia-smi

إذا لم تكن برامج تشغيل CUDA مثبتة لديك، فقم بذلك الآن. في هذا التكوين، يمكنك تحديد نظام التشغيل ونوع المثبت لعرض الأوامر التي تحتاجها لتشغيلها باستخدام إعداداتك.

sudo apt update
sudo apt install -y nvidia-kernel-open-545
sudo apt install -y cuda-drivers-545

تنزيل ملف Ollama الثنائي وإنشاء مستخدم Ollama

sudo curl -L https://ollama.ai/download/ollama-linux-amd64 -o /usr/bin/ollama
sudo chmod +x /usr/bin/ollama
sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama

أنشئ ملف خدمة. افتراضيًا، يمكنك الوصول إلى واجهة برمجة تطبيقات Ollama على المنفذ 11434 127.0.0.1. هذا يعني أن واجهة برمجة التطبيقات متاحة فقط لجهاز localhost.

إذا كنت بحاجة إلى الوصول الخارجي إلى Ollama، يمكنك بيئة قم بإزالة عنوان IP وتعيينه للوصول إلى واجهة برمجة تطبيقات Ollama. 0.0.0.0 يسمح لك بالوصول إلى واجهة برمجة التطبيقات عبر عنوان IP العام للخادم. إذا كنت تستخدم بيئة إذا كنت تستخدم ، فتأكد من أن جدار حماية الخادم الخاص بك يسمح بالوصول إلى المنفذ الذي قمت بتكوينه هنا. 11434 إذا كان لديك خادم واحد فقط، فلن تحتاج إلى تغيير الأمر أدناه.

انسخ والصق محتوى كتلة التعليمات البرمجية التالية بالكامل. هذا الملف الجديد /etc/systemd/system/ollama.service إنشاء المحتوى المتبادل نهاية الصندوق يضاف إلى الملف الجديد.

sudo bash -c 'cat <<'EOF' >> /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
#Environment="OLLAMA_HOST=0.0.0.0:11434"
[Install]
WantedBy=default.target
EOF'

قم بإعادة تحميل برنامج systemd daemon وقم بتمكين خدمة Ollama.

sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl start ollama

استخدم systemctl status olama للتحقق من الحالة. إذا لم يكن Olama قيد التشغيل، فتأكد من تشغيل systemctl start olama.

في المحطة الطرفية، يمكنك الآن تشغيل نماذج اللغة وطرح الأسئلة. على سبيل المثال:

ollama run llama2

الخطوة التالية توضح كيفية تثبيت واجهة الويب حتى تتمكن من طرح أسئلتك في واجهة جميلة عبر متصفح الويب.

الخطوة 2 – تثبيت Open WebUI

في وثائق Olama على GitHub، يمكنك العثور على قائمة بمختلف تكاملات الويب والطرفية. يشرح هذا المثال كيفية تثبيت Open WebUI.

يمكنك تثبيت Open WebUI على نفس خادم Ollama، أو تثبيت Ollama وOpen WebUI على خادمين منفصلين. إذا ثبّت Open WebUI على خادم منفصل، فتأكد من عرض واجهة برمجة تطبيقات Ollama على شبكتك. للتحقق، /etc/systemd/system/olama.service عرض الخادم الذي تم تثبيت Ollama عليه والقيمة OLLAMA_HOST يتأكد.

تشرح الخطوات التالية كيفية تثبيت الواجهة:

  • يدويا
  • مع Docker
تثبيت Open WebUI يدويًا

قم بتثبيت npm وpip، واستنسخ مستودع WebUI، وقم بإنشاء نسخة من ملف بيئة المثال:

sudo apt update && sudo apt install npm python3-pip git -y
git clone https://github.com/ollama-webui/ollama-webui.git
cd ollama-webui
cp -RPp example.env .env

في بيئة. تم تعيين عنوان الاتصال بـ API Ollama على الافتراضي. المضيف المحلي: 11434 تم ضبطه. إذا ثبّتت واجهة برمجة تطبيقات Ollama على نفس الخادم الذي تستخدمه واجهة Open WebUI، يمكنك ترك هذه الإعدادات كما هي. أما إذا ثبّتت واجهة Open WebUI على خادم منفصل عن واجهة Ollama API، بيئة. قم بتعديل واستبدال القيمة الافتراضية بعنوان الخادم الذي تم تثبيت Olama عليه.

التبعيات المدرجة في الحزمة.json قم بتثبيت وتشغيل البرنامج النصي المسمى يبني يجري:

npm i && npm run build

قم بتثبيت حزم Python المطلوبة:

cd backend
sudo pip install -r requirements.txt -U

واجهة الويب مع olama-webui/backend/start.sh يبدأ.

sh start.sh

في start.shتم تعيين المنفذ على 8080. وهذا يعني أنه يمكنك الوصول إلى Open WebUI في http:// :8080 الوصول. إذا كان لديك جدار حماية نشط على خادمك، فسيتعين عليك السماح بالمنفذ قبل الوصول إلى واجهة مستخدم الدردشة. للقيام بذلك، يمكنك الآن الانتقال إلى "الخطوة 3 - السماح بالمنافذ لواجهة مستخدم الويب". إذا لم يكن لديك جدار حماية، وهو أمر غير مستحسن، يمكنك الآن الانتقال إلى "الخطوة 4 - إضافة النماذج".

تثبيت Open WebUI مع Docker

لهذه الخطوة، عليك تثبيت Docker. إذا لم تقم بتثبيت Docker بعد، يمكنك القيام بذلك الآن باستخدام هذا الدليل.

كما ذكرنا سابقًا، يمكنك اختيار تثبيت Open WebUI على نفس الخادم مثل Ollama أو تثبيت Ollama وOpen WebUI على خادمين منفصلين.

تثبيت Open WebUI على نفس خادم Ollama

sudo 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

تثبيت Open WebUI على خادم مختلف عن Ollama

sudo docker run -d -p 3000:8080 -e OLLAMA_API_BASE_URL=http://<ip-adress>:11434/api -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

في أمر Docker أعلاه، تم تعيين المنفذ على 3000. وهذا يعني أنه يمكنك الوصول إلى Open WebUI على http:// :3000 الوصول. إذا كان لديك جدار حماية نشط على خادمك، فسيتعين عليك تفعيل المنفذ قبل الوصول إلى واجهة الدردشة. سيتم شرح ذلك في الخطوة التالية.

الخطوة 3 - السماح بالمنفذ إلى واجهة المستخدم على الويب

إذا كان لديك جدار حماية، فتأكد من أنه يسمح بالوصول إلى منفذ Open WebUI. إذا ثبّته يدويًا، فستحتاج إلى فتح المنفذ. 8080 TCP إذا قمت بتثبيته باستخدام Docker، فأنت بحاجة إلى السماح بالمنفذ 3000 TCP دعني.

للتحقق مرة أخرى، يمكنك استخدام نتستات استخدم وشاهد المنافذ التي يتم استخدامها.

holu@<your-server>:~$ netstat -tulpn | grep LISTEN
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:11434 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN

هناك عدة أدوات جدار حماية مختلفة. سيُهيئ هذا البرنامج التعليمي أداة جدار الحماية الافتراضية لأوبونتو. عمال المناجم غير المتعاقدين إذا كنت تستخدم جدار حماية آخر، فتأكد من أنه يسمح بحركة المرور الواردة إلى منفذ TCP 8080 أو 3000.

إدارة قواعد جدار الحماية عمال المناجم غير المتعاقدين:

  • عرض إعدادات جدار الحماية الحالية

للتحقق مما إذا كان جدار الحماية عمال المناجم غير المتعاقدين إذا كنت نشطًا ولديك أي قواعد بالفعل، فيمكنك استخدام ما يلي:

sudo ufw status
  • السماح بمنفذ TCP 8080 أو 3000

إذا تم تمكين جدار الحماية، قم بتشغيل هذا الأمر للسماح بحركة المرور الواردة إلى منفذ TCP 8080 أو 3000:

sudo ufw allow proto tcp to any port 8080
  • عرض إعدادات جدار الحماية الجديدة

يجب الآن إضافة قواعد جديدة. للتحقق، انتقل إلى:

sudo ufw status

الخطوة 4 - إضافة النماذج

بعد الوصول إلى واجهة الويب، عليك إنشاء حسابك الأول. سيتمتع هذا المستخدم بصلاحيات إدارية. لبدء محادثتك الأولى، عليك اختيار عارضة أزياء. يمكنك تصفح قائمة العارضات على موقع لاما الرسمي. في هذا المثال، سنضيف "llama2".

في الزاوية اليمنى العليا، حدد رمز الإعدادات.


انتقل إلى "النماذج"، وأدخل نموذجًا وحدد زر التنزيل.


انتظر ظهور هذه الرسالة:

Model 'llama2' has been successfully downloaded.

أغلق الإعدادات للعودة إلى الدردشة.

في الدردشة، انقر فوق "تحديد النموذج" في الأعلى وأضف النموذج الخاص بك.


إذا كنت تريد إضافة نماذج متعددة، فيمكنك استخدام علامة + في الأعلى.


بعد إضافة النماذج التي ترغب باستخدامها، يمكنك البدء بطرح أسئلتك. إذا أضفت نماذج متعددة، يمكنك التبديل بين الإجابات.


الخطوة 5 - أضف نموذجك

إذا كنت تريد إضافة نماذج جديدة من خلال الواجهة، يمكنك القيام بذلك عبر http:// :8080/ملفات النماذج/إنشاء/ افعل ذلك. إذا لزم الأمر. 8080 مع 3000 يستبدل.

سيركز ما يلي على إضافة نموذج جديد عبر الطرفية. أولاً، عليك الاتصال بالخادم المُثبّت عليه olama. من القائمة عالم استخدم لإدراج النماذج المتوفرة حتى الآن.

  • إنشاء ملف نموذجي

يمكنك العثور على متطلبات ملف النموذج في وثائق Olama على GitHub. في السطر الأول من ملف النموذج، تجد: يمكنك تحديد النموذج الذي ترغب في استخدامه. في هذا المثال، سنُعدِّل نموذج llama2 الحالي. لإضافة نموذج جديد كليًا، يجب تحديد مسار ملف النموذج (على سبيل المثال، FROM ./my-model.gguf).

nano new-model

احفظ هذا المحتوى:

FROM llama2
# The higher the number, the more creative are the answers
PARAMETER temperature 1
# If set to "0", the model will not consider any previous context or conversation history when generating responses. Each input is treated independently.
# If you set a high number such as "4096", the model will consider previous context or conversation history when generating responses. "4096" is the number of tokens that will be considered.
PARAMETER num_ctx 4096
# Set what "personality" the chat assistant should have in the responses. You can set "who" the chat assistant should respond as and in which style.
SYSTEM You are a moody lama that only talks about its own fluffy wool.

إنشاء نموذج من ملف النموذج

ollama create moody-lama -f ./new-model
  • تحقق مما إذا كان النموذج الجديد متاحًا.

استخدم أمر olama لعرض جميع النماذج. يجب أيضًا عرض Moody-lama.

ollama list
  • استخدم نموذجك في WebUI

عند العودة إلى واجهة الويب، من المفترض أن يظهر النموذج الآن في قائمة اختيار النماذج. إذا لم يظهر بعد، فقد تحتاج إلى تحديث سريع.

نتيجة

في هذا البرنامج التعليمي، تعلمت كيفية استضافة محادثة الذكاء الاصطناعي على خادمك الخاص وكيفية إضافة نماذجك الخاصة.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

قد يعجبك أيضاً