Architecture RAG
Graph RAG
Un knowledge graph extrait des documents pour capturer les relations entre entités. Le retrieval traverse le graphe pour trouver les connexions que les embeddings seuls ne voient pas.
Mis à jour en avril 2026 - Edge et al. (Microsoft Research, 2024)
Pourquoi les embeddings manquent les relations
Les pipelines RAG classiques encodent chaque chunk en vecteur et cherchent par similarité cosinus. Cette approche capture la proximité sémantique mais ignore les relations structurées entre entités. Si le document A mentionne que la metformine cause l'acidose lactique, et le document B que l'insuffisance rénale augmente le risque d'acidose, l'embedding seul ne connecte pas A et B.
Graph RAG (Edge et al., Microsoft Research, 2024) résout ce problème en construisant un knowledge graph à partir du corpus. Un LLM extrait les entités nommées et les relations de chaque document, puis les agrège dans un graphe. Le retrieval combine la recherche vectorielle avec la traversée du graphe pour trouver les documents connectés par des chaînes de relations.
L'approche de Microsoft va plus loin avec la community detection (algorithme de Leiden). Le graphe est partitionné en communautés thématiques, chacune recevant un résumé. Ces résumés permettent de répondre aux questions globales ("Quelles sont les tendances ?") sans traverser l'intégralité du graphe.
Outils interactifs
Explorez un knowledge graph et estimez le coût d'extraction.
Visualiseur de knowledge graph
Cliquez sur une entité pour voir ses relations. Comparez le retrieval par embedding vs par traversée de graphe.
Requête utilisateur
effets secondaires metformine personnes âgées
Entités extraites (knowledge graph)
Précision retrieval : 1/3 documents pertinents - L'embedding seul ne capture pas les relations causales entre entités. Les documents liés par des chaînes de relations sont manqués.
Simulation pédagogique. Le knowledge graph réel contiendrait des milliers de triplets extraits par NER + relation extraction.
Calculateur de coût d'extraction
Estimez le coût et le temps d'extraction du knowledge graph (NER + relation extraction).
Triplets extraits
8 000
Entités uniques
~2 400
Coût estimé
0,17 $
Temps estimé
5 min
Investissement faible
Coût négligeable. Idéal pour tester Graph RAG sur votre corpus. L'extraction est rapide et le graphe sera suffisamment petit pour être exploré manuellement.
Estimation basée sur ~800 tokens/doc, ~8 triplets/doc (densité normale). Coûts API indicatifs (avril 2026).
Pipeline Graph RAG en 4 étapes
Graph RAG transforme un corpus de textes en un graphe de connaissances exploitable pour le retrieval. Chaque étape enrichit la structure d'index.
Extraction d'entités (NER)
Un LLM identifie les entités nommées dans chaque document : personnes, organisations, médicaments, concepts techniques, lieux.
Le Named Entity Recognition (NER) via LLM est plus flexible que les modèles NER classiques (spaCy, Flair). Le LLM peut extraire des entités domaine-spécifiques sans entraînement dédié. Chaque entité est normalisée (déduplication, résolution de coréférences) pour éviter les doublons dans le graphe.
Extraction de relations
Le LLM identifie les relations sémantiques entre les entités extraites : "traite", "cause", "appartient à", "précède".
Chaque paire d'entités co-occurrente est évaluée. Le LLM génère un triplet (sujet, prédicat, objet) pour chaque relation détectée. Exemple : (Metformine, traite, Diabète type 2). Les relations peuvent être dirigées ou non, typées ou non selon le schéma du graphe.
Construction du knowledge graph
Les triplets sont agrégés dans un graphe où les entités sont des noeuds et les relations sont des arêtes.
Le graphe est stocké dans une base de données graphe (Neo4j, Amazon Neptune) ou en mémoire pour les petits corpus. Chaque noeud conserve un lien vers les chunks sources. Le graphe peut être enrichi avec des propriétés (poids des relations, type d'entité, source documentaire).
Retrieval hybride (embedding + graphe)
Le retrieval combine la recherche vectorielle classique avec la traversée du knowledge graph pour enrichir le contexte.
Étape 1 : embedding de la requête → top-k chunks par similarité vectorielle. Étape 2 : extraction des entités de la requête → traversée du graphe pour trouver les entités liées (1-2 hops). Étape 3 : fusion des résultats (Reciprocal Rank Fusion ou score pondéré). Le graphe apporte les documents connectés par des relations que l'embedding seul ne capture pas.
Community detection et résumés
L'innovation clé de Microsoft Research : partitionner le graphe en communautés et résumer chaque communauté pour répondre aux questions globales.
Community detection (Leiden)
L'algorithme de Leiden partitionne le graphe en communautés d'entités fortement connectées. Chaque communauté représente un sous-thème cohérent du corpus.
Edge et al. (Microsoft Research, 2024) utilisent Leiden pour identifier les clusters thématiques dans le graphe. Chaque communauté reçoit un résumé généré par un LLM. Ces résumés permettent de répondre aux questions globales ("Quelles sont les tendances ?") sans traverser tout le graphe.
Avantages
- Capture les sous-thèmes émergents du corpus
- Résumés par communauté pour les questions globales
- Scalable sur de grands graphes
Résumés par communauté
Chaque communauté du graphe reçoit un résumé synthétique généré par un LLM, basé sur les entités et relations qu'elle contient.
Le résumé d'une communauté agrège les connaissances de toutes les entités et relations internes. Pour la communauté "Effets secondaires metformine gériatrique", le résumé couvre l'acidose lactique, la carence en B12, la surveillance rénale. Ce résumé est indexé comme un chunk supplémentaire pour le retrieval global.
Avantages
- Répond aux questions thématiques globales
- Approche similaire à Raptor mais guidée par les relations
- Réduit le bruit sur les requêtes de synthèse
Benchmarks Graph RAG
Graph RAG excelle sur les tâches multi-hop - les questions qui nécessitent de connecter des informations réparties sur plusieurs documents via des chaînes de relations.
| Dataset | Type | Graph RAG | Baseline | Note |
|---|---|---|---|---|
| HotpotQA | Multi-hop QA | +12-18 % F1 | RAG standard | Questions nécessitant 2+ sauts entre entités. Le graphe connecte les documents que l'embedding seul ne lie pas. |
| MuSiQue | Multi-step reasoning | +15-22 % Accuracy | RAG + CoT | Raisonnement en 3-4 étapes sur des entités liées. La traversée de graphe guide le raisonnement étape par étape. |
| 2WikiMultiHopQA | Cross-document QA | +10-15 % F1 | RAG + reranking | Questions impliquant des entités réparties sur 2+ documents. Le graphe unifie les informations fragmentées. |
| Podcast transcripts | Global QA (Edge et al.) | +significatif | Naive RAG | Questions thématiques globales ("Quels sont les sujets principaux ?"). Les résumés de communautés capturent la vue d'ensemble. |
Graph RAG vs RAG flat vs Raptor
Graph RAG, RAG flat et Raptor résolvent des problèmes différents. Le graphe capture les relations explicites, Raptor capture le contexte thématique, le flat est le plus simple et dynamique.
| Critère | Graph RAG | RAG flat | Raptor |
|---|---|---|---|
| Structure d'index | Knowledge graph (triplets entité-relation) | Index plat (embeddings) | Arbre de résumés (clustering) |
| Relations entre entités | Explicites (triplets typés) | Implicites (proximité vectorielle) | Implicites (résumés thématiques) |
| Questions multi-hop | Fort (traversée de graphe) | Faible (pas de connexion) | Modéré (résumés intermédiaires) |
| Questions globales | Fort (résumés de communautés) | Faible (chunks isolés) | Fort (résumé racine) |
| Coût d'indexation | Élevé (NER + relations + graphe) | Faible (embeddings) | Élevé (clustering + résumés) |
| Cas d'usage idéal | Corpus riche en entités et relations | QA factuel, corpus dynamique | Documents longs, raisonnement thématique |
5 limites à connaître
Graph RAG est puissant sur les corpus riches en entités mais exige un investissement significatif en extraction et maintenance du graphe.
1. Coût d'extraction élevé
Extraire les entités et relations de chaque document nécessite un appel LLM par document. Pour un corpus de 50 000 documents, cela représente 50 000 appels avec prompt NER + relation extraction. Le coût est proportionnel à la taille du corpus et à la complexité du prompt.
2. Qualité de l'extraction NER
Le graphe est aussi bon que l'extraction. Un LLM qui manque des entités ou invente des relations produit un graphe bruité. La normalisation des entités ("Metformine" vs "metformine" vs "glucophage") est critique. Sans déduplication rigoureuse, le graphe contient des noeuds redondants.
3. Maintenance du graphe
L'ajout d'un document nécessite l'extraction de ses entités, la résolution avec les entités existantes et la mise à jour des communautés. La suppression d'un document peut casser des chaînes de relations. Le graphe nécessite une maintenance active que l'index plat n'exige pas.
4. Scalabilité de la traversée
La traversée du graphe sur 2-3 hops peut explorer des centaines de noeuds pour les entités fortement connectées (hubs). Sans élagage, le contexte envoyé au LLM devient trop large. Le choix du nombre de hops et du seuil de pertinence par arête est un hyperparamètre critique.
5. Inutilité sur les corpus sans entités
Si le corpus contient peu d'entités nommées ou de relations structurées (poésie, contenu créatif, opinions), le knowledge graph sera pauvre et n'apportera rien par rapport à l'embedding seul. Graph RAG est conçu pour les domaines riches en entités.
Graph RAG : le retrieval qui comprend les relations
Graph RAG transforme un corpus en réseau de connaissances structuré. Pour les domaines riches en entités et relations (médical, juridique, scientifique, technique), le knowledge graph apporte une dimension que les embeddings seuls ne capturent pas : les connexions causales, hiérarchiques et temporelles entre concepts.
Pour combler le gap sémantique entre requêtes et documents sans construire de graphe, explorez HyDE. Pour structurer le corpus en arbre thématique, combinez avec Raptor RAG. Retrouvez toutes les architectures dans le guide des 12 architectures RAG.