يمتلك ملحق Discourse AI العديد من الميزات التي تتطلب تفعيل نموذج لغوي كبير (LLM)، مثل، على سبيل المثال، التلخيص (Summarization)، ومساعد الذكاء الاصطناعي (AI Helper)، والبحث بالذكاء الاصطناعي (AI Search)، وروبوت الدردشة بالذكاء الاصطناعي (AI Bot). في حين أنه يمكنك استخدام واجهة برمجة تطبيقات تابعة لجهة خارجية، مثل تكوين مفاتيح API لـ OpenAI أو تكوين مفاتيح API لـ Anthropic، فقد بنينا Discourse AI منذ اليوم الأول لكي لا نتقيد بتلك الخيارات.
التشغيل باستخدام HuggingFace TGI
توفر HuggingFace صورة حاوية رائعة يمكن أن تتيح لك التشغيل بسرعة.
على سبيل المثال:
mkdir -p /opt/tgi-cache
docker run --rm --gpus all --shm-size 1g -p 8080:80 \
-v /opt/tgi-cache:/data \
ghcr.io/huggingface/text-generation-inference:latest \
--model-id mistralai/Mistral-7B-Instruct-v0.2
يجب أن يتيح لك هذا البدء بتشغيل نسخة محلية من Mistral 7B Instruct على المضيف المحلي (localhost) عند المنفذ 8080، والتي يمكن اختبارها باستخدام
curl http://localhost:8080/ \
-X POST \
-H 'Content-Type: application/json' \
-d '{"inputs":"<s>[INST] What is your favourite condiment? [/INST] Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!</s > [INST] Do you have mayonnaise recipes? [/INST]","parameters":{"max_new_tokens":500, "temperature":0.5,"top_p": 0.9}}'
التشغيل باستخدام vLLM
خيار آخر للاستضافة الذاتية للنماذج اللغوية الكبيرة التي يدعمها Discourse AI هو vLLM، وهو مشروع شائع جدًا، مرخص بموجب ترخيص أباتشي (Apache License).
إليك كيفية البدء بنموذج:
mkdir -p /opt/vllm-cache
docker run --gpus all \
-v /opt/vllm-cache:/root/.cache/huggingface \
-e "MODEL=mistralai/Mistral-7B-Instruct-v0.2" \
-p 8080:8000 --ipc=host vllm/vllm-openai:latest
والذي يمكنك اختباره باستخدام
curl -X POST http://localhost:8080/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "mistralai/Mistral-7B-Instruct-v0.2",
"prompt": "<s> [INST] What was the latest released hero for Dota 2? [/INST] The latest released hero for Dota 2 was", "max_tokens": 200}'
التشغيل باستخدام Ollama
Ollama هو خيار شائع آخر لتشغيل النماذج مفتوحة المصدر محليًا. إنه يبسط إدارة النماذج ويوفر واجهة برمجة تطبيقات متوافقة مع OpenAI.
ollama pull mistral
ollama serve
يبدأ هذا خادمًا محليًا عند http://localhost:11434 يمكن لـ Discourse AI الاتصال به باستخدام موفر Ollama.
جعلها متاحة لتثبيت Discourse الخاص بك
في معظم الحالات، ستقوم بتشغيل هذا على خادم مخصص بسبب متطلبات وحدة معالجة الرسومات (GPU). عند القيام بذلك، أوصي بتشغيل وكيل عكسي (reverse proxy)، وتنفيذ إنهاء TLS (TLS termination)، وتأمين نقطة النهاية بحيث يمكن فقط لتثبيت Discourse الخاص بك الاتصال بها.
تكوين Discourse AI
يتم الآن تكوين اتصالات النموذج اللغوي الكبير (LLM) من خلال واجهة مسؤول (admin UI) بدلاً من إعدادات الموقع (site settings). انتقل إلى /admin/plugins/discourse-ai/ai-llms وأضف نموذج لغوي كبير جديد:
- انقر على جديد (New) لإضافة نموذج.
- حدد الموفر (Provider) — اختر vLLM أو Hugging Face أو Ollama اعتمادًا على خادم الاستدلال (inference server) الخاص بك.
- أدخل عنوان URL (URL) لنقطة نهاية الاستدلال الخاصة بك (على سبيل المثال
http://your-server:8080). - أدخل مفتاح API (API key) إذا كانت نقطة النهاية الخاصة بك تتطلب ذلك.
- املأ اسم النموذج (model name) و المُرمِّز (tokenizer) و الحد الأقصى لرموز الإدخال (max prompt tokens) وتفاصيل النموذج الأخرى.
بمجرد إضافة النموذج اللغوي الكبير الخاص بك، قم بتعيينه كافتراضي عبر إعداد الموقع ai_default_llm_model، أو قم بتعيينه لميزات محددة من خلال تكوين الوكيل الخاص به في /admin/plugins/discourse-ai/ai-features.