Archives du blog

Construire un Chatbot qui Répond sur vos Documents : Guide Complet avec RAGFlow

Vous voulez un chatbot qui répond sur vos documents internes, avec précision et sans hallucination ? RAGFlow est la solution la plus rapide pour y parvenir. Ce guide pas à pas vous accompagne de l'installation au déploiement d'un chatbot RAG opérationnel.

Pourquoi RAGFlow pour un chatbot sur documents ?

Avant de commencer, comprenons pourquoi RAGFlow est un excellent choix pour ce cas d'usage. Pour une comparaison avec d'autres frameworks, consultez RAGFlow vs LlamaIndex.

Avantage RAGFlowDescription
Interface complèteGestion des documents, du RAG et du chat dans une seule UI
Parsing avancéGestion native des PDF complexes, tableaux et images
Chunking intelligent6 méthodes de découpage adaptées aux types de documents
Zero codePas besoin de programmer pour créer le chatbot
Déploiement DockerInstallation en une commande
Multi-utilisateursAuthentification et gestion des accès intégrées

Étape 1 : Installation de RAGFlow

Prérequis

  • Docker et Docker Compose installés
  • 16 Go de RAM minimum (32 Go recommandé)
  • 50 Go d'espace disque
  • Une clé API OpenAI ou un modèle Ollama local

Pour les modèles locaux, consultez Ollama : Comment Faire Tourner un LLM en Local.

Installation via Docker

# Cloner le repository
git clone https://github.com/infiniflow/ragflow.git
cd ragflow

# Lancer les services
docker compose -f docker-compose.yml up -d

# Vérifier que les services sont actifs
docker compose ps

Accès à l'interface

  1. Ouvrez http://localhost dans votre navigateur
  2. Créez votre compte administrateur
  3. Vous accédez au dashboard principal

Dépannage de l'installation

ProblèmeSolution
Port 80 occupéChangez le port dans docker-compose.yml
Elasticsearch ne démarre pasVérifiez vm.max_map_count : sudo sysctl -w vm.max_map_count=262144
OOM (Out of Memory)Augmentez la RAM allouée à Docker (16 Go min)
Lenteur au démarrageNormal, attendez 2-3 minutes pour l'initialisation

Étape 2 : Configuration du modèle de langage

Option A : Utiliser OpenAI (le plus simple)

  1. Allez dans Settings (engrenage)
  2. Cliquez sur Model Providers
  3. Ajoutez votre clé API OpenAI
  4. Sélectionnez le modèle : gpt-4o-mini (économique) ou gpt-4o (meilleure qualité)

Option B : Utiliser Ollama (gratuit et local)

  1. Assurez-vous qu'Ollama tourne sur le port 11434
  2. Dans RAGFlow, allez dans Model Providers
  3. Ajoutez un provider Ollama avec l'URL http://host.docker.internal:11434
  4. Sélectionnez le modèle : llama3.1:8b ou mistral:7b

Pour plus de détails sur Ollama, consultez notre guide Ollama : Comment Faire Tourner un LLM en Local et Open WebUI + Ollama : Construisez votre ChatGPT Privé.

Option C : Utiliser d'autres providers

RAGFlow supporte aussi Anthropic (Claude), Google (Gemini), ZhipuAI, et d'autres. La configuration est similaire : ajoutez le provider et votre clé API.

Configuration des embeddings

Modèle d'embeddingTailleQualitéPrix
text-embedding-3-small (OpenAI)1536 dimBonne0,02$/1M tokens
text-embedding-3-large (OpenAI)3072 dimExcellente0,13$/1M tokens
nomic-embed-text (Ollama)768 dimBonneGratuit
bge-large-zh (local)1024 dimBonne (français)Gratuit

Pour du français, text-embedding-3-small offre un bon compromis qualité-prix. En local, nomic-embed-text via Ollama fonctionne bien.

Étape 3 : Créer une base de connaissances

Créer la base

  1. Dans le dashboard, cliquez sur Knowledge Base
  2. Cliquez sur Create Knowledge Base
  3. Nommez votre base (par exemple : "Documentation Interne")
  4. Sélectionnez la méthode de chunking

Choisir la méthode de chunking

MéthodeDescriptionQuand l'utiliser
GeneralDécoupage par taille fixeTextes standards, articles
Q&AExtraction questions/réponsesFAQ, support client
ResumeRésumé par sectionDocuments longs, rapports
TableExtraction de tableauxDonnées tabulaires, prix
PaperSections de papier académiqueArticles de recherche
BookChapitres et sectionsLivres, manuels
LawsArticles de loiDocuments juridiques

Pour la plupart des cas d'usage, General est le bon choix par défaut.

Paramètres de chunking recommandés

ParamètreValeur recommandéeDescription
Chunk size512 tokensTaille de chaque segment
Chunk overlap50 tokensChevauchement entre segments
Max tokens per chunk1024Limite maximale

Étape 4 : Ingérer vos documents

Formats supportés

FormatSupportQualité du parsing
PDFOuiExcellente (OCR intégré)
DOCXOuiBonne
TXT/MDOuiExcellente
CSV/ExcelOuiBonne
Images (PNG, JPG)Oui (via OCR)Bonne
PPTXOuiMoyenne

Charger les documents

  1. Dans votre Knowledge Base, cliquez sur Upload
  2. Glissez-déposez vos fichiers ou sélectionnez-les
  3. RAGFlow commence le parsing automatiquement
  4. Attendez que le statut passe à "Completed"

Préparer ses documents pour un RAG optimal

  • Nettoyez les PDF : Supprimez les pages de garde et les tables des matières inutiles
  • Structurez les titres : Les documents bien structurés (titres H1, H2) produisent de meilleurs chunks
  • Évitez les scans : Les PDF textuels sont mieux parsés que les scans (même si l'OCR les gère)
  • Séparez les thématiques : Une base de connaissances par sujet est plus efficace qu'une base fourre-tout

Pour le crawling de contenu web à intégrer dans RAGFlow, consultez Firecrawl : Comment Transformer N'importe Quel Site Web en Donnée Exploitable par l'IA.

Étape 5 : Créer le chatbot

Configuration de l'assistant

  1. Allez dans Chat ou Assistant
  2. Cliquez sur Create Assistant
  3. Configurez les paramètres :
ParamètreValeur recommandéeDescription
Nom"Assistant Documentation"Nom affiché
LLMgpt-4o-mini ou llama3.1:8bModèle de génération
Knowledge BaseVotre base crééeSource de données
Temperature0,1Faible pour des réponses factuelles
Top P0,9Qualité de la génération
Max tokens2048Longueur max des réponses
Similarity threshold0,2Seuil de similarité minimal

Prompt système

Ajoutez un prompt système qui guide le comportement du chatbot :

Tu es un assistant expert qui répond aux questions en te basant
uniquement sur les documents fournis dans la base de connaissances.

Règles :
1. Réponds toujours en français
2. Si la réponse n'est pas dans les documents, dis-le clairement
3. Cite tes sources en mentionnant le document d'origine
4. Structure tes réponses avec des listes et des titres
5. Ne fabrique jamais d'informations qui ne sont pas dans les documents
6. Si une question est ambiguë, demande des clarifications

Étape 6 : Tester le chatbot

Tests de validation

Avant de déployer, testez systématiquement :

Type de testQuestion typeRésultat attendu
Question factuelle"Quelle est la politique de congés ?"Réponse précise avec source
Question complexe"Comment demander un congé parental ?"Réponse étape par étape
Hors sujet"Quelle est la météo à Paris ?""Je n'ai pas cette information"
Ambiguë"Comment fonctionne le système ?"Demande de clarification
Multi-documents"Compare les avantages des plans A et B"Synthèse de plusieurs sources

Métriques de qualité

MétriqueObjectifComment mesurer
Taux de réponse correcte> 85%Test manuel sur 50+ questions
Taux de hallucination< 5%Vérification des sources
Taux de "je ne sais pas"< 20%Questions dont la réponse est dans les docs
Latence moyenne< 3 secondesMesure de la réponse
Satisfaction utilisateur> 4/5Feedback direct

Étape 7 : Déployer le chatbot

Déploiement interne

Pour un déploiement interne, RAGFlow fournit :

  1. Interface web intégrée : Partagez l'URL du chat avec votre équipe
  2. API REST : Pour intégrer dans vos applications existantes
  3. Widget iFrame : Pour intégrer le chat dans votre site web

API REST

# Envoyer une question via l'API
curl -X POST "http://localhost/api/v1/chat" \
  -H "Authorization: Bearer votre-token" \
  -H "Content-Type: application/json" \
  -d '{
    "assistant_id": "votre-assistant-id",
    "question": "Quelle est la politique de congés ?"
  }'

Widget intégrable

RAGFlow fournit un snippet JavaScript pour intégrer le chatbot sur n'importe quel site web :

<iframe
  src="http://votre-serveur/chat/share/votre-token"
  width="400"
  height="600"
  style="border: none; border-radius: 10px;">
</iframe>

Sécurisation du déploiement

MesureDescription
HTTPSUtilisez un reverse proxy (Nginx/Caddy) avec certificat SSL
AuthentificationActivez la connexion obligatoire dans RAGFlow
VPNPour l'accès distant, utilisez Tailscale ou WireGuard
Rate limitingLimitez le nombre de requêtes par utilisateur
SauvegardesSauvegardez régulièrement les données Qdrant et PostgreSQL

Pour plus de détails sur l'auto-hébergement sécurisé, consultez Pourquoi Auto-Héberger ses Outils IA.

Maintenance et amélioration continue

Mise à jour des documents

  • Ajoutez régulièrement les nouveaux documents à la base de connaissances
  • Supprimez les documents obsolètes
  • Relancez le parsing quand vous modifiez un document important

Monitoring

Métrique à surveillerFréquenceAction si anomalie
Latence de réponseContinueOptimiser le modèle ou le vector store
Qualité des réponsesHebdomadaireAjuster le chunking ou le prompt
UtilisationQuotidienneDimensionner les ressources
Erreurs systèmeContinueVérifier les logs Docker

Amélioration progressive

  1. Collectez les questions des utilisateurs
  2. Identifiez les réponses insatisfaisantes
  3. Ajoutez les documents manquants
  4. Affinez le prompt système
  5. Ajustez les paramètres de retrieval

FAQ

Combien de documents RAGFlow peut-il gérer ?

RAGFlow gère confortablement des milliers de documents. La limite dépend principalement de votre infrastructure (RAM, stockage). Pour des volumes importants (>100k documents), utilisez Elasticsearch comme vector store et dimensionnez les ressources en conséquence.

Les réponses du chatbot sont-elles fiables ?

RAGFlow réduit significativement les hallucinations en ancrant les réponses dans les documents. Cependant, aucun système RAG n'est parfait. Les taux d'hallucination typiques sont de 3 à 10% selon la qualité du chunking et du modèle. Toujours valider les réponses critiques.

Peut-on utiliser RAGFlow avec LlamaIndex ?

Oui, les deux peuvent coexister. RAGFlow pour le chatbot clé en main, LlamaIndex pour des pipelines RAG plus personnalisés. Consultez RAGFlow vs LlamaIndex pour comprendre les différences.

Comment gérer les documents multilingues ?

RAGFlow supporte les documents en plusieurs langues. Pour du français, assurez-vous que le modèle LLM et le modèle d'embeddings gèrent bien le français. GPT-4o et Llama 3.1 8B fonctionnent correctement en français. Pour les embeddings, text-embedding-3-small (OpenAI) est recommandé.

Quel est le coût de fonctionnement ?

En auto-hébergement avec Ollama, le coût se résume à l'électricité (environ 15-30$/mois pour un serveur 24/7). Avec les API OpenAI, comptez 5 à 50$/mois selon le volume de requêtes. Pour plus de détails sur les coûts de l'auto-hébergement, consultez Pourquoi Auto-Héberger ses Outils IA.

Mise à jour — Avril 2026

RAGFlow a poursuivi son amélioration continue. Le parsing PDF est encore meilleur avec la gestion des formules mathématiques et des diagrammes complexes. De nouvelles méthodes de chunking ont été ajoutées pour les documents juridiques et les spécifications techniques. L'interface a été modernisée avec un meilleur feedback visuel pendant l'ingestion. Côté intégration, RAGFlow fonctionne désormais parfaitement avec Ollama pour un stack entièrement local et gratuit. Pour les projets nécessitant plus de flexibilité, LlamaIndex reste la référence programmatique. Pour l'ingestion de données web, Firecrawl est le complément idéal. Le combo RAGFlow + Ollama + Firecrawl constitue un pipeline RAG local complet et sans coût récurrent.