Le plugin Discourse AI possède de nombreuses fonctionnalités qui nécessitent des intégrations (embeddings) pour fonctionner, telles que Sujets similaires, Recherche IA, Aide IA, Suggestion de catégories et de tags, etc. Bien que vous puissiez utiliser une API tierce, comme Configurer les clés API pour OpenAI, Configurer les clés API pour Cloudflare Workers AI ou Configurer les clés API pour Google Gemini, nous avons conçu Discourse AI dès le premier jour pour ne pas être lié à ceux-ci.
Exécuter avec HuggingFace TEI
HuggingFace fournit une image de conteneur impressionnante qui vous permet de démarrer rapidement.
Par exemple :
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
Ceci devrait vous permettre de démarrer avec une instance locale de BAAI/bge-large-en-v1.5, un modèle open-source très performant.
Vous pouvez vérifier si cela fonctionne avec
curl -X POST \
'http://localhost:8081/embed' \
-H 'Content-Type: application/json' \
-d '{ "inputs": "Testing string for embeddings" }'
Ce qui devrait retourner un tableau de flottants en fonctionnement normal.
Le rendre disponible pour votre instance Discourse
La plupart du temps, vous l’exécuterez sur un serveur dédié en raison de l’accélération par GPU. Lorsque vous le faites, je vous recommande d’exécuter un proxy inverse, d’effectuer la terminaison TLS et de sécuriser le point de terminaison afin qu’il ne puisse être connecté que par votre instance Discourse.
Configuration de DiscourseAI
Discourse AI utilise désormais un système de définition d’intégration entièrement configurable, similaire à la façon dont les LLM sont configurés. Pour configurer votre point de terminaison auto-hébergé :
- Naviguez vers Admin → Plugins → Discourse AI → Embeddings.
- Cliquez sur New pour créer une nouvelle définition d’intégration.
- Sélectionnez un preset qui correspond à votre modèle (par exemple,
bge-large-en,bge-m3, oumultilingual-e5-large), ou choisissez Configure manually pour tout autre modèle. - Définissez l’URL pour pointer vers votre serveur TEI auto-hébergé (par exemple,
https://your-tei-server:8081). - Utilisez le bouton Test pour vérifier la connectivité avant d’enregistrer.
- Après l’enregistrement, définissez
ai_embeddings_selected_modelsur votre nouvelle définition d’intégration.
Une fois configuré, Discourse remplira automatiquement les intégrations pour les sujets existants via une tâche de fond planifiée. Si vous avez un grand nombre de sujets en attente, vous pouvez augmenter le paramètre masqué ai_embeddings_backfill_batch_size (par défaut : 250) pour traiter les sujets plus rapidement.