Qu'est-ce que GraphRag ?

Qu’est-ce que GraphRAG ?

GraphRAG est une version avancée de la génération augmentée par récupération (RAG) qui intègre des données structurées en graphes telles que les graphes de connaissances (KG).1 Contrairement aux systèmes RAG classiques, qui s’appuient sur la recherche vectorielle pour récupérer des textes sémantiquement similaires, GraphRAG tire parti de la structure relationnelle des graphes pour extraire et traiter des informations à partir de requêtes spécialisées. 

GraphRAG a été introduit par Microsoft Research en 2024 pour remédier aux limitations des grands modèles de langage (LLM).2 Les LLM traditionnels ont souvent du mal à gérer les workflows complexes, en particulier lorsqu’il s’agit de raisonner avec des données privées ou structurées, car ils ne sont pas capables de comprendre les relations entre les entités. GraphRAG résout ce problème en utilisant des bases de données de graphes pour modéliser ces relations, ce qui lui permet de traiter les requêtes complexes, d’extraire des informations contextuelles et d’améliorer la précision des applications d’IA générative.

Les dernières tendances en matière d’IA, vues par des experts

Obtenez des informations sur les actualités les plus importantes et les plus intrigantes en matière d’intelligence artificielle. Abonnez-vous à notre newsletter hebdomadaire Think. Lire la Déclaration de confidentialité d’IBM.

Merci ! Vous êtes abonné(e).

Vous recevrez votre abonnement en anglais. Vous trouverez un lien de désabonnement dans chaque newsletter. Vous pouvez gérer vos abonnements ou vous désabonner ici. Consultez la Déclaration de confidentialité d’IBM pour plus d’informations.

Comment fonctionne GraphRag ?

La génération augmentée par récupération (RAG) est une technique qui consiste à récupérer les informations pertinentes en procédant à une recherche de similarité dans les bases de données vectorielles, sources de connaissances externes et bases de connaissances internes. On combine ensuite les informations récupérées avec un LLM pour générer des sorties précises et adaptées au contexte. Si les applications RAG traditionnelles améliorent les fonctionnalités des LLM dans les applications d’IA générative, elles ne permettent pas de capter les relations complexes entre les données. Elles peines à accomplir des tâches telles que le raisonnement multi-sauts (combiner les informations provenant de plusieurs sources pour obtenir des réponses par le biais de connexions logiques et d’inférences indirectes), le contexte relationnel et la compréhension des données hiérarchiques. Par exemple, une approche RAG traditionnelle peut avoir du mal à répondre à une requête du type « Qui a développé la théorie de la relativité ? », car cela nécessite un raisonnement sur les relations entre les entités. 

GraphRAG résout ce problème en incorporant des données structurées en graphes, qui organisent les informations dans un réseau de nœuds (entités telles que les personnes et les lieux), d’arêtes (les relations entre ces entités) et d’étiquettes (les attributs qui définissent la catégorie d’un nœud ou d’une arête). Par exemple, un graphe de connaissances peut représenter « Albert Einstein a développé la théorie de la relativité » sous forme d’informations structurées en graphe, ce qui facilite la récupération et le traitement de ces informations par GraphRAG. Dans cet exemple, les nœuds sont « Albert Einstein » et « théorie de la relativité », et l’arête est « développé ».

Architecture GraphRag

Composants de GraphRAG

GraphRAG fonctionne grâce à quatre composants principaux :

  1. Processeur de requête

  2. Récupérateur

  3. Organisateur

  4. Générateur

Processeur de requêtes

La requête de l’utilisateur est pré-traitée pour identifier les entités clés et les relations pertinentes pour la structure du graphe. Des techniques telles que la reconnaissance d’entités nommées et l’extraction relationnelle à partir du machine learning sont utilisées pour associer la requête aux nœuds et aux arêtes du graphe. Par exemple, la requête « Qui a développé la théorie de la relativité ? » identifie « Albert Einstein » comme nœud, et « développé » comme relation à rechercher dans le graphe. Des outils comme Cypher, un langage de requête graphique, sont utilisés pour récupérer des données spécialisées à partir de graphes de connaissances. 

Récupérateur

Le récupérateur localise et extrait le contenu pertinent des sources de données graphiques externes en fonction de la requête traitée. Contrairement aux systèmes RAG traditionnels, qui reposent sur des embeddings pour le texte et les images, les récupérateurs GraphRAG gèrent les données structurées sous forme de graphe en exploitant tant les signaux sémantiques que les signaux structurels. Ils utilisent des techniques telles que les algorithmes de parcours de graphe, à savoir des méthodes telles que la recherche en largeur (BFS) et la recherche en profondeur (DFS), qui explorent le graphe pour localiser les nœuds et arêtes pertinents. Parmi les autres techniques figurent les réseaux de neurones de graphes (GNN) (modèles d’IA avancés qui apprennent la structure des graphes afin de récupérer les données de manière efficace), la récupération adaptative (qui ajuste de manière dynamique la partie du graphe à rechercher pour réduire les informations non pertinentes et le bruit) et les modèles d’embedding. Pour la question « Qui a développé la théorie de la relativité ? », le récupérateur localise le nœud « théorie de la relativité » dans le graphe et suit la relation « développé par » pour trouver « Albert Einstein ».

Organisateur

Les données graphiques récupérées sont affinées pour éliminer les informations non pertinentes ou bruitées grâce à des techniques telles que l’élagage de graphe, le reclassement et l’augmentation. L’organisateur permet de s’assurer que le graphe extrait est propre, compact et prêt à être traité, tout en préservant les informations contextuelles critiques. Pour la requête « Qui a développé la théorie de la relativité ? », l’organisateur affine les données graphiques récupérées en supprimant les nœuds et les arêtes non pertinents, afin de garantir que seule la relation pertinente, « Albert Einstein-développé-théorie de la relativité », soit conservée. 

Générateur

Les données graphiques nettoyées sont ensuite utilisées pour produire la sortie finale. Il peut s’agir de générer des réponses textuelles à l’aide d’un LLM, ou de créer de nouvelles structures de graphe pour des tâches scientifiques telles que la conception de molécules ou l’enrichissement des graphes de connaissances. Pour la question « Qui a développé la théorie de la relativité ? », GraphRAG récupère « Albert Einstein » du graphe et génère la réponse « Albert Einstein a développé la théorie de la relativité. » Des techniques d’IA générative sont utilisées pour synthétiser la réponse finale. 

Exemple GraphRAG

Applications de GraphRAG

GraphRAG promet de transformer tous les secteurs. Il combine le raisonnement basé sur les graphes, la recherche vectorielle et l’IA générative pour gérer les tâches spécialisées requérant des informations contextuelles détaillées. Ci-dessous, vous trouverez les principales applications de GraphRAG :

  1. Synthèse de texte axée sur les requêtes (QFS)

  2. Recommandations personnalisées

  3. Aide à la décision

  4. Détection et prévention des fraudes

  5. Gestion et récupération des connaissances

Synthèse de texte axé sur les requêtes (QFS)

GraphRAG peut être utilisé pour la synthèse de texte axée sur les requêtes. Il vise à répondre aux requêtes spécifiques des utilisateurs en récupérant et en synthétisant des informations à partir d’une représentation du texte structurée sous forme de graphe. Une étude a démontré l’efficacité de GraphRAG pour répondre à des questions exploratoires générales sur de grands jeux de données, tels que les transcriptions de podcasts et les articles d’actualité.3 Il a surpassé les systèmes RAG traditionnels à base de vecteurs dans les tâches nécessitant des informations complètes et diverses. Par exemple, GraphRag a été testé sur un jeu de données de podcasts (~1 million de tokens) contenant des conversations avec des leaders technologiques et un jeu de données d’actualités (~1,7 million de tokens) couvrant des sujets liés à la santé, aux affaires et à la technologie. Parmi les questions posées, citons : « Comment les leaders technologiques perçoivent-ils les lois sur la protection de la vie privée ? » et « Quelles sont les principales priorités en matière de santé publique ? »

GraphRAG traite ces jeux de données en construisant un graphe de connaissances avec des entités (par exemple, les « lois sur la protection de la vie privée ») et des relations (par exemple, « impact sur la technologie »), et les organise en communautés hiérarchiques (groupe de nœuds connectés organisant des sujets généraux en sous-thèmes spécifiques). Les résumés communautaires prégénérés permettent au système de récupérer et de combiner efficacement les informations pertinentes. Comparé à la RAG traditionnelle, la méthode GraphRAG a atteint une exhaustivité (72-83 %) et une diversité (62-82 %) supérieure dans les réponses générées tout en nécessitant jusqu’à 97 % de tokens en moins pour les résumés de niveau racine. Cette capacité fait de GraphRAG un outil idéal pour les tâches d’interprétation et de compréhension dans des domaines tels que le journalisme, l’enseignement et la recherche.

Recommandations personnalisées

Dans des domaines tels que le commerce électronique et le divertissement, GraphRAG permet aux chatbots et aux moteurs de recommandation de fournir des expériences personnalisées. Par exemple, dans le e-commerce, les interactions passées entre les utilisateurs et les produits peuvent être représentées par un graphe. GraphRAG aide à gérer le volume croissant de données d’interactions utilisateur en extrayant des sous-graphes clés qui révèlent les préférences et les comportements des utilisateurs. Des recherches ont démontré que l’utilisation de plusieurs récupérateurs pour extraire des sous-graphes pertinents améliore la prédiction des actions de l’utilisateur, tandis que la récupération de sous-graphes de problèmes antérieurs similaires améliore la qualité des systèmes de réponse aux questions du service client.4

Aide à la décision

Dans le domaine des soins de santé, GraphRAG aide les médecins à diagnostiquer les patients présentant des symptômes complexes en analysant les liens entre les maladies, les symptômes et les traitements au sein d’une base de données graphique. Il récupère les études médicales pertinentes, les rapports de cas et les informations sur les médicaments pour suggérer des diagnostics possibles, mettre en évidence des options de traitement efficaces et même signaler les interactions médicamenteuses potentielles. Cette capacité permet aux professionnels de santé de prendre des décisions plus éclairées, de réduire les erreurs de diagnostic et de fournir des soins personnalisés aux patients.  

Par exemple, une étude récente a introduit MedGraphRAG, un cadre d’exigences conçu pour les applications médicales.5 Ce cadre organise les données médicales en trois niveaux : les données privées des utilisateurs (par exemple, rapports médicaux), la littérature médicale récente évaluée par les pairs et les dictionnaires médicaux de référence, contribuant à garantir l’exactitude, la traçabilité et la pertinence des données. Utilisant une structure de graphe hiérarchique et une stratégie de « récupération en U », il récupère et synthétise efficacement les informations pour les requêtes des utilisateurs, améliorant ainsi les performances des LLM en générant des réponses fiables et fondées sur des preuves avec des citations de sources. Ce cadre démontre le potentiel de workflows cliniques sécurisés, transparents et efficaces, aidant les professionnels de santé à obtenir des informations concrètes et exploitables.

Détection et prévention des fraudes

GraphRAG identifie les schémas inhabituels qui s’écartent du comportement attendu. Par exemple, dans les services financiers, il peut détecter des schémas de transaction suspects pour prévenir la fraude ou découvrir des opportunités de vente croisée en analysant le comportement des clients. En reliant de multiples petites transactions entre comptes, GraphRAG peut révéler des fraudes de plus grande ampleur, aidant ainsi les banques à améliorer la gestion des risques et à fournir des services plus personnalisés. 

Gestion et récupération des connaissances

GraphRAG peut améliorer la gestion des connaissances en organisant et en récupérant les documents de manière à rendre les connaissances plus accessibles et adaptées à des requêtes spécifiques. Il analyse le contexte et les relations entre différents documents et aide à extraire rapidement et efficacement les informations les plus pertinentes. Par exemple, l’un des principaux cas d’utilisation de GraphRAG est celui des cabinets d’avocats, où il excelle dans la gestion de vastes collections de documents juridiques. En analysant les relations et le contexte dans des milliers de documents juridiques, GraphRAG peut récupérer efficacement les précédents de cas pertinents ou les références juridiques, simplifiant ainsi les workflows de recherche et améliorant considérablement la précision.

AI Academy

L’essor de l’IA générative pour les entreprises

Découvrez l’essor historique de l’IA générative et ce que cela signifie pour les entreprises.

Défis de GraphRAG

Les systèmes GraphRAG présentent des défis tels que la gestion de relations complexes entre les données, la garantie d’une recherche efficace et l’intégration aux modèles de langage. Ces difficultés peuvent être surmontées grâce à une conception soignée du schéma du graphe, des stratégies de requête optimisées et l’utilisation d’outils robustes. Les principaux défis associés à GraphRAG sont les suivants :

  1. Évolutivité

  2. Rationalisation de l’intégration des composants

  3. Fiabilité

  4. Confidentialité et sécurité

  5. Explicabilité

Évolutivité

À mesure que le volume de données augmente, la mise à l’échelle des systèmes GraphRAG devient difficile. Un certain nombre de défis se posent, notamment la gestion des données non structurées, le stockage efficace des graphes, l’optimisation des requêtes de graphes, l’échantillonnage des sous-graphes, la génération réactive, l’organisation des composants récupérés, l’entraînement et le réglage fin. La mise en œuvre de solutions matérielles avancées, telles que l’accélération GPU, la compression de modèles et la maintenance, ajoute encore à la complexité.

Rationalisation de l’intégration des composants

La conception d’un système GraphRAG cohérent nécessite une interaction transparente entre le processeur de requêtes, le récupérateur, l’organisateur et le générateur de composants. Assurer un fonctionnement harmonieux de ces composants tout en maintenant leur efficacité et leur précision représente un défi complexe.

Fiabilité

Il est difficile de garantir un faible taux d’erreur dans le raisonnement multisaut, en raison de l’accumulation d’erreurs dans la récupération et la génération multihop.

Confidentialité et sécurité

La structure relationnelle des graphes présente des risques importants de fuite d’informations sensibles, car les connexions et les modèles au sein du graphe peuvent révéler des données privées. La protection de ces informations dans l’ensemble du pipeline GraphRAG nécessite des techniques robustes de préservation de la confidentialité. Les systèmes GraphRag sont vulnérables aux attaques adverses, notamment à l’exploitation de structures de graphes et à la manipulation des prompts, ce qui souligne encore la nécessité de renforcer les mesures de sécurité.

Explicabilité

Bien que GraphRAG offre une meilleure explicabilité grâce aux relations explicites entre les nœuds, la création de chemins de raisonnement ou d’explications clairs et interprétables reste un défi. Pour instaurer la confiance dans des domaines à forts enjeux comme la santé, le droit et la finance, il est essentiel de veiller à ce que ces explications soient à la fois exhaustives et fidèles à la logique du système.

Cadres pour la construction d’un système GraphRAG

Les systèmes GraphRAG peuvent être mis en œuvre à l’aide de divers outils et cadres, y compris des options open source, pour faciliter le traitement des documents, la création de graphes de connaissances, la recherche sémantique et l’Intégration des LLM. Parmi les outils les plus connus, citons LangChain, LlamaIndex, Neo4j et OpenAI, avec des ressources et des tutoriels supplémentaires disponibles sur des plateformes comme GitHub. 

LlamaIndex est utilisé pour indexer les documents, extraire les entités et les relations afin de créer des graphes de connaissances, générer des embeddings et intégrer des LLM tels que GPT. Neo4j sert de base de données pour stocker et gérer les structures de graphes, et permet une récupération efficace grâce à la recherche de graphes et aux relations sémantiques. 

Ces outils fonctionnent ensemble pour permettre la recherche sémantique en utilisant des embeddings vectoriels, la gestion des métadonnées pour la transparence et la génération de réponses contextuelles. Les LLM, notamment les modèles OpenAI GPT intégrés via des API, contribuent à produire des réponses précises et pertinentes à partir des données graphiques récupérées. 

GraphRAG représente un grand pas en avant par rapport aux systèmes RAG traditionnels, qui sont limités par des méthodes de recherche linéaires. Il combine la puissance des graphes de connaissances, de la recherche sémantique et des modèles de langage avancés. Face à la demande croissante du marché pour une compréhension plus approfondie et des informations interconnectées, GraphRAG est appelé à devenir une technologie clé. Il permettra de créer des systèmes d’information plus intelligents, plus dynamiques et hautement adaptatifs.

AI Academy

L’essor de l’IA générative pour les entreprises

Découvrez l’essor historique de l’IA générative et ce que cela signifie pour les entreprises.

Solutions connexes
IBM watsonx.ai

Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.

Découvrir watsonx.ai
Solutions d’intelligence artificielle

Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.

Découvrir les solutions d’IA
Services d’IA

Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.

Découvrir les services d’IA
Passez à l’étape suivante

Bénéficiez d’un accès centralisé aux fonctionnalités couvrant le cycle de développement de l’IA. Produisez des solutions IA puissantes offrant des interfaces conviviales, des workflows et un accès à des API et SDK conformes aux normes du secteur.

Découvrir watsonx.ai Réserver une démo en direct
Notes de bas de page

1 Han, H., Wang, Y., Shomer, H., Guo, K., Ding, J., Lei, Y., ... et Tang, J. (2024). Retrieval-augmented generation with graphs (graphrag). Prépublication arXiv arXiv:2501.00309.

2 Larson, J. et Truitt, S. (2024). GraphRAG : Unlocking LLM discovery on narrative private data. Blog Microsoft Research. https://www.microsoft.com/fr-fr/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/

3 Edge, D., Trinh, H., Cheng, N., Bradley, J., Chao, A., Mody, A., ... et Larson, J. (2024). From local to global : A graph rag approach to query-focused summarization. Prépublication arXiv arXiv:2404.16130.

4 Peng, B., Zhu, Y., Liu, Y., Bo, X., Shi, H., Hong, C., ... et Tang, S. (2024). Graph retrieval-augmented generation : A survey. Prépublication arXiv arXiv :2408.08921.

5 Wu, J., Zhu, J., Qi, Y., Chen, J., Xu, M., Menolascina, F. et Grau, V. (2024). Medical graph rag : Towards safe medical large language model via graph retrieval-augmented generation. Prépublication arXiv arXiv:2408.04187.