Das Plugin Discourse AI verfügt über viele Funktionen, die Einbettungen (Embeddings) benötigen, wie z. B. Ähnliche Themen, KI-Suche, KI-Assistenten-Kategorie- und Tag-Vorschläge usw. Obwohl Sie eine Drittanbieter-API verwenden können, wie z. B. API-Schlüssel für OpenAI konfigurieren, API-Schlüssel für Cloudflare Workers AI konfigurieren oder API-Schlüssel für Google Gemini konfigurieren, haben wir Discourse AI von Anfang an so entwickelt, dass es nicht davon abhängig ist.
Ausführung mit HuggingFace TEI
HuggingFace bietet ein hervorragendes Container-Image, mit dem Sie schnell starten können.
Zum Beispiel:
mkdir -p /opt/tei-cache
docker run --rm --gpus all --shm-size 1g -p 8081:80 \
-v /opt/tei-cache:/data \
ghcr.io/huggingface/text-embeddings-inference:latest \
--model-id BAAI/bge-large-en-v1.5
Dies sollte Sie mit einer lokalen Instanz von BAAI/bge-large-en-v1.5, einem sehr gut funktionierenden Open-Source-Modell, zum Laufen bringen.
Sie können überprüfen, ob es funktioniert mit
curl -X POST \
'http://localhost:8081/embed' \
-H 'Content-Type: application/json' \
-d '{ "inputs": "Testing string for embeddings" }'
was unter normalen Betriebsbedingungen ein Array von Gleitkommazahlen zurückgeben sollte.
Verfügbarmachung für Ihre Discourse-Instanz
Meistens werden Sie dies aufgrund der GPU-Beschleunigung 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 absichert, sodass er nur von Ihrer Discourse-Instanz verbunden werden kann.
Konfigurieren von DiscourseAI
Discourse AI verwendet nun ein vollständig konfigurierbares Embedding-Definitionssystem, ähnlich der Konfiguration von LLMs. Um Ihren selbst gehosteten Endpunkt einzurichten:
- Navigieren Sie zu Admin → Plugins → Discourse AI → Embeddings.
- Klicken Sie auf Neu, um eine neue Embedding-Definition zu erstellen.
- Wählen Sie ein Preset aus, das zu Ihrem Modell passt (z. B.
bge-large-en,bge-m3odermultilingual-e5-large), oder wählen Sie Manuell konfigurieren für jedes andere Modell. - Setzen Sie die URL auf Ihren selbst gehosteten TEI-Server (z. B.
https://ihr-tei-server:8081). - Verwenden Sie die Schaltfläche Test, um die Konnektivität zu überprüfen, bevor Sie speichern.
- Setzen Sie nach dem Speichern
ai_embeddings_selected_modelauf Ihre neue Embedding-Definition.
Nach der Konfiguration füllt Discourse automatisch Einbettungen für vorhandene Themen über einen geplanten Hintergrundjob auf. Wenn Sie einen großen Rückstand haben, können Sie die versteckte Einstellung ai_embeddings_backfill_batch_size (Standard: 250) erhöhen, um Themen schneller zu verarbeiten.