يحتوي المكون الإضافي Discourse AI على العديد من الميزات التي تتطلب تمكين نموذج لغوي كبير (LLM)، مثل، على سبيل المثال، التلخيص، والمساعد الذكي، والبحث الذكي، والروبوت الذكي. بينما يمكنك استخدام واجهة برمجة تطبيقات لطرف ثالث، مثل تكوين مفاتيح API لـ OpenAI أو تكوين مفاتيح API لـ Anthropic، فقد قمنا ببناء Discourse AI منذ اليوم الأول لعدم الارتباط بها.
التشغيل باستخدام HuggingFace TGI
توفر HuggingFace صورة حاوية رائعة يمكن أن تجعلك تعمل بسرعة.
على سبيل المثال:
mkd ir -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
خيار آخر لاستضافة نماذج LLM بنفسك يدعمها Discourse AI هو vLLM، وهو مشروع شائع جدًا، مرخص بموجب ترخيص Apache.
إليك كيفية البدء بنموذج:
mkd ir -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}'
جعله متاحًا لمثيل Discourse الخاص بك
في معظم الأوقات، ستقوم بتشغيل هذا على خادم مخصص بسبب متطلبات وحدة معالجة الرسومات (GPU). عند القيام بذلك، أوصي بتشغيل وكيل عكسي، وإجراء إنهاء TLS، وتأمين نقطة النهاية بحيث لا يمكن الاتصال بها إلا بواسطة مثيل Discourse الخاص بك.
تكوين DiscourseAI
يشحن Discourse AI إعدادات الموقع لتكوين خادم الاستدلال للنماذج مفتوحة المصدر. يجب عليك توجيهه إلى الخادم الخاص بك باستخدام ai_hugging_face_api_url أو ai_vllm_endpoint وفقًا لبرنامج الاستدلال الذي اخترته.
بعد ذلك، قم بتغيير كل وحدة لاستخدام النموذج الذي تقوم بتشغيله، في إعدادات اختيار النموذج، مثل
- ai_helper_model
- ai_embeddings_semantic_search_hyde_model
- استراتيجية التلخيص
- ai_bot_enabled_chat_bots