استضافة ذاتية لنموذج لغة مفتوح المصدر لـ DiscourseAI

يحتوي المكون الإضافي 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
16 إعجابًا