RAGFlow propose un pipeline complet depuis le document jusqu’au chatbot. L’auto-hébergement officiel vise une machine x86 avec au moins 4 cœurs, 16 Go de RAM, 50 Go de disque, Docker 24 et Docker Compose 2.26.1.
Démarrer le service
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
cp .env.example .env
docker compose -f docker-compose.yml up -dUtilisez une version publiée plutôt que l’image nightly en production. Vérifiez les journaux et attendez que les services de stockage, de recherche et l’application soient prêts. Ne rendez pas l’interface accessible sur Internet sans authentification, TLS et filtrage réseau.
Configurer les modèles
Dans l’administration RAGFlow, configurez séparément le modèle de génération, le modèle d’embeddings et, si nécessaire, un reranker. Stockez les clés comme secrets. Le modèle d’embeddings utilisé lors de l’indexation doit rester identique lors des requêtes.
Créer un dataset
Créez une base de connaissances dédiée à un domaine cohérent. Sélectionnez la méthode d’analyse adaptée aux fichiers : un contrat, un tableau et une documentation technique n’ont pas la même structure. Importez d’abord quelques documents représentatifs plutôt qu’un corpus entier.
Vérifier le découpage
Lancez l’analyse puis inspectez les chunks. Vérifiez les titres, tableaux, métadonnées et limites de section. Des chunks trop grands diluent l’information ; des chunks trop petits perdent le contexte. Ajustez séparateurs, taille et chevauchement à partir de questions réelles.
Tester la récupération
Utilisez le test de retrieval du dataset avant de créer le chatbot. Pour chaque question, vérifiez que les passages attendus figurent parmi les premiers résultats. Réglez seuil de similarité, nombre de chunks et reranking avec un petit jeu d’évaluation.
Construire l’assistant
Reliez ensuite le dataset à un chat et imposez une consigne : répondre depuis les sources, citer les documents et reconnaître l’absence d’information. Contrôlez les permissions avant la récupération ; une citation ne corrige pas une fuite d’accès.
Enfin, mesurez séparément qualité d’analyse, rappel de retrieval et fidélité de génération. Cette séparation permet de corriger le bon étage du pipeline.