Das Discourse AI Plugin hat viele Funktionen, die ein LLM erfordern, um aktiviert zu werden, wie z.B. Zusammenfassung, KI-Helfer, KI-Suche, KI-Bot. Obwohl Sie eine Drittanbieter-API wie API-Schlüssel für OpenAI konfigurieren oder API-Schlüssel für Anthropic konfigurieren verwenden können, haben wir Discourse AI von Anfang an so entwickelt, dass es nicht an diese gebunden ist.
Ausführung mit HuggingFace TGI
HuggingFace bietet ein großartiges Container-Image, mit dem Sie schnell loslegen können.
Zum Beispiel:
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
Sollte Ihnen eine lokale Instanz von Mistral 7B Instruct auf dem Localhost unter Port 8080 zur Verfügung stellen, die Sie testen können mit
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}}'
Ausführung mit vLLM
Eine weitere Option zum Self-Hosting von LLMs, die Discourse AI unterstützt, ist vLLM, ein sehr beliebtes Projekt unter der Apache License.
Hier erfahren Sie, wie Sie mit einem Modell beginnen:
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
Das Sie testen können mit
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}'
Verfügbarmachung für Ihre Discourse-Instanz
Meistens werden Sie dies aufgrund der GPU-Anforderungen auf einem dedizierten Server ausführen. Wenn Sie dies tun, empfehle ich die Ausführung eines Reverse-Proxys, der TLS-Terminierung durchführt und den Endpunkt sichert, sodass er nur von Ihrer Discourse-Instanz verbunden werden kann.
Konfiguration von DiscourseAI
Discourse AI liefert Site-Einstellungen zur Konfiguration des Inferenzservers für Open-Source-Modelle. Sie sollten ihn über ai_hugging_face_api_url oder ai_vllm_endpoint auf Ihren Server verweisen, je nachdem, welche Inferenzsoftware Sie gewählt haben.
Ändern Sie anschließend jedes Modul, um das von Ihnen ausgeführte Modell in den Modelleinstellungen zu verwenden, wie z.B.
- ai_helper_model
- ai_embeddings_semantic_search_hyde_model
- summarization strategy
- ai_bot_enabled_chat_bots