P

RAG : Définition et Exemples

Le RAG (Retrieval-Augmented Generation) est une technique qui enrichit les réponses d'un modèle de langage en lui fournissant des informations extraites de sources externes avant de générer sa réponse.

Définition complète

Le RAG, ou Retrieval-Augmented Generation (génération augmentée par la récupération), est une architecture qui combine deux étapes clés : la recherche d'informations pertinentes dans une base de connaissances, puis la génération d'une réponse par un LLM en s'appuyant sur ces informations récupérées. Cette approche permet de pallier les limites fondamentales des modèles de langage, notamment leur date de coupure de connaissances et leur tendance aux hallucinations.

Concrètement, lorsqu'un utilisateur pose une question, le système RAG commence par convertir cette question en un vecteur (embedding), puis recherche les passages les plus similaires dans une base de données vectorielle. Ces passages pertinents sont ensuite injectés dans le prompt envoyé au LLM, qui peut alors formuler une réponse fondée sur des données factuelles et à jour.

Le RAG s'est imposé comme l'une des architectures les plus populaires en IA appliquée, car il offre un excellent compromis entre performance et coût. Plutôt que de fine-tuner un modèle entier sur des données spécifiques (opération coûteuse et rigide), le RAG permet de mettre à jour la base de connaissances indépendamment du modèle. C'est l'approche privilégiée pour les chatbots d'entreprise, les assistants documentaires et les systèmes de question-réponse sur des corpus spécialisés.

La qualité d'un système RAG dépend fortement de la pertinence de la phase de récupération. Un mauvais découpage des documents, des embeddings peu adaptés au domaine ou une stratégie de recherche trop simpliste peuvent dégrader significativement les résultats. C'est pourquoi des techniques avancées comme le re-ranking, le chunking sémantique ou le RAG multi-étapes ont émergé pour améliorer la précision de ces systèmes.

Étymologie

L'acronyme RAG a été introduit par Patrick Lewis et al. dans leur article de recherche "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks" publié par Facebook AI Research (FAIR) en 2020. Le terme combine "Retrieval" (récupération d'information, discipline historique en informatique) et "Augmented Generation" (génération augmentée), reflétant la fusion de la recherche documentaire classique avec la génération de texte par réseaux de neurones.

Exemples concrets

Assistant documentaire d'entreprise

En te basant uniquement sur les documents fournis ci-dessous, réponds à la question de l'utilisateur. Si l'information n'est pas présente dans les documents, indique-le clairement.

[Documents récupérés]
{context}

Question : {question}

Chatbot de support client avec base de connaissances

Tu es un agent de support pour [Entreprise]. Utilise les articles d'aide suivants pour répondre au client. Cite les numéros d'articles pertinents dans ta réponse.

Articles pertinents :
{retrieved_articles}

Demande du client : {query}

Recherche juridique augmentée

Analyse les extraits de jurisprudence suivants et synthétise les principes juridiques applicables à la situation décrite. Cite chaque source entre crochets.

Extraits :
{legal_passages}

Situation : {case_description}

Usage pratique

En prompt engineering, le RAG se traduit par la conception de prompts qui intègrent un contexte documentaire récupéré dynamiquement. L'enjeu principal est de structurer le prompt pour que le modèle s'appuie sur les documents fournis plutôt que sur ses connaissances internes, en utilisant des instructions explicites comme "base-toi uniquement sur les documents suivants". Il est également crucial de gérer les cas où aucun document pertinent n'est trouvé, en demandant au modèle de signaler l'absence d'information plutôt que d'inventer une réponse.

Concepts liés

EmbeddingsBase de données vectorielleChunkingFine-tuning

FAQ

Quelle est la différence entre RAG et fine-tuning ?
Le fine-tuning modifie les poids du modèle en l'entraînant sur des données spécifiques, ce qui est coûteux et nécessite un réentraînement à chaque mise à jour. Le RAG, lui, injecte les informations pertinentes au moment de la requête sans modifier le modèle. Le RAG est préférable quand les données changent fréquemment ou quand on a besoin de traçabilité des sources. Le fine-tuning est plus adapté pour modifier le style ou le comportement profond du modèle.
Comment améliorer la qualité d'un système RAG ?
Plusieurs leviers existent : optimiser le découpage des documents (chunking) en utilisant des segments sémantiquement cohérents plutôt qu'un découpage fixe, choisir un modèle d'embeddings adapté à votre domaine et votre langue, ajouter une étape de re-ranking pour réordonner les résultats par pertinence, et enrichir les métadonnées des documents pour permettre un filtrage hybride (vectoriel + mots-clés). Tester et itérer sur ces paramètres avec des jeux de questions-réponses de référence est essentiel.
Le RAG peut-il complètement éliminer les hallucinations ?
Non, le RAG réduit significativement les hallucinations mais ne les élimine pas totalement. Le modèle peut encore mal interpréter un passage récupéré, fusionner incorrectement des informations provenant de plusieurs sources, ou générer des extrapolations non fondées. Pour minimiser ce risque, il est recommandé de demander explicitement au modèle de citer ses sources et de ne répondre que si l'information est présente dans le contexte fourni.

Voir aussi

Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter.