
Qu’est-ce que le RAG (Retrieval Augmented Generation) ?
Le RAG, pour Retrieval Augmented Generation, est une méthode d’intelligence artificielle qui permet à un modèle de langage de rechercher des informations dans des sources externes avant de générer une réponse. En français, le terme est généralement traduit par « génération augmentée par récupération » ou « génération augmentée par la recherche ».
Contrairement à un LLM qui répond principalement à partir des connaissances acquises lors de son entraînement, une architecture RAG peut aller chercher des informations pertinentes dans une base documentaire, une base de données, un site web, un catalogue produit ou encore les documents internes d’une entreprise. Ces informations sont ensuite ajoutées au contexte envoyé au modèle afin qu’il puisse produire une réponse plus précise et mieux adaptée à la question posée.
Le concept de Retrieval Augmented Generation a été formalisé en 2020 dans les travaux de Patrick Lewis et de plusieurs chercheurs travaillant sur l’association entre modèles génératifs et systèmes de recherche d’information. Depuis, le RAG est devenu l’une des architectures les plus utilisées pour développer des assistants IA capables d’exploiter des connaissances spécifiques à une organisation.
Comment fonctionne le RAG ?
Le principe du RAG peut être résumé en trois actions : retrouver une information, enrichir le contexte du modèle puis générer une réponse. Derrière cette mécanique relativement simple se cache toutefois une architecture composée de plusieurs étapes.
- Préparation des données : les documents qui serviront de base de connaissances sont collectés et généralement découpés en portions de texte plus petites, souvent appelées « chunks ».
- Indexation : les contenus sont organisés afin de pouvoir être retrouvés rapidement. De nombreuses architectures utilisent des embeddings, c’est-à-dire des représentations numériques du sens des textes, stockées dans un index ou une base de données vectorielle.
- Recherche : lorsqu’un utilisateur pose une question, le système recherche les informations les plus pertinentes dans la base de connaissances.
- Augmentation du contexte : les passages retrouvés sont ajoutés à la requête envoyée au LLM.
- Génération : le modèle utilise la question de l’utilisateur et les informations récupérées pour construire sa réponse.
Une architecture RAG ne nécessite pas obligatoirement une base de données vectorielle. La récupération des informations peut aussi reposer sur une recherche par mots-clés, une recherche sémantique ou une combinaison de plusieurs méthodes appelée recherche hybride.
Quels sont les principaux composants d’une architecture RAG ?
La base de connaissances
La base de connaissances contient les informations accessibles au système. Il peut s’agir de fichiers PDF, de pages web, de documents bureautiques, d’une documentation technique, d’un CRM, d’un catalogue produit, d’une FAQ ou encore de données provenant des outils internes de l’entreprise.
Les embeddings
Les embeddings permettent de transformer des textes en représentations numériques. Deux contenus ayant un sens proche auront ainsi des représentations relativement proches dans l’espace vectoriel. Cette technique facilite la recherche d’informations selon leur signification, et pas uniquement selon la présence d’un mot-clé exact.
Le moteur de recherche ou retriever
Le retriever est chargé de trouver les documents ou passages les plus pertinents par rapport à la question de l’utilisateur. La qualité de cette étape est essentielle : si les mauvaises informations sont récupérées, le modèle risque de produire une mauvaise réponse, même si le LLM utilisé est performant.
Le modèle de langage
Le LLM reçoit ensuite la question accompagnée des informations récupérées. Son rôle est de comprendre ces éléments, de les synthétiser et de générer une réponse naturelle. Le modèle n’a donc pas nécessairement besoin d’avoir appris ces informations lors de son entraînement initial.
Pourquoi utiliser le RAG avec un LLM ?
L’un des principaux intérêts du RAG est de permettre à une intelligence artificielle de travailler avec des informations qui ne sont pas contenues dans ses données d’entraînement. Une entreprise peut ainsi connecter un assistant IA à sa propre documentation sans devoir entraîner un nouveau modèle de langage à chaque mise à jour.
Le RAG permet notamment de fournir au LLM des informations plus récentes, d’exploiter des données métier ou propriétaires et d’améliorer la pertinence des réponses sur un domaine spécialisé. Lorsqu’il est correctement conçu, il peut également permettre d’associer une réponse aux documents qui ont servi à la générer.
Cette approche contribue aussi à réduire certaines hallucinations des modèles génératifs. Elle ne les fait cependant pas disparaître totalement. La qualité d’un système RAG dépend directement de la fiabilité des sources utilisées, de la méthode de recherche, du découpage des documents et des instructions données au modèle.
Quels sont les cas d’usage du RAG ?
Le Retrieval Augmented Generation est particulièrement adapté aux applications dans lesquelles un LLM doit répondre à partir d’un corpus documentaire spécifique.
Il peut par exemple servir à créer un chatbot de support client capable de consulter une documentation produit, un assistant interne qui répond aux questions des collaborateurs à partir des documents de l’entreprise, un moteur de recherche conversationnel, un assistant commercial connecté à un catalogue ou encore une interface permettant d’interroger des rapports et des bases documentaires en langage naturel.
Pour une agence ia, le RAG constitue également une brique importante pour concevoir des assistants et des agents intelligents connectés aux véritables connaissances de l’entreprise, plutôt que de s’appuyer uniquement sur les connaissances générales d’un modèle.
Quelle différence entre RAG et fine-tuning ?
Le RAG et le fine-tuning répondent à deux besoins différents. Le RAG agit principalement sur les connaissances auxquelles le modèle peut accéder au moment de répondre, tandis que le fine-tuning modifie le comportement du modèle en poursuivant son entraînement sur des données spécifiques.
Si une entreprise souhaite qu’un assistant consulte régulièrement une documentation qui évolue, le RAG est généralement adapté, car les documents peuvent être mis à jour indépendamment du modèle. Le fine-tuning sera davantage utilisé pour apprendre au modèle un format de réponse, un style, une terminologie particulière ou certains comportements spécialisés.
Les deux méthodes ne sont d’ailleurs pas incompatibles. Un modèle fine-tuné peut parfaitement être intégré dans une architecture RAG.
Le RAG permet-il d’éviter les hallucinations de l’IA ?
Le RAG peut réduire le risque d’hallucination en donnant au modèle des informations pertinentes sur lesquelles appuyer sa réponse, mais il ne garantit pas qu’une réponse sera toujours exacte.
Un système peut récupérer un document peu pertinent, mal interpréter une source ou générer une affirmation qui n’est pas réellement soutenue par le contexte fourni. C’est pourquoi les architectures RAG les plus robustes prévoient des mécanismes de contrôle des sources, de citation, d’évaluation des réponses et parfois de vérification automatique.
Quelles sont les limites du Retrieval Augmented Generation ?
La performance d’un RAG dépend d’abord de la qualité de sa base documentaire. Des données obsolètes, contradictoires ou mal structurées donneront difficilement de bonnes réponses.
Le découpage des documents est également important. Des fragments trop courts peuvent perdre leur contexte tandis que des fragments trop longs risquent d’ajouter beaucoup d’informations inutiles dans le prompt.
Il faut aussi prendre en compte les droits d’accès et la confidentialité. Lorsqu’un système RAG interroge des documents internes, il doit respecter les autorisations des utilisateurs afin d’éviter qu’une personne puisse accéder à une information qui ne lui est normalement pas destinée.
Enfin, l’ajout d’une étape de recherche augmente la complexité de l’application : il faut gérer l’indexation, la récupération des documents, le classement des résultats, la construction du contexte, la génération de la réponse et l’évaluation de l’ensemble du système.
FAQ - RAG et Retrieval Augmented Generation
Que signifie RAG en intelligence artificielle ?
RAG signifie Retrieval Augmented Generation. Il s’agit d’une architecture qui combine un système de recherche d’informations avec un modèle d’intelligence artificielle générative. Le système récupère des informations pertinentes dans une source externe avant de les transmettre au modèle pour l’aider à répondre.
Une base de données vectorielle est-elle obligatoire pour faire du RAG ?
Non. Les bases de données vectorielles sont très utilisées dans les architectures RAG car elles facilitent la recherche sémantique à partir d’embeddings, mais il est également possible d’utiliser une recherche classique par mots-clés, une base de données structurée ou une combinaison de plusieurs technologies de recherche.
Quelle est la différence entre un LLM classique et un LLM avec RAG ?
Un LLM utilisé seul génère principalement ses réponses à partir des informations apprises pendant son entraînement et du contexte présent dans le prompt. Avec un RAG, des informations externes pertinentes sont recherchées puis ajoutées à ce contexte avant la génération de la réponse.
Peut-on utiliser le RAG avec des documents internes ?
Oui. C’est même l’un de ses principaux cas d’usage en entreprise. Une architecture RAG peut permettre à un assistant IA d’interroger des procédures internes, des documentations techniques, des contrats, des présentations, des données produits ou d’autres ressources privées, à condition de mettre en place des règles de sécurité et de contrôle des accès adaptées.
Le RAG remplace-t-il l’entraînement d’un modèle ?
Non. Le RAG ne remplace pas l’entraînement du modèle de langage. Il lui apporte des informations supplémentaires au moment où celui-ci doit répondre. Cette distinction permet notamment de faire évoluer la base de connaissances sans avoir à réentraîner le LLM à chaque modification d’un document.