GraphRAG (FR)

From Systems analysis wiki
Jump to navigation Jump to search

GraphRAG — est un paradigme avancé de génération augmentée par récupération (Retrieval-Augmented Generation, RAG) qui, au lieu de la recherche traditionnelle dans des fragments de texte disjoints (chunks), utilise un graphe de connaissances (Knowledge Graph, KG)[1]. La structure de graphe représente explicitement les liens entre les entités et la hiérarchie des concepts du domaine, ce qui permet aux LLM d'effectuer une extraction de connaissances logique en plusieurs étapes et de formuler des réponses plus contextuelles et explicables[2].

L'approche GraphRAG démontre un avantage significatif par rapport au RAG classique pour traiter des requêtes complexes et multi-étapes (multi-hop), où la réponse dépend de la combinaison de plusieurs faits dispersés dans différents documents[3].

Limites du RAG classique et avantages du graphe

Le RAG classique, basé sur la recherche vectorielle dans du texte non structuré, se heurte à plusieurs limitations fondamentales qui deviennent critiques dans des scénarios d'entreprise complexes :

  • Absence de liens structurels : Le RAG traditionnel traite les fragments de texte (chunks) comme des unités isolées et ne perçoit pas les liens explicites entre eux. Cela le rend inefficace pour les requêtes multi-hop, où la réponse nécessite de suivre une chaîne de faits (A→B→C), alors que la recherche ne trouve que les maillons de départ et de fin (A et C), en omettant les intermédiaires[1].
  • Ambigüité sémantique : Dans des domaines hautement spécialisés (médecine, droit, ingénierie), les termes ont des significations spécifiques. La recherche vectorielle, bien que capturant le thème général, peut mal interpréter le rôle d'un objet concret, ce qui conduit à l'extraction d'un contexte non pertinent.
  • Explicabilité limitée : Le RAG classique fournit des extraits de documents, mais pas de preuves explicites de la manière dont ces fragments sont liés dans une chaîne logique. GraphRAG, au contraire, rend ce processus transparent en fournissant le chemin dans le graphe comme preuve et en exigeant que les affirmations soient liées à des sources (citation)[4].

GraphRAG résout ces problèmes en représentant les connaissances sous forme d'un réseau d'entités et de relations interconnectées, ce qui permet au système non seulement de trouver du texte similaire, mais aussi d'effectuer des inférences logiques basées sur un modèle formalisé du domaine.

Architecture de GraphRAG

Le pipeline global de GraphRAG étend le RAG classique en ajoutant des étapes de construction et d'utilisation d'un graphe de connaissances. Il se divise en deux phases principales : la préparation hors ligne et le traitement des requêtes en ligne.

Phase 1 : Ingestion et indexation (hors ligne)

Durant cette phase, les données sources (documents, bases de données) sont transformées en deux représentations complémentaires : une représentation sous forme de graphe et une représentation vectorielle.

  1. Extraction de connaissances : Des faits structurés sont extraits des textes à l'aide d'un pipeline de NLP :
    • Reconnaissance d'entités nommées (Named Entity Recognition, NER) : Identification des mentions d'entités (personnes, organisations, produits).
    • Liaison d'entités (Entity Linking, EL) : Association des mentions à des identifiants canoniques dans le graphe pour lever les ambiguïtés (par exemple, « Durand J. » et « J. Durand » deviennent un seul nœud)[5].
    • Extraction de relations (Relation Extraction, RE) : Identification des relations entre les entités (par exemple, Entreprise Xa acquisStart-up Y).
  2. Modélisation et stockage du graphe : Les triplets extraits (sujet-prédicat-objet) sont chargés dans une base de données de graphes. Le choix du modèle (Property Graph ou RDF) dépend de la tâche. Il est crucial de conserver la provenance (provenance) de chaque fait — une référence au document source et au fragment de texte[3]. Des métadonnées sur le temps (valid_from/valid_to) et la fiabilité (confidence) peuvent également être ajoutées au graphe.
  3. Indexation hybride : En parallèle du graphe, un index vectoriel est créé pour les fragments de texte originaux. Cela permet de combiner la recherche structurelle sur le graphe avec la recherche sémantique sur le texte.

Phase 2 : Traitement de la requête et génération de la réponse (en ligne)

  1. Analyse de la requête : La requête de l'utilisateur est analysée pour en extraire les entités clés, qui servent de « points d'entrée » dans le graphe.
  2. Extraction du sous-graphe : Au lieu de rechercher des chunks individuels, GraphRAG identifie un sous-graphe pertinent — un fragment connexe du graphe autour des « points d'entrée », contenant les informations nécessaires à la réponse. Des algorithmes tels que le parcours k-hop ou le Personalized PageRank (PPR) sont utilisés à cette fin[6].
  3. Recherche hybride et fusion des résultats : Parallèlement à l'extraction du sous-graphe, une recherche est effectuée sur l'index vectoriel et/ou lexical (BM25). Les résultats provenant du graphe et du texte sont fusionnés et transmis à l'étape suivante.
  4. Reclassement (Re-ranking) : La liste combinée de candidats (nœuds du graphe et fragments de texte) est reclassée à l'aide d'un modèle plus précis (par exemple, un cross-encoder) pour sélectionner les informations les plus pertinentes. Cela permet de filtrer le bruit et d'améliorer la précision[7].
  5. Empaquetage du contexte et génération : Le contexte sélectionné et reclassé (sous-graphe et textes) est transformé en un format compréhensible par le LLM (par exemple, une liste d'affirmations avec leurs sources). Ce contexte enrichi est fourni dans le prompt pour générer la réponse finale.
  6. Traçabilité et citation : Grâce au lien « fait ↔ source » dans le graphe, la réponse générée contient des références précises aux documents qui étayent chaque affirmation. Cela garantit une grande justification et transparence.

Tableau comparatif des composants

Analyse comparative des composants clés de l'architecture GraphRAG
Composant/Aspect Variantes d'implémentation Avantages Inconvénients/Risques Cas d'usage préférables
Modèle de graphe de connaissances RDF/OWL Ontologie stricte, inférences logiques (reasoning), compatibilité avec le Linked Open Data. Difficile de stocker les attributs des relations (temps, source) sans entités supplémentaires (réification). Domaines sémantiquement riches avec des ontologies existantes ; lorsque la déduction est requise.
Property Graph (Neo4j, etc.) Flexibilité, propriétés arbitraires sur les nœuds/arêtes, haute performance. Nécessite un schéma clair défini manuellement ou risque de « désordre » ; pas de standard unifié. Démarrage rapide avec des données non structurées ; intégration avec des documents (base de données multi-modèle).
Extraction du sous-graphe k-hop BFS / DFS Couvre tous les nœuds jusqu'à une profondeur k, simple à implémenter. « Explosion » du graphe : croissance exponentielle du nombre de nœuds ; peut retourner beaucoup de bruit. Petits graphes ou parcours à une profondeur de 1 à 2 ; structures hiérarchiques.
Personalized PageRank (PPR) Se concentre sur les nœuds réellement pertinents, le bruit est filtré[6]. Peut manquer un nœud distant mais important (s'il y a peu de chemins mais qu'il est critique). Réseaux complexes avec de nombreux chemins (graphe social, graphe de citations).
Recherche hybride Liste combinée (fusion scalaire avec un poids λ) L'ajustement des poids λ permet d'équilibrer précision/rappel pour la tâche[8]. Un λ fixe n'est pas optimal pour tous les types de requêtes. En phase de prototypage ; lorsqu'une source est connue pour être nettement plus importante.
Cross-encoder rerank Gain de précision significatif ; capacité à prendre en compte des interrelations complexes. Augmente la latence ; nécessite des données d'entraînement ou l'utilisation de modèles pré-entraînés[7]. Scénarios à haute précision (droit, médecine) où un contexte maximalement pertinent est crucial.
Sécurité des données Filtrage du sous-graphe (RBAC/ABAC) Contrôle granulaire (jusqu'au niveau du nœud) qui prévient les fuites de données. « Zones aveugles » : si un nœud important est supprimé, la réponse peut devenir incomplète. Dans les environnements d'entreprise avec des exigences d'accès strictes (PII, RGPD, secrets commerciaux).

Traçabilité, confiance et sécurité

L'un des principaux avantages de GraphRAG est la capacité de présenter des chaînes de preuves transparentes. Au lieu d'une réponse de type « boîte noire », le système peut montrer le cheminement du raisonnement : « Le fait A est mentionné dans [doc1]. Il est lié au fait B [doc2], et B, selon [doc3], mène à C », ce qui augmente la confiance de l'utilisateur et simplifie le débogage.

De plus, la structure en graphe permet de mettre en œuvre une gestion granulaire des accès (RBAC/ABAC). Chaque nœud ou arête du graphe peut avoir une étiquette d'accès. Lors de l'extraction du sous-graphe, le système filtre automatiquement les données auxquelles l'utilisateur n'a pas accès, garantissant ainsi la sécurité dans des domaines sensibles (finance, RH, médecine).

Évaluation de la qualité

L'évaluation d'un système GraphRAG est un processus en plusieurs étapes qui inclut des métriques pour chaque composant :

  • Métriques d'extraction de connaissances : score F1 pour la NER et la RE, afin d'évaluer la qualité de la construction du graphe.
  • Métriques d'extraction du sous-graphe : Subgraph Recall@K (la proportion de cas où les nœuds/arêtes nécessaires à la réponse sont inclus dans le sous-graphe extrait) et Path Precision/Recall pour les questions multi-hop.
  • Métriques de la réponse du LLM :
    • Fidélité / Ancrage (Faithfulness / Groundedness) : à quel point la réponse s'appuie strictement sur le contexte fourni.
    • Évaluation humaine (Human evaluation) : évaluation par des experts selon des critères de correction, de complétude et de cohérence.

Pour automatiser l'évaluation, des benchmarks spécialisés (par exemple, WebQuestionsSP, GrailQA) et des frameworks (par exemple, RAGAS) sont utilisés[9].

Voir aussi

  • Retrieval-Augmented Generation (RAG)
  • Graphe de connaissances
  • Base de données vectorielle
  • Embedding
  • Agent d'IA
  • Évaluation et benchmarks des LLM

Littérature

  • Zhang, Q. et al. (2025). A Survey of Graph Retrieval‑Augmented Generation for Customized Large Language Models. arXiv:2501.13958.
  • Xu, Z. et al. (2024). Retrieval‑Augmented Generation with Knowledge Graphs for Customer Service Question Answering. arXiv:2404.17723.
  • Hu, Y. et al. (2024). GRAG: Graph Retrieval‑Augmented Generation. arXiv:2405.16506.
  • Nakano, R. et al. (2021). WebGPT: Browser‑assisted Question‑Answering with Human Feedback. arXiv:2112.09332.
  • Yang, R. et al. (2025). KG‑IRAG: A Knowledge Graph‑Based Iterative Retrieval‑Augmented Generation Framework for Temporal Reasoning. arXiv:2503.14234.
  • Song, Y. et al. (2023). Advancements in Complex Knowledge Graph Question Answering: A Survey. DOI:10.3390/electronics12214395.
  • Nogueira, R.; Cho, K. (2019). Passage Re‑ranking with BERT. arXiv:1901.04085.
  • Hsu, H.‑L.; Tzeng, J. (2025). DAT: Dynamic Alpha Tuning for Hybrid Retrieval in Retrieval‑Augmented Generation. arXiv:2503.23013.
  • Lewis, P. et al. (2020). Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks. arXiv:2005.11401.
  • Karpukhin, V. et al. (2020). Dense Passage Retrieval for Open‑Domain Question Answering. arXiv:2004.04906.
  • Sun, H. et al. (2018). Open‑Domain Question Answering Using Early Fusion of Knowledge Bases and Text (GRAFT‑Net). arXiv:1809.00782.
  • Sun, H.; Bedrax‑Weiss, T.; Cohen, W. W. (2019). PullNet: Open‑Domain Question Answering with Iterative Retrieval on Knowledge Bases and Text. arXiv:1904.09537.
  • He, X. et al. (2024). G‑Retriever: Retrieval‑Augmented Generation for Textual Graph Understanding and Question Answering. arXiv:2402.07630.
  • Es, S.; James, J.; Espinosa‑Anke, L.; Schockaert, S. (2024). RAGAs: Automated Evaluation of Retrieval Augmented Generation. ACL:2024.eacl-demo.16.

Notes

  1. 1.0 1.1 Zhang, Q., et al. A Survey of Graph Retrieval-Augmented Generation for Customized Large Language Models. arXiv, 2025. arXiv:2501.13958.
  2. Xu, Z., et al. Retrieval-Augmented Generation with Knowledge Graphs for Customer Service Question Answering. SIGIR, 2024. arXiv:2404.17723; DOI: 10.1145/3626772.3661370.
  3. 3.0 3.1 Hu, Y., et al. GRAG: Graph Retrieval‑Augmented Generation. arXiv, 2024. arXiv:2405.16506; aussi dans Findings of NAACL 2025: ACL Anthology.
  4. Nakano, R., et al. WebGPT: Browser‑assisted question‑answering with human feedback. arXiv, 2021. arXiv:2112.09332.
  5. Yang, R., et al. KG‑IRAG: A Knowledge Graph‑Based Iterative Retrieval‑Augmented Generation Framework for Temporal Reasoning. arXiv, 2025. arXiv:2503.14234.
  6. 6.0 6.1 Song, Y., Li, W., Dai, G., Shang, X. Advancements in Complex Knowledge Graph Question Answering: A Survey. Electronics, 2023. DOI: 10.3390/electronics12214395.
  7. 7.0 7.1 Nogueira, R., Cho, K. Passage Re‑ranking with BERT. arXiv, 2019. arXiv:1901.04085.
  8. Hsu, H.‑L.; Tzeng, J. DAT: Dynamic Alpha Tuning for Hybrid Retrieval in Retrieval‑Augmented Generation. arXiv, 2025. arXiv:2503.23013.
  9. Es, S.; James, J.; Espinosa Anke, L.; Schockaert, S. RAGAs: Automated Evaluation of Retrieval Augmented Generation. EACL (System Demonstrations), 2024. ACL:2024.eacl-demo.16; aussi preprint: arXiv:2309.15217.