Un RAG minimal comporte deux parcours. L’indexation transforme les documents en fragments puis en embeddings stockés dans Chroma. À la requête, un retriever sélectionne les fragments pertinents et le modèle rédige une réponse à partir de ce contexte.
Préparer les documents
Chargez des documents autorisés, normalisez les métadonnées et découpez le texte avec un chevauchement raisonnable. Conservez l’URL, le titre, la date et les règles d’accès dans chaque fragment. La qualité des métadonnées conditionne le filtrage et les citations.
Créer l’index Chroma
Installez l’intégration Chroma et le fournisseur d’embeddings. Créez la collection avec un nom stable et un répertoire persistant en local. Ne changez pas de modèle d’embedding dans une collection existante sans réindexer les documents.
Interroger via un retriever
Transformez le vector store en retriever, fixez le nombre de résultats et appliquez les filtres d’accès avant la génération. Inspectez les distances et les documents retournés sur plusieurs questions représentatives.
Générer une réponse fondée
Formatez les extraits avec leur source et demandez au modèle de répondre uniquement à partir du contexte. Prévoyez une réponse explicite lorsque le corpus ne suffit pas. Retournez les références avec la réponse afin que l’utilisateur puisse les vérifier.
Passer du prototype à la production
Ajoutez une stratégie d’identifiants, la mise à jour et la suppression des documents, des sauvegardes, des métriques de retrieval et des tests de sécurité. Un index local est pratique pour apprendre, mais son exploitation doit être pensée selon le volume et la disponibilité attendue.
Checklist avant mise en production
- Valider les entrées, les sorties et les permissions des outils.
- Tester les erreurs du fournisseur, les délais d’attente et les limites de coût.
- Ajouter des traces sans enregistrer de secrets ni de données personnelles inutiles.
- Mesurer la qualité sur un jeu de cas représentatifs avant chaque évolution.
Questions fréquentes
ChromaDB suffit-il pour tous les volumes ?
Non. Le choix dépend du volume, de la concurrence, de la persistance, des sauvegardes et de l’exploitation. Validez ces contraintes avant la production.
Faut-il réindexer après avoir changé d’embeddings ?
Oui. Des vecteurs issus de modèles différents ne doivent pas être mélangés dans le même espace de recherche.