Dr. Malak Ghourabi
Malgré le développement continu de modèles plus grands et plus intelligents, les modèles actuels des grands langages (LLM) continuent de faire face à des défis lorsqu’il s’agit de tâches qui exigent des connaissances spécialisées. Les LLMs, formés sur de vastes ensemble de données (livres, articles scientifiques, publications sur les réseaux sociaux et pages web) sont capables de générer du texte ressemblant à celui des humains, de répondre à une large gamme de questions ou encore d’aider dans des tâches telles que la rédaction de résumés ou la création de textes. Mais ils se comportent comme des « généralistes » et ne disposent pas de spécialisation dans un domaine précis.
Afin de leur permettre de répondre avec précision et pertinence à des requêtes dans un domaine spécifique (sûreté nucléaire, droit du travail, anesthésie, etc.), il est nécessaire de les enrichir avec des informations spécialisées. Les ré-entraîner complètement sur un domaine donné exige d’importantes capacités de calcul et ne permet pas de prendre en compte des évolutions régulières du secteur. Il est donc plus efficace de leur donner accès à des informations (sous forme de documents) sur lesquels ils pourront s’appuyer pour enrichir leurs capacités à répondre dans un secteur spécialisé.
Pour répondre à ce besoin, les chercheurs ont développé une approche innovante appelée Retrieval-Augmented Generation (RAG). Cette méthode renforce les capacités des LLM en combinant la récupération (retrieval), qui consiste à extraire des informations pertinentes d’une base de données ou d’un corpus, et la génération, qui permet de produire un texte cohérent et adapté au contexte à partir de ces informations.
- Qu’est-ce que le RAG ?
Le RAG intègre un mécanisme de récupération externe, permettant aux LLM d’accéder dynamiquement à des connaissances spécialisées et actualisées provenant de sources telles que des bases de données, des fichiers organisationnels, des dépôts de documents, des articles nouvellement publiés ou du contenu web. En combinant les forces des modèles de récupération et de génération, le RAG produit des résultats précis, pertinents et fondés sur des faits [1].
Architecture du RAG
Comme le montre la Figure 1 ci-dessous, le cadre traditionnel du RAG fonctionne comme suit :
- L’utilisateur saisit une requête, ce qui déclenche le modèle de récupération pour interroger la base de données interne ou des bases de connaissances externes à la recherche d’informations pertinentes.
- Le récupérateur utilise une technique de représentation des informations sous forme de vecteurs (embedding dense*) pour convertir la requête et les documents en représentations numériques. Ces représentations permettent de comparer plus efficacement la requête avec les documents et d’identifier ceux qui sont les plus pertinents.
- Le modèle de récupération enrichit la requête de l’utilisateur avec les informations récupérées, créant ainsi une requête augmentée.
- La requête augmentée est transmise au générateur, qui utilise un modèle de transformation séquence-à-séquence (par exemple, T5 ou BART) pour générer une réponse précise et contextuellement cohérente, qui est ensuite fournie à l’utilisateur.
* Word2Vec est un exemple d’embedding dense, contrairement à One-Hot Encoding qui est une représentation de « sparse encoding ». Dans l’un, le mot chat sera représenté par un vecteur du type « chat » → [0.25, -0.18, 0.63, 0.75, …] (avec un vecteur réduit) alors que dans l’autre on aurait « chat » → [0, 0, 1, 0, 0, …, 0] (avec un vecteur de la taille du vocabulaire)

Figure 1 – Architecture traditionnelle du RAG
Cas d’utilisation du RAG
Le RAG est extrêmement efficace pour une variété d’applications grâce à sa capacité à récupérer et intégrer dynamiquement des connaissances externes. Parmi ces cas d’utilisation, on peut citer :
- Questions ouvertes (Open-Domain Question Answering) : le RAG est capable de répondre à des questions complexes en récupérant des informations pertinentes à partir de sources de connaissances non structurées, telles que des articles de recherche, du contenu en ligne et des encyclopédies.
- Résumé (Summarization) : le RAG peut extraire les points clés des bases de connaissances pour générer des résumés concis destinés aux rapports ou aux documents.
- Chatbots (par exemple de support client) : le RAG permet aux chatbots d’accéder à des informations actualisées, fournissant ainsi des réponses précises aux requêtes des utilisateurs en temps réel.
Le RAG est particulièrement adapté aux données non structurées, comme les documents texte ou les images. Cependant, il rencontre des difficultés lorsqu’il s’agit de traiter ou de raisonner sur des données structurées, c’est-à-dire des informations organisées selon un format défini, comme des bases de données, des feuilles de calcul ou des tableaux, où chaque élément suit une structure claire (par exemple, des colonnes et des lignes définies). Pour ces cas spécifiques, le GraphRAG améliore le RAG en intégrant des graphes de connaissances, qui sont des représentations structurées de l’information où les entités (nœuds) et leurs relations (arêtes) sont organisées pour refléter leurs interconnexions, permettant ainsi un raisonnement sémantique et une compréhension approfondie des données complexes.
Par exemple, dans un graphe de connaissances médical, les nœuds peuvent représenter des entités telles que des maladies, des symptômes, des traitements et des médicaments, tandis que les arêtes décrivent leurs relations, comme « cause », « traité par » ou « symptôme de ». Un modèle RAG traditionnel pourrait avoir du mal à exploiter pleinement ces relations pour répondre à une question complexe, comme identifier la cause probable d’un ensemble de symptômes tout en prenant en compte les liens entre plusieurs maladies et traitements. Le GraphRAG, en revanche, utilise la structure des graphes pour un raisonnement plus précis et une meilleure exploitation des relations interconnectées.
2. GraphRAG : Une approche optimisée pour analyser des données interconnectées
L’architecture d’un GraphRAG est conçue pour intégrer le raisonnement basé sur les graphes dans le mécanisme du RAG. En exploitant les informations structurelles contenues dans les graphes de connaissances, le GraphRAG améliore le processus de récupération et permet de générer des réponses précises.
Cette section explore les composants principaux de l’architecture du GraphRAG, en soulignant son interaction avec les graphes de connaissances et sa capacité à traiter efficacement des données structurées.
Architecture du GraphRAG
Architecture du GraphRAG (Figure 2) se compose des étapes suivantes :
- Création du Graphe : la première étape consiste à créer un graphe dans lequel les nœuds représentent des unités de données (par exemple, des comptes bancaires, des transactions, des entreprises ou des utilisateurs), et les arêtes illustrent les relations entre ces nœuds (comme les transactions entre comptes, les liens entre entreprises ou les historiques de paiements suspects). Ce graphe sert de représentation structurée des données, posant ainsi les bases d’une récupération efficace pour la détection des fraudes.
- Requête d’entrée : l’utilisateur fournit une requête,
qui sert de point de départ au processus de récupération. Par exemple, la requête pourrait être :
« Cet utilisateur a-t-il un historique de transactions frauduleuses ? »
Cette requête déclenche le processus de récupération d’informations pertinentes à partir du graphe.
- Récupérateur basé sur des graphes : le récupérateur, entraîné sur ensembles de données structurées en graphes, extrait des informations pertinentes à partir de graphes de connaissances. Par exemple, pour une requête sur une transaction suspecte, le système analyse les connexions entre l’utilisateur et des comptes impliqués dans des fraudes passées, les modèles de transactions inhabituels et les liens entre entreprises à risque. Il identifie ainsi des signaux d’alerte et récupère des données pertinentes pour évaluer le risque de fraude.
- Générateur tenant compte des graphes : ce composant implémente les informations structurées récupérées pour générer une réponse détaillée et précise. Il prend en compte la structure du graphe, c’est-à-dire les relations entre les nœuds, pour garantir que la réponse reflète la nature interconnectée des données. Dans l’exemple de la détection du risque de fraude, le générateur évalue les informations récupérées et identifie les transactions suspectes, le taux de similarité avec des fraudes passées, ainsi que la nécessité de bloquer ou surveiller le compte.

Figure 2 – Architecture du GraphRAG
Cas d’utilisation du GraphRAG
- Traitement du Langage Naturel (NLP) : le GraphRAG peut être utilisé pour générer du texte, répondre à des questions ou extraire des informations à partir de données basées sur des graphes.
- Recherche scientifique : le GraphRAG est utile pour gérer et extraire des informations provenant d’articles scientifiques, d’études et de données interconnectées par nature.
- Systèmes de recommandation : le GraphRAG peut être appliqué dans des systèmes de recommandation pour identifier des éléments pertinents et fournir des recommandations précises et adaptées aux utilisateurs.
Le GraphRAG représente une avancée majeure dans le cadre du RAG, mais d’autres variantes ont été développées pour répondre à des défis spécifiques. Parmi elles, le LazyGraphRAG [2], qui combine la récupération vectorielle et basée sur les graphes pour optimiser l’efficacité, le StructRAG [3], conçu pour exploiter les données structurées comme les tableaux et taxonomies, et le RAG Multimodal [4], qui intègre plusieurs types de données (texte, image, audio, vidéo) dans le processus de récupération et de génération.
Parmi ces extensions, l’Agentic RAG se distingue particulièrement en intégrant une capacité décisionnelle autonome [5]. Il ne se limite pas à récupérer des informations, mais permet aux modèles d’analyser le contexte d’une requête, de prendre des décisions sur les données récupérées et d’interagir avec des outils externes, tels que des API (Interfaces de Programmation d’Applications, qui permettent aux logiciels de communiquer entre eux) ou des bases de données. Contrairement aux autres variantes qui se contentent d’extraire des informations pertinentes, l’Agentic RAG automatise des processus complexes en temps réel. Si les données nécessaires ne sont pas disponibles, l’agent peut rediriger la requête vers d’autres sources ou informer l’utilisateur des limites de l’information accessible. Cette approche renforce la pertinence et la fiabilité des réponses, rendant l’Agentic RAG particulièrement adapté aux applications nécessitant une prise de décision dynamique, comme l’assistance juridique, la finance ou l’automatisation des processus métiers [5].
Conclusion
Le RAG et ses extensions offrent des solutions puissantes pour améliorer les capacités des modèles des grands langages (LLMs) en intégrant des mécanismes de récupération externes pour accéder à des connaissances dynamiques et spécialisées. Grâce à ces avancées, la famille des modèles RAG ouvre de nouveaux horizons pour répondre à des questions complexes, générer du contenu et raisonner sur des types de données diversifiés, ouvrant la voie à des systèmes d’intelligence artificielle plus sophistiqués dans divers domaines, tels que la santé, l’analyse juridique, le commerce électronique et les assistants virtuels.
Références
[1] P. Lewis et al., « Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks », 2020, arXiv. doi: 10.48550/ARXIV.2005.11401.
[2] B. Potts, « LazyGraphRAG sets a new standard for GraphRAG quality and cost », Microsoft Research. Consulté le: 26 novembre 2024. [En ligne]. Disponible sur: https://www.microsoft.com/en-us/research/blog/lazygraphrag-setting-a-new-standard-for-quality-and-cost/
[3] Z. Li et al., « StructRAG: Boosting Knowledge Intensive Reasoning of LLMs via Inference-time Hybrid Information Structurization », 2024, arXiv. doi: 10.48550/ARXIV.2410.08815.
[4] W. Chen, H. Hu, X. Chen, P. Verga, et W. W. Cohen, « MuRAG: Multimodal Retrieval-Augmented Generator for Open Question Answering over Images and Text », 2022, arXiv. doi: 10.48550/ARXIV.2210.02928.
[5] C. Ravuru, S. S. Sakhinana, et V. Runkana, « Agentic Retrieval-Augmented Generation for Time Series Analysis », 2024, arXiv. doi: 10.48550/ARXIV.2408.14484.
[6] S. Thakur, « Evolution of RAG, Long Context LLMs to Agentic RAG », Analytics Vidhya. Consulté le: 22 novembre 2024. [En ligne]. Disponible sur: https://www.analyticsvidhya.com/blog/2024/10/evolution-of-agentic-rag/