Génération augmentée par récupération (RAG)
La génération augmentée par récupération (RAG) est une technique qui améliore les réponses d’un modèle de langage en récupérant des informations pertinentes depuis une source externe, puis en fournissant ces informations au modèle sous forme de contexte avant qu’il ne génère une réponse. Plutôt que de s’appuyer exclusivement sur ce qu’il a appris lors de son entraînement, le modèle répond à l’aide de documents récupérés au moment de la requête, ce qui permet à sa sortie d’être actuelle, précise et ancrée dans des sources réelles.
En résumé : le RAG recherche d’abord les informations pertinentes, puis laisse le modèle générer sa réponse à partir de ce contexte récupéré, ancrant ainsi la réponse dans des sources réelles plutôt que dans la seule mémoire.
Comment fonctionne le RAG
Introduit pour la première fois dans un article de recherche de 2020, le RAG divise le travail entre la préparation et le moment de la requête :
- Préparer les connaissances : les documents sources sont divisés en fragments, transformés en embeddings, puis stockés dans une base de données vectorielle ou un index de recherche.
- Récupérer : lorsqu’une requête arrive, le système effectue une recherche dans la base de données vectorielle en utilisant une approche sémantique, par mots-clés ou une combinaison des deux (c’est-à-dire la recherche hybride) et renvoie les passages les plus pertinents.
- Reclasser : une étape optionnelle de reclassement réordonne les candidats afin que les meilleurs passages apparaissent en premier.
- Augmenter : les passages les mieux classés sont insérés dans l’invite du modèle (et dans sa fenêtre de contexte) aux côtés de la question de l’utilisateur.
- Générer : le LLM rédige une réponse ancrée dans les passages fournis, en citant souvent ses sources.
L’idée déterminante est la séparation des connaissances et du raisonnement : le modèle fournit le langage et le raisonnement tandis que la récupération fournit les faits, si bien que les connaissances peuvent être mises à jour sans réentraîner le modèle.
Le RAG face à l’ajustement fin et aux LLM classiques
- L’ajustement fin intègre de nouvelles connaissances dans les poids du modèle, ce qui est coûteux et devient rapidement obsolète ; le RAG fournit les connaissances au moment de la requête, ce qui le rend peu coûteux à mettre à jour et lui permet de rester actuel.
- Un LLM classique répond à partir des seules données d’entraînement, limité par sa date limite de connaissances et sujet aux hallucinations pour de nombreuses raisons (pas seulement des données d’entraînement obsolètes). Le RAG peut réduire les affirmations non étayées en ancrant les réponses dans des sources récupérées et en permettant les citations, mais il n’élimine pas totalement les hallucinations.
- Le RAG standard effectue une récupération unique, puis génère une réponse ; la recherche agentique permet au modèle de choisir d’effectuer des recherches répétées et d’affiner ses résultats, une technique combinée parfois appelée « RAG agentique ».
Où le RAG est-il utilisé
- Réponse aux questions sur des données privées : des assistants qui répondent à partir des propres documents, wikis et tickets d’une entreprise.
- Moteurs de réponse par IA : ancrer les réponses dans des résultats web récents afin qu’elles restent actuelles et citables.
- Recherche dans l’assistance et la documentation : faire ressortir le bon passage en réponse à une question en langage naturel.
- Les API de recherche comme couche de récupération : pour un RAG à l’échelle du web ou à jour, une API de recherche constitue souvent le « R » de l’acronyme « RAG », en renvoyant des résultats web récents et classés qui deviennent le contexte du modèle. L’API du moteur de recherche Brave propose des points d’accès (dont un service de contexte pour LLM) conçus pour renvoyer du contenu pré-extrait et classé par pertinence à des fins d’ancrage. La couverture, la fraîcheur et la latence déterminent directement la qualité des réponses.
Le RAG est essentiel dès lors que les réponses doivent être exactes, actuelles ou spécifiques à des connaissances pour lesquelles le modèle n’a jamais été entraîné, une exigence courante dans les assistants IA et les moteurs de réponse en production.
Termes associés
Fractionnement, embeddings, base de données vectorielle, recherche sémantique, recherche hybride, reclassement, fenêtre de contexte, hallucination, date limite de connaissances, grand modèle de langage (LLM), recherche agentique, API de recherche.