RAG (Retrieval-Augmented Generation) : définition et fonctionnement
Découvrez le RAG en IA : comment fonctionne la Retrieval-Augmented Generation, pourquoi elle surpasse le fine-tuning et ses cas d'usage concrets.
La Retrieval-Augmented Generation (RAG) est une technique qui améliore les réponses de l’IA en récupérant des informations pertinentes depuis des sources externes avant de générer une réponse. Au lieu de se fier uniquement à ce que le modèle a appris pendant son entraînement, le RAG lui donne accès à des documents, bases de données ou bases de connaissances à jour au moment de la requête.
Le résultat : des réponses plus précises, plus actuelles et plus vérifiables, avec moins d’hallucinations.
Comment fonctionne le RAG : trois étapes
Le RAG suit un pipeline en trois étapes à chaque question posée par un utilisateur :
1. Récupérer (Retrieve)
Le système prend la requête de l’utilisateur et cherche dans une base de connaissances les documents ou passages les plus pertinents. Cela utilise généralement la recherche vectorielle (similarité sémantique) plutôt que la correspondance par mots-clés, afin de comprendre le sens et pas seulement les mots exacts.
2. Enrichir (Augment)
Les documents récupérés sont injectés dans le prompt aux côtés de la question originale de l’utilisateur. Le modèle dispose alors à la fois de la question et du contexte pertinent pour travailler.
3. Générer (Generate)
Le modèle d’IA génère sa réponse en utilisant le contexte récupéré comme matériau d’ancrage. Parce qu’il dispose d’informations spécifiques et pertinentes dans son prompt, la réponse est plus précise et peut faire référence à de vraies sources.
Exemple de flux :
- L’utilisateur demande : « Quelle est notre politique de remboursement ? »
- Récupérer : le système cherche dans les docs internes et trouve le document de politique de remboursement.
- Enrichir : le texte de la politique est ajouté au prompt.
- Générer : le modèle répond en utilisant la vraie politique, pas une supposition générique.
Pourquoi le RAG surpasse le fine-tuning pour les données fraîches
| Facteur | RAG | Fine-tuning |
|---|---|---|
| Fraîcheur des données | Temps réel, toujours à jour | Figé au moment de l’entraînement |
| Vitesse de mise à jour | Ajout de nouveaux docs instantané | Nécessite un ré-entraînement (heures/jours) |
| Attribution des sources | Peut citer des documents spécifiques | Ne peut pas tracer les réponses jusqu’aux sources |
| Coût de mise à jour | Faible (mettre à jour la base de connaissances) | Élevé (ré-entraîner le modèle) |
| Contrôle des hallucinations | Ancré dans les docs récupérés | Peut encore halluciner |
L’avantage clé : quand vos données changent, vous mettez à jour votre base de connaissances, pas votre modèle. Aucun ré-entraînement nécessaire.
Cas d’usage concrets
- Bots de support client : répondre aux questions en utilisant la documentation produit, les FAQ et les documents de politique. Le bot dispose toujours des dernières informations sans ré-entraînement.
- Assistants de connaissances internes : chercher dans les wikis d’entreprise, l’historique Slack et les drives partagés pour répondre aux questions des employés.
- Recherche juridique : interroger des bases de jurisprudence et retourner des réponses fondées sur des décisions et des textes de loi spécifiques.
- Information médicale : récupérer depuis la littérature médicale curatée pour fournir des réponses basées sur des preuves avec citations.
- E-commerce : extraire les spécifications produit, les données d’inventaire et les avis pour répondre aux questions clients avec précision.
Outils et frameworks RAG populaires
La construction d’un système RAG nécessite quelques composants :
- Bases de données vectorielles : Pinecone, Weaviate, Chroma, Qdrant, pgvector. Elles stockent et recherchent les embeddings de documents.
- Frameworks d’orchestration : LangChain, LlamaIndex, Haystack. Ils connectent les étapes de récupération et de génération.
- Modèles d’embedding : OpenAI text-embedding-3, Cohere Embed, modèles open-source comme BGE ou E5.
- Plateformes tout-en-un : Vercel AI SDK, Azure AI Search, Google Vertex AI Search. Des solutions managées qui gèrent le pipeline complet.
Pièges courants du RAG
Le RAG est puissant mais pas magique. Attention à :
- Mauvais découpage : si les documents sont mal découpés, le contexte récupéré peut être incomplet ou non pertinent. La taille des chunks et le chevauchement comptent.
- Échecs de récupération : si la recherche ne trouve pas le bon document, le modèle génère sans contexte approprié et peut halluciner malgré tout.
- Limites de la context window : les documents récupérés consomment des tokens. Si vous récupérez trop, vous atteignez la limite de la context window du modèle. Si trop peu, vous ratez des informations importantes.
- Embeddings obsolètes : quand les documents changent, leurs embeddings doivent être régénérés. Des embeddings obsolètes mènent à une récupération obsolète.
RAG vs prompting vs fine-tuning : quand utiliser quoi
- Commencez par le prompting. Si le modèle en sait déjà assez pour répondre, demandez-lui simplement.
- Ajoutez le RAG quand le modèle manque de connaissances spécifiques ou quand vos données changent régulièrement.
- Utilisez le fine-tuning quand vous avez besoin de changements comportementaux comme un formatage cohérent, un ton spécifique ou un raisonnement de domaine que le prompting seul ne peut pas atteindre.
En pratique, beaucoup de systèmes en production combinent RAG et fine-tuning : un modèle fine-tuné pour le style et le format, avec du RAG pour l’ancrage factuel.
Termes associés
- Hallucination - quand l’IA génère des informations fausses ou non vérifiées, ce que le RAG aide à réduire
- Tokens - les unités qui limitent la quantité de contexte récupéré pouvant tenir dans un prompt
- Context Window - la quantité maximale de texte qu’un modèle peut traiter, impactant directement la conception du RAG