Cours
Combien de fois avez-vous construit une démo RAG impeccable sur deux PDF bien propres, incapable ensuite de répondre à quoi que ce soit à partir de documents d’entreprise réels ?
Au passage en conditions réelles, les tableaux sont aplatis, les pages scannées disparaissent, un jeu de slides perd ses titres, et la logique de découpage sépare un en-tête de section de son contenu. Un RAG de production est bien plus qu’un LLM branché à une base vectorielle. Il faut du parsing documentaire, une stratégie de découpage, une recherche hybride, du reranking, le suivi des citations, l’orchestration d’agents, et une demi-douzaine d’autres briques à configurer vous-même.
RAGFlow est une plateforme open source qui réunit ces briques dans une seule pile. Elle gère l’analyse approfondie des documents, le découpage par modèles, la recherche hybride, les workflows d’agent et l’intégration MCP derrière une UI et une API uniques, ce qui vous permet de consacrer votre temps à votre base de connaissances et à rien d’autre.
Dans cet article, je vous explique le fonctionnement interne de RAGFlow, son architecture, sa comparaison avec LangChain et LlamaIndex, et comment le déployer.
Besoin d’une piqûre de rappel sur le RAG ? Inscrivez-vous à notre cours Retrieval Augmented Generation (RAG) with LangChain : vous maîtriserez les fondamentaux en une après-midi.
Qu’est-ce que RAGFlow ?
RAGFlow est un moteur RAG open source développé par InfiniFlow et publié sous licence Apache 2.0 en avril 2024.
Il est conçu pour des applications d’IA en production où la qualité de la recherche fait ou défait l’application. Le projet met l’accent sur la compréhension approfondie des documents : le parsing et le découpage sont la base de tout le reste. Si vos PDF, feuilles de calcul et présentations sont en désordre, aucun reranker ni LLM plus grand ne vous sauvera : il faut d’abord travailler la qualité documentaire.
Ce qui distingue RAGFlow de la plupart des outils RAG, c’est son approche full stack. Parsing documentaire, découpage par modèles, recherche hybride, reranking, suivi des citations, constructeur de workflows d’agents et prise en charge MCP sont réunis dans un seul système. Pas besoin de choisir une base vectorielle, de configurer un parseur, d’ajouter un reranker et de construire une UI par-dessus : tout est déjà là derrière une interface web et une API uniques.
RAGFlow se rapproche ainsi d’une plateforme plutôt que d’un framework.
Comment fonctionne RAGFlow
RAGFlow suit la chaîne de traitement RAG standard, mais chaque étape est un composant configurable plutôt que du code à écrire.
Voici ce qui se passe du moment où vous importez un document jusqu’à la réponse du LLM :
- Ingérer des documents : vous téléversez des fichiers ou connectez une source de données. RAGFlow accepte les PDF, fichiers Word, feuilles Excel, présentations PowerPoint, Markdown, HTML, images et scans. À partir de la v0.25, vous pouvez aussi synchroniser des données depuis Confluence, S3, Notion, Discord et Google Drive.
- Analyser et structurer le contenu : le moteur DeepDoc lit chaque fichier avec OCR, reconnaissance de structure de tableaux et reconnaissance de la mise en page. La sortie est un contenu structuré avec des métadonnées sur les titres, tableaux, figures et l’ordre de lecture.
- Générer des embeddings : RAGFlow fait passer chaque chunk dans un modèle d’embedding choisi dans la configuration. Vous pouvez utiliser OpenAI, Cohere, Voyage, un modèle local ou tout autre modèle pris en charge.
- Indexer la connaissance : les chunks et vecteurs sont envoyés dans le moteur documentaire. Elasticsearch est la valeur par défaut, mais vous pouvez passer à Infinity, la base d’InfiniFlow conçue pour la recherche hybride.
- Récupérer le contexte pertinent : lorsqu’une requête arrive, RAGFlow exécute simultanément une recherche vectorielle, une recherche par mots-clés BM25 et un reranking. Vous obtenez les meilleurs chunks avec des citations renvoyant au document source.
- Générer les réponses avec un LLM : les chunks récupérés alimentent le prompt, le LLM rédige une réponse et RAGFlow y attache les citations, afin que l’utilisateur puisse faire remonter chaque affirmation à son passage source.
Rien de révolutionnaire dans l’ordre des étapes. L’important, c’est que chacune soit un composant configurable de la plateforme, avec la possibilité d’inspecter la sortie à chaque stade.
Architecture de RAGFlow
L’architecture de RAGFlow comporte quatre couches, chacune répondant à un problème précis de la chaîne RAG. Voici un aperçu visuel rapide :

Architecture de RAGFlow visualisée
Passons maintenant en revue chaque couche.
Ingestion de documents
C’est le point d’entrée. RAGFlow accepte les PDF, documents Office (Word, Excel, PowerPoint), fichiers Markdown et pages web. Les documents scannés et images fonctionnent aussi grâce à l’OCR intégré.
Vous pouvez déposer des fichiers via l’UI, connecter une source cloud ou pousser des documents via l’API. La couche d’ingestion normalise tout dans un format commun avant l’étape suivante.
Traitement de la connaissance
C’est là qu’intervient DeepDoc.
Le parsing transforme les fichiers bruts en contenu structuré avec titres, paragraphes, tableaux et figures. Le découpage segmente ce contenu en unités de recherche selon un modèle que vous choisissez (General, Paper, Book, Q&A, Manual, Table ou Naive). L’extraction de métadonnées ajoute du contexte à chaque chunk, comme les numéros de page, titres de section et positions dans la page.
Les chunks issus de cette couche conservent leur structure. Un tableau reste un tableau, un titre reste lié à sa section, et la légende d’une figure reste avec sa figure. On évite l’aspect aléatoire des stratégies de découpage RAG classiques.
Moteur de recherche
Le moteur de recherche s’appuie sur Elasticsearch ou Infinity, selon le moteur documentaire configuré.
Il exécute en parallèle trois types de recherche :
- Recherche vectorielle pour la similarité sémantique
- Recherche BM25 par mots-clés pour les correspondances exactes
- Reranking au-dessus des résultats fusionnés pour faire remonter les chunks les plus pertinents
Cette couche fournit un petit ensemble de chunks de haute qualité qui alimentent le prompt du LLM.
Couche LLM
La couche LLM envoie les chunks récupérés vers le modèle de votre choix : OpenAI, DeepSeek, Gemini, Claude, un modèle local via Ollama, ou tout autre modèle pris en charge par RAGFlow.
La réponse revient avec des citations. Chaque affirmation pointe vers un chunk précis, et chaque chunk renvoie à un emplacement exact dans le document source. C’est ce que RAGFlow appelle des réponses étayées : l’utilisateur peut cliquer sur une citation et voir le passage exact d’origine, ce qui facilite la détection des hallucinations.
Les quatre couches fonctionnent en pipeline. L’ingestion alimente le traitement de la connaissance, qui alimente le moteur de recherche, lequel alimente la couche LLM.
Fonctionnalités clés de RAGFlow
Voici les fonctionnalités qui comptent le plus lorsque vous concevez un système RAG sur des documents réels et hétérogènes.
Parsing documentaire avancé
Le parseur de RAGFlow s’appelle DeepDoc, et c’est la raison d’être de la plateforme.
DeepDoc applique trois modèles de vision à chaque document : l’OCR pour l’extraction du texte, le TSR pour la reconnaissance de structure de tableaux, et le DLR pour la reconnaissance de la mise en page. Plutôt que de traiter un PDF comme un flux de caractères, il lit le fichier comme un humain : il voit où sont les tableaux, où se font les coupures de colonnes, quel texte est un titre et lequel est une note de bas de page.
Cette structure se répercute dans les chunks. Les tableaux restent avec leurs en-têtes, les mises en page multi-colonnes sont lues dans le bon ordre, et les figures conservent leurs légendes.
Si vous avez tenté de le faire à la main, vous savez à quel point c’est difficile à bien réaliser sur des types de documents variés et à l’échelle.
Recherche hybride
La recherche sémantique rate souvent les requêtes où le mot exact compte. La recherche par mots-clés seule passe à côté des requêtes où le sens importe mais le libellé diffère.
RAGFlow combine les deux en parallèle :
- Recherche vectorielle pour les correspondances sémantiques : « revenue » retrouve « sales » et « income »
- Recherche par mots-clés pour les correspondances exactes : un code produit ou un terme juridique ressort même si le modèle d’embedding ne le comprend pas
- Reranking pour réordonner les résultats combinés avec un modèle dédié, afin que les chunks en tête soient réellement les plus pertinents
Workflow builder
Le workflow builder est un canevas visuel qui vous permet de configurer le pipeline sans écrire de code.
Vous glissez-déposez des composants sur un canevas — retrieval, rerank, LLM, exécution de code, appels HTTP, itérations, conditions — et les reliez en un flux. RAGFlow fournit des modèles prêts à l’emploi pour des schémas courants comme Retrieve - Rerank - Answer, Deep Research et Data Analytics.
Pour des équipes peu techniques, c’est le moyen de produire un prototype fonctionnel en une semaine.
Prise en charge des agents
Depuis la v0.20, RAGFlow prend en charge des workflows agentiques complets sur le même canevas que les workflows classiques.
Un composant agent peut planifier, réfléchir, appeler des outils et déléguer à des sous-agents. Vous configurez un prompt et une liste d’outils, et l’agent décide à l’exécution quel outil appeler et dans quel ordre. Les outils peuvent être des composants intégrés, des serveurs MCP connectés ou d’autres agents.
La valeur réside dans le raisonnement sur la connaissance récupérée.
Un agent de support peut interroger une base de connaissances, appeler une API externe pour vérifier l’état d’un ticket et décider d’escalader ou non. Tout cela se fait dans un seul flux, avec des citations attachées aux éléments issus des documents.
Parsing documentaire et extraction de connaissance
La qualité de la recherche commence par la qualité du parsing. Si vous ratez cette étape, aucun reranker ni LLM plus grand ne vous aidera.
La plupart des échecs RAG se produisent au niveau du document : un PDF rempli de tableaux est extrait en valeurs séparées par des virgules, ou une présentation perd sa hiérarchie visuelle. À l’arrivée dans la base vectorielle, les chunks n’apportent plus de valeur.
L’approche de RAGFlow est de traiter le parsing comme un problème de premier ordre.
Tableaux
Les tableaux sont la partie la plus difficile du parsing documentaire. Un parseur PDF standard lit un tableau ligne par ligne et le transforme en flux de nombres sans en-têtes. Vous perdez la structure.
DeepDoc applique la reconnaissance de structure de tableaux (TSR) avant le découpage. Il identifie les limites, la ligne d’en-tête, les colonnes et les relations entre cellules. Lorsque le découpeur segmente le document, les tableaux restent intacts avec leurs en-têtes et chaque ligne conserve son contexte.
Images et scans
DeepDoc utilise l’OCR pour extraire le texte des pages scannées et, depuis la v0.19, peut s’appuyer sur un modèle vision-langage pour interpréter les images intégrées aux PDF et fichiers DOCX.
Un schéma, un graphique ou la photo d’un reçu deviennent ainsi du contenu interrogeable.
Mises en page multi-colonnes
Les articles scientifiques et rapports financiers utilisent des mises en page multi-colonnes. Un parseur naïf les lit de gauche à droite, ligne à ligne, mélangeant les colonnes et produisant un texte incohérent.
DeepDoc emploie la reconnaissance de mise en page (DLR) pour déterminer d’abord l’ordre de lecture. Il sait que la colonne 1 précède la colonne 2 et qu’un en-tête peut s’étendre sur les deux.
Métadonnées
Chaque chunk est accompagné de métadonnées, comme le numéro de page, le titre de section, la position sur la page et le fichier source d’origine.
C’est ce qui permet les citations. Quand le LLM cite un passage, RAGFlow peut renvoyer à la page et à l’emplacement exacts dans le document source. C’est aussi ce qui autorise le filtrage au niveau des chunks : vous pouvez chercher dans une section ou un document précis.
Qualité des chunks
Dernière pièce du puzzle : le découpage lui-même. RAGFlow utilise un découpage basé sur des modèles, ce qui signifie que vous choisissez un template adapté à votre type de document (General, Paper, Book, Q&A, Manual, Table ou Naive).
Chaque template applique des règles différentes pour le point de coupe. Le modèle Paper isole résumés, méthodes et résultats. Le modèle Q&A conserve chaque question avec sa réponse. Le modèle Manual respecte les titres et procédures. Vous voyez l’idée.
Le résultat : des chunks autonomes qui ont du sens. Une fois dans la fenêtre de contexte du LLM, ils apportent suffisamment de matière pour répondre à la question.
La recherche dans RAGFlow
Une fois vos documents parsés et découpés, l’étape de retrieval déterminera si le LLM reçoit le bon contexte. Le moteur de recherche de RAGFlow réunit trois briques.
Recherche vectorielle
La recherche vectorielle capture la similarité sémantique. Vous embeddez la requête et chaque chunk avec le même modèle, et le moteur renvoie les chunks dont les vecteurs sont les plus proches du vecteur de requête.
C’est ce qui permet à une recherche « revenue growth » de trouver un chunk sur « sales increase » même si les termes ne se recoupent pas. RAGFlow vous laisse choisir le modèle d’embedding — OpenAI, Cohere, Voyage, BGE ou un modèle local — et le changer plus tard sans tout reconstruire.
Recherche hybride
La recherche vectorielle n’est pas idéale pour les termes exacts. Un code produit ou une référence juridique peuvent peu ressortir sémantiquement, alors que la correspondance exacte est cruciale.
RAGFlow exécute BM25 en parallèle de la recherche vectorielle et combine les résultats. Vous obtenez à la fois le rappel sémantique des embeddings et la précision de l’appariement par mots-clés dans la même requête.
Reranking
La première passe renvoie un ensemble de candidats — en général les 30 à 50 meilleurs chunks. C’est trop pour la fenêtre de contexte du LLM, et le haut de la liste est souvent bruité.
Le reranking réordonne ces candidats avec un modèle dédié qui lit la requête et chaque chunk ensemble. Le reranker évalue la pertinence, pas seulement la similarité. Les 5 à 10 premiers chunks après reranking sont ceux injectés dans le prompt.
Sélection du contexte
Dernière étape : décider quoi envoyer dans le contexte du LLM. RAGFlow permet de définir le nombre de chunks, le seuil de similarité et le score minimal du reranker.
Vous pouvez aussi activer des options avancées comme RAPTOR (résumé hiérarchique pour les questions multi-hop) ou le long-context RAG (tables des matières générées automatiquement au niveau des documents pour donner au LLM une carte de la source). Utile lorsque la récupération plate de chunks ne suffit pas.
L’objectif du moteur de recherche est de fournir au LLM exactement le contexte nécessaire, sans superflu.
RAGFlow vs pipelines RAG traditionnels
Les pipelines RAG traditionnels s’assemblent à partir d’outils indépendants. Vous choisissez un parseur (Unstructured, LlamaParse, PyMuPDF), un découpeur (text splitters LangChain, code maison), un modèle d’embedding, une base vectorielle (Pinecone, Weaviate, Chroma, Qdrant), un reranker (Cohere, BGE), un client LLM et une UI. Puis vous écrivez le code qui orchestre le tout.
Cette approche offre un contrôle maximal, mais demande beaucoup d’ingénierie.
Chaque point d’intégration est du code à concevoir, écrire, tester et maintenir. Si vous voulez ajouter le suivi des citations, vous devez le construire. Si une brique change d’API, vous corrigez le pipeline.
RAGFlow adopte l’approche inverse.
C’est une plateforme intégrée où parsing, découpage, recherche, reranking, citations, orchestration de workflows et interface web sont inclus par défaut. Vous configurez via l’interface plutôt qu’en code, et les briques sont déjà connectées.
La contrepartie, c’est la flexibilité. Si vous voulez introduire un algorithme de découpage inédit ou un reranker de recherche, vous devrez passer par le modèle de plugins de RAGFlow plutôt que d’écrire du Python. Pour la plupart des cas de production, c’est très bien ; pour l’expérimentation, cela peut sembler restrictif.
Voici un résumé des différences :
| RAG traditionnel | RAGFlow | |
|---|---|---|
| Installation | Assembler plusieurs outils | Une plateforme, un déploiement |
| Orchestration | Code sur mesure | Constructeur de workflows visuel |
| Effort d’ingénierie | Élevé | Faible à moyen |
| Flexibilité | Contrôle total | Contraint par la plateforme |
| Délai jusqu’aux premiers résultats | Jours à semaines | Heures |
| Idéal pour | Pipelines sur mesure ou expérimentaux | Systèmes de production sur documents complexes |
Aucune approche n’est universellement meilleure. Si vous avez le temps d’ingénierie et besoin d’un contrôle total, un pipeline traditionnel est le bon choix. Si vous voulez vous concentrer sur la base de connaissances, RAGFlow sera plus rapide.
RAGFlow vs LangChain et LlamaIndex
Si vous envisagez RAGFlow, vous avez probablement entendu parler de LangChain et LlamaIndex. Voyons la comparaison.
LangChain
LangChain est un framework applicatif pour les apps LLM. Sa mission principale est l’orchestration : enchaîner prompts, outils, mémoire et modèles dans des workflows. LangChain se soucie peu du parsing documentaire ou de la configuration de votre recherche. Il s’intéresse à ce qui se passe après la récupération.
Si votre projet est centré agents — appels d’outils, raisonnement multi-étapes, logique de branchement, humain dans la boucle — LangChain (et sa couche machine à états LangGraph) est le choix de la plupart des équipes.
LlamaIndex
LlamaIndex est un framework de données pour LLM. Il se concentre sur l’ingestion, la création d’index et l’interrogation de ces données. LlamaIndex propose 160+ connecteurs, plusieurs types d’index (vectoriel, mot-clé, arborescent, graphe de connaissances) et des valeurs par défaut raisonnables pour le découpage et la recherche.
Si votre projet est orienté retrieval — beaucoup de documents, des besoins de recherche poussés et des sources variées — LlamaIndex est la meilleure option code-first.
RAGFlow
RAGFlow est une plateforme RAG intégrée. Ce n’est pas une bibliothèque à importer en Python, c’est un système à déployer. Parsing, découpage, recherche, reranking, citations, workflows, agents et interface web sont fournis.
Si votre priorité est de mettre en production un RAG sur des documents complexes sans écrire tout le pipeline, RAGFlow est le chemin le plus rapide.
Les trois outils peuvent aussi se combiner. Un schéma courant : LlamaIndex pour l’ingestion, LangChain ou LangGraph pour l’orchestration d’agents, et RAGFlow lorsque vous préférez une pile complète auto-hébergée plutôt que du code sur mesure.
Voici un récapitulatif :
| LangChain | LlamaIndex | RAGFlow | |
|---|---|---|---|
| Type | Framework applicatif | Framework de données | Plateforme intégrée |
| Focus principal | Orchestration, agent | Ingestion, indexation, recherche | Stack RAG de bout en bout |
| Interface | Bibliothèque Python / JavaScript | Bibliothèque Python | Interface web + API |
| Parsing documentaire | Basique (via intégrations) | Bon | Excellent (DeepDoc) |
| Support des agents | Solide (LangGraph) | Basique (workflows) | Solide (v0.20+) |
| Idéal pour | Apps centrées agents | Apps centrées recherche | RAG de production sur documents complexes |
| Langage | Code-first | Code-first | Config-first (avec API) |
Créer une application RAG avec RAGFlow
Une fois RAGFlow opérationnel, la création d’une application RAG suit cinq étapes. Là encore, vous ne codez pas le pipeline : vous configurez chaque étape via l’UI ou l’API.
Ingérer des documents
Commencez par téléverser vos documents. Ajoutez des fichiers via l’interface, connectez une source comme Google Drive, S3, Notion, Confluence ou Discord, ou envoyez des fichiers via l’API.

Exemple d’ingestion de documents
RAGFlow accepte la plupart des formats courants, vous n’avez donc rien à convertir en amont.
Configurer la base de connaissances
Dans RAGFlow, une base de connaissances est un conteneur pour vos documents, chunks et réglages. Vous choisissez le template de découpage adapté (General pour du contenu mixte, Paper pour la recherche, Manual pour la technique, Q&A pour le support, etc.), le modèle d’embedding et le parseur.

Configuration de la base de connaissances
Gardez en tête que cette étape est cruciale : un bon choix de template vous évitera bien des tracas ensuite.
Choisir une stratégie de recherche
Décidez ensuite du fonctionnement de la recherche. Définissez le nombre de chunks à retourner, le seuil de similarité et l’usage ou non de la recherche hybride. Vous pouvez aussi activer le reranking et choisir un modèle de reranker.
Pour les cas avancés, RAGFlow prend en charge RAPTOR pour les résumés hiérarchiques et des graphes de connaissances pour une recherche orientée entités. Vous activez ces options dans la configuration de la base de connaissances.
Connecter un LLM
RAGFlow n’inclut pas de LLM. À vous d’apporter le vôtre : OpenAI, DeepSeek, Gemini, Claude, un modèle local via Ollama, ou tout modèle pris en charge par RAGFlow.

Options de modèles
Ajoutez votre clé API dans les paramètres, choisissez le modèle et définissez le prompt système.
Tester les réponses
Dernière étape : les tests. RAGFlow propose une interface de chat pour interroger la base de connaissances et visualiser la réponse avec ses citations.
Cliquez sur une citation pour accéder au chunk exact, avec sa position sur le document source surlignée.
La plupart des équipes itèrent plusieurs fois avant d’obtenir des réponses exploitables. C’est normal pour tout système RAG, mais avec RAGFlow vous ajustez des réglages dans une UI plutôt que de réécrire du code Python.

Exemple de configuration du chat
RAGFlow en production
RAGFlow s’utilise en production sur un ensemble de cas précis, principalement lorsque la qualité documentaire et le suivi des citations sont essentiels.
Bases de connaissances d’entreprise
Les grandes entreprises possèdent des milliers de documents disséminés entre lecteurs partagés, Confluence, SharePoint et PDF joints aux emails. Les collaborateurs ne trouvent pas ce dont ils ont besoin, et questionner un LLM sans RAG produit des hallucinations.
RAGFlow est particulièrement adapté ici.
Anciens PDF, politiques scannées, feuilles Excel avec tableaux croisés, présentations PowerPoint d’il y a des années : tout est parsé. Et avec les citations, les équipes juridiques et conformité peuvent faire confiance aux réponses. L’interface web permet aussi aux non-ingénieurs de gérer la base de connaissances.
Assistants de support client
Les équipes support disposent d’années de tickets, FAQ, manuels produits et runbooks internes. Un assistant doit tout rechercher, trouver le bon passage et savoir quand escalader.
Le template de découpage Q&A de RAGFlow est conçu pour cela. Donnez-lui votre historique de tickets et il traite chaque paire question-réponse comme une unité de recherche. Ajoutez une couche agent par-dessus, connectez une API de consultation de commandes, et vous obtenez un assistant qui gère les questions courantes et remet les cas complexes avec tout le contexte.
Recherche dans la documentation interne
Les équipes d’ingénierie ont des runbooks, docs d’architecture, post-mortems d’incidents et références d’API disséminés entre Notion, Confluence et GitHub. Grep suffit pour des mots-clés, mais pas pour « comment avons-nous géré la dernière occurrence de cette alerte ? »
RAGFlow offre une recherche sémantique sur l’ensemble du corpus, avec des citations renvoyant à la source. Les ingénieurs obtiennent ainsi le passage et le lien vers la page originale en un clic.
Assistants de recherche
Les équipes de recherche manipulent articles, brevets, rapports et expérimentations internes. Le template Deep Research de RAGFlow est fait pour cela, avec une recherche multi-tours et un raisonnement pas à pas : l’agent décompose une question, cherche chaque morceau de réponse et synthétise le tout.
En finance, en juridique et en pharma, la traçabilité de chaque affirmation vers une source est ce qui rend l’assistant réellement utilisable.
Le point commun de ces cas d’usage : la difficulté vient des documents. Si votre matière première est propre et simple, la plupart des outils RAG feront l’affaire. Si elle est hétérogène et structurée, la couche de parsing de RAGFlow vous mènera souvent plus loin que de coder le pipeline à la main.
Déployer RAGFlow
RAGFlow propose trois voies de déploiement. Voici lesquelles.
Déploiement Docker
Docker Compose est la voie principale. Clonez le repo, placez-vous dans le dossier docker, puis lancez docker compose up -d. Cela démarre le serveur RAGFlow ainsi qu’Elasticsearch, MinIO, MySQL et Redis.
La configuration minimale : 4 cœurs CPU, 16 Go de RAM et 50 Go de disque. En pratique, prévoyez plus de RAM si vous indexez de gros volumes : Elasticsearch et Infinity consomment beaucoup de mémoire.
Les images Docker ciblent x86. Sur Apple Silicon ou une autre machine ARM64, la couche de traduction permet de démarrer, mais pour de meilleures performances, construisez l’image vous-même en suivant le guide ARM64 de la documentation RAGFlow.
Développement local
Si vous souhaitez modifier le code source de RAGFlow, vous pouvez lancer le backend et le frontend depuis les sources. Utilisez uv pour les dépendances Python, exécutez docker compose -f docker/docker-compose-base.yml up -d pour ne démarrer que les services de support (MinIO, Elasticsearch, MySQL, Redis), puis lancez le backend via un script shell et le frontend avec npm run dev.
Cette voie n’a d’intérêt que si vous contribuez au projet ou pour du débogage. Pour la plupart des utilisateurs, Docker Compose est plus rapide.
Déploiement cloud
InfiniFlow propose une version hébergée sur cloud.ragflow.io. Elle inclut un palier gratuit avec 5 apps et 500 crédits par mois, et des offres payantes à 29 $, 129 $ et tarifs entreprise.
La version cloud convient aux prototypes et aux petites équipes. Pour une production sérieuse avec données sensibles, la plupart des équipes s’auto-hébergent, soit sur une VM unique pour les petits déploiements, soit sur Kubernetes via le chart Helm pour les plus grands.
Points d’échelle
Le déploiement par défaut regroupe tout sur une machine. Cela va un temps, mais vous finirez par atteindre une limite — en volume de documents, charge de requêtes ou taille d’équipe.
Les éléments qui se scalent indépendamment sont le moteur documentaire (Elasticsearch ou Infinity), le stockage objet (MinIO) et l’app RAGFlow elle-même. Pour les grands déploiements, vous répartissez ces services, utilisez un Elasticsearch managé ou un stockage S3-compatible, et exécutez plusieurs instances de l’app derrière un load balancer.
L’accélération GPU pour DeepDoc est un autre levier. Par défaut, le parsing sollicite le CPU, mais vous pouvez activer le mode GPU dans la configuration, ce qui change la donne lors de gros imports.
Le reste relève des bonnes pratiques d’infrastructure, et RAGFlow ne les contrarie pas.
Avantages et limites de RAGFlow
Chaque outil a ses compromis, RAGFlow ne fait pas exception. Voici l’essentiel avant de vous lancer.
Avantages
- Une plateforme intégrée : pas besoin de choisir un parseur, une base vectorielle, un reranker, un découpeur et un framework UI puis d’écrire le code. RAGFlow fournit tout.
- Le traitement documentaire est son point fort : DeepDoc gère mieux que la plupart les PDF, scans, tableaux et mises en page complexes. Si vos documents sont « messy », c’est souvent une raison suffisante d’opter pour RAGFlow.
- Pensé pour la production dès le départ : citations étayées, visualisation des chunks, workflows d’agents, support MCP et véritable interface d’administration sont intégrés.
- Open source sous Apache 2.0 : auto-hébergement, modification du code et exécution sur votre propre infra. Le dépôt GitHub compte plus de 80 k étoiles et un développement actif : le projet est là pour durer.
Limites
- Le déploiement n’est pas si trivial : Docker Compose aide, mais vous exécutez tout de même Elasticsearch ou Infinity, MinIO, MySQL et Redis aux côtés de l’app. Quelque chose finira par casser et il faudra maîtriser un minimum Docker.
- Exigences d’infrastructure : le minimum de 16 Go de RAM et 4 cœurs CPU ne vaut que pour de petites charges. En réel, comptez 32 Go ou plus, surtout avec Infinity ou de gros imports. Oubliez le VPS à 5 $.
- Courbe d’apprentissage : le workflow builder est puissant mais riche en composants, et trouver le bon template de découpage et les bons réglages de recherche prend du temps. Comptez quelques jours avant d’être pleinement productif.
Rien de rédhibitoire si RAGFlow correspond à votre besoin : voyez ces points comme le coût d’une plateforme plutôt que d’une bibliothèque.
Pour qui RAGFlow est-il fait ?
RAGFlow n’est pas idéal pour tous les projets. Voici pour qui il convient le mieux et qui devrait choisir plus léger.
Idéal pour
Ingénieurs IA construisant des systèmes RAG de production. Si votre mission est de livrer une app RAG fonctionnelle, pas d’écrire une nouvelle bibliothèque de découpage, RAGFlow vous épargne l’essentiel de la plomberie.
Équipes IA en entreprise. Les équipes juridique, conformité, finance et support ont besoin de citations et de traçabilité. Une UI accessible aux non-ingénieurs est un vrai plus.
Développeurs travaillant sur des documents complexes. Des PDF pleins de tableaux, des scans, des mises en page multi-colonnes et des formats mixtes : là où DeepDoc surpasse la concurrence. Si votre source n’est pas un texte propre, la qualité de parsing de RAGFlow est difficile à égaler.
Organisations avec de vastes collections de documents. Au-delà de quelques milliers de documents, il faut un système capable d’ingérer, d’indexer et de rechercher à l’échelle. RAGFlow est l’outil adapté.
Moins adapté
Prototypes de chatbots simples. Si vous devez répondre à des questions à partir de quelques fichiers Markdown, RAGFlow est surdimensionné. Un script LlamaIndex ou un petit pipeline LangChain ira plus vite.
Très petits projets. Pour un usage personnel sur quelques PDF, la charge d’infrastructure est trop lourde. Vous passerez plus de temps sur Docker que sur votre projet.
Équipes qui veulent zéro configuration. Si vous voulez vous inscrire et obtenir un RAG opérationnel en cinq minutes, préférez un service hébergé ou une bibliothèque légère. RAGFlow a une version cloud, mais l’auto-hébergement (là où se trouve l’essentiel de la valeur) demande un peu de mise en place.
Règle simple : si la qualité de recherche sur des documents complexes est le vrai défi de votre projet, RAGFlow vaut le coût d’installation. Sinon, choisissez plus léger.
Conclusion
RAGFlow est une plateforme full stack pour créer des applications RAG de production à partir de documents réels.
Sa grande force : le parsing documentaire, la recherche, le reranking et la génération cohabitent dans un même workflow plutôt que d’être assemblés à partir d’outils séparés. Vous bénéficiez du parsing DeepDoc, de la recherche hybride, de citations étayées et de workflows d’agents derrière une UI et une API uniques.
Si vos documents sont complexes et que la qualité de recherche compte, RAGFlow vaut l’effort d’installation.
Commencez par l’offre cloud gratuite ou un déploiement Docker local, importez quelques-uns de vos pires documents et observez les réponses. C’est le moyen le plus rapide de vérifier l’adéquation à votre cas d’usage.
L’architecture RAG est simple par conception, mais cela ne l’empêche pas d’adresser des cas complexes. Lisez notre article Advanced RAG Techniques pour en savoir plus sur la recherche dense, le reranking et le raisonnement multi-étapes.
Ragflow
À quoi sert RAGFlow ?
RAGFlow sert à créer des applications de Retrieval Augmented Generation à partir de vos propres documents. Les entreprises l’utilisent pour des bases de connaissances internes, des assistants de support client, la recherche dans la documentation interne et des assistants de recherche capables de répondre à partir de PDF, feuilles de calcul, présentations et autres sources hétérogènes. Il réunit parsing documentaire, recherche, reranking, citations et workflows d’agents dans une seule plateforme au lieu de cinq outils distincts.
RAGFlow est-il gratuit ?
Oui, RAGFlow est open source sous licence Apache 2.0, et vous pouvez l’auto-héberger sur votre propre infrastructure sans frais. InfiniFlow propose également une version hébergée avec un palier gratuit pour les petits projets et des offres payantes à partir de 29 $ par mois pour les équipes plus importantes. La plupart des utilisateurs en production s’auto-hébergent, surtout avec des données sensibles.
En quoi RAGFlow est-il différent de LangChain ou LlamaIndex ?
LangChain est un framework applicatif pour enchaîner des appels LLM, outils et agents. LlamaIndex est un framework de données pour l’ingestion, l’indexation et la recherche. RAGFlow est une plateforme complète : vous la déployez, vous la configurez via une interface web et vous obtenez parsing, recherche, citations et workflows sans écrire le pipeline. Vous pouvez aussi les combiner — LlamaIndex pour l’ingestion, LangChain pour l’orchestration, RAGFlow lorsque vous voulez toute la pile au même endroit.
Quels formats de documents RAGFlow prend-il en charge ?
RAGFlow prend en charge les PDF, fichiers Word, feuilles Excel, présentations PowerPoint, Markdown, HTML, texte brut, images et documents scannés. Le moteur DeepDoc utilise l’OCR, la reconnaissance de structure de tableaux et la reconnaissance de mise en page pour parser correctement chaque format : les tableaux restent intacts, les pages multi-colonnes sont lues dans le bon ordre et les scans deviennent interrogeables. À partir de la v0.25, vous pouvez également synchroniser directement depuis Confluence, S3, Notion, Discord et Google Drive.
Quelles sont les exigences matérielles minimales pour exécuter RAGFlow ?
Le minimum officiel est 4 cœurs CPU, 16 Go de RAM, 50 Go de disque et Docker 24.0 ou supérieur. En pratique, prévoyez 32 Go de RAM ou plus dès que vous indexez des volumes réels, car Elasticsearch (ou Infinity), MinIO, MySQL et Redis tournent aux côtés de l’app RAGFlow. L’accélération GPU pour DeepDoc est optionnelle mais accélère l’ingestion.

