Section 10.7.2 : RAG — Retrieval-Augmented Generation
🎯 Objectif pédagogique
Comprendre le RAG (Retrieval-Augmented Generation), la technique qui permet à un LLM de répondre avec vos propres données — documents, base de connaissances, historique — sans fine-tuning. Vous apprendrez le processus technique (ingestion, vectorisation, recherche), les outils accessibles sans code, et les bonnes pratiques pour obtenir des réponses fiables et sourcées.
Le problème que RAG résout
Les LLM ont deux limitations majeures qui freinent leur adoption en entreprise :
Limitation 1 — Connaissances figées : un LLM est formé sur des données ayant une date limite. GPT-5 a été formé sur des données allant jusqu'à début 2025. Il ne connaît pas vos résultats du trimestre dernier, les décisions prises en réunion hier, ou les changements de tarifs annoncés ce matin.
Limitation 2 — Pas d'accès à vos données privées : le LLM ne connaît pas les documents internes de votre entreprise — procédures, contrats, bases clients, historique de projet, notes CRM. Il ne peut donc pas répondre à "Quel est notre taux de churn sur le segment Enterprise au Q4 2025 ?".
Solutions possibles :
- →Fine-tuning : réentraîner le modèle sur vos données. Coûteux (10,000€+), lent (jours), et les données deviennent vite obsolètes.
- →RAG : fournir les documents pertinents au moment de la question, dans le prompt. Rapide, économique, toujours à jour.
Le RAG est devenu la solution standard pour 90% des cas d'usage entreprise car il combine le meilleur des deux mondes : la puissance de raisonnement du LLM + vos données spécifiques.
Comment fonctionne le RAG (le processus complet)
Phase A — Ingestion (préparation, faite une seule fois) :
Étape 1 : Collecte des documents source Rassemblez tous les documents que l'IA devra "connaître" : PDFs, documents Word, pages web, emails importants, notes de réunion, FAQ, documentation technique, contrats, etc. Plus vos sources sont complètes et bien organisées, meilleures seront les réponses.
Étape 2 : Découpage en "chunks" Chaque document est découpé en morceaux (chunks) de taille optimale — typiquement 500-1000 tokens (~300-700 mots). Pourquoi découper ? Parce que le LLM a une fenêtre de contexte limitée : on ne peut pas lui envoyer 500 pages d'un coup. On lui envoie uniquement les chunks pertinents.
Le découpage est un art :
- →Trop petit (100 tokens) : perte de contexte, le chunk n'a pas de sens seul
- →Trop grand (2000 tokens) : dilution, informations non pertinentes incluses
- →Technique clé — overlap : chaque chunk chevauche le précédent de 10-20% pour ne pas couper une idée en plein milieu
Étape 3 : Vectorisation (embeddings) Chaque chunk est converti en un vecteur — une série de 1536 nombres (pour les modèles OpenAI) qui représente le sens du texte, pas les mots exacts. Deux phrases qui parlent du même sujet avec des mots différents auront des vecteurs proches.
Exemple : "Le taux de rétention client au Q4 est de 85%" et "Nous conservons 85% de nos clients au dernier trimestre" produisent des vecteurs très similaires, même si les mots sont différents.
Étape 4 : Stockage dans une base vectorielle Les vecteurs sont stockés dans une base spécialisée (Pinecone, Chroma, Weaviate, Qdrant, pgvector). Ces bases sont optimisées pour la recherche par similarité — trouver les vecteurs les plus proches d'un vecteur donné, parmi des millions.
Phase B — Requête (à chaque question de l'utilisateur) :
Étape 5 : L'utilisateur pose une question Exemple : "Quel est notre taux de churn sur le segment Enterprise au Q4 2025 ?"
Étape 6 : Vectorisation de la question La question est convertie en vecteur avec le même modèle d'embedding que les chunks. Ainsi, on peut comparer la question aux documents sur la même "échelle de sens".
Étape 7 : Recherche de similarité La base vectorielle retourne les 3-5 chunks dont les vecteurs sont les plus similaires au vecteur de la question. Ce sont les passages de vos documents les plus pertinents pour répondre.
Étape 8 : Injection dans le prompt Le prompt envoyé au LLM ressemble à :
Contexte (extraits de documents internes) :
[Chunk 1] Rapport Q4 2025 — Segment Enterprise : taux de churn 4.2%...
[Chunk 2] Analyse rétention — Le segment Enterprise montre une amélioration...
[Chunk 3] KPIs dashboard — Enterprise: 150 clients, -6 churns, acquisition +12...
Question de l'utilisateur : Quel est notre taux de churn sur le segment Enterprise au Q4 2025 ?
Instructions : Réponds en te basant UNIQUEMENT sur les documents fournis.
Cite la source pour chaque affirmation. Si l'information n'est pas dans les documents, dis-le.
Étape 9 : Génération de la réponse sourcée Le LLM produit une réponse basée sur vos données : "Le taux de churn du segment Enterprise au Q4 2025 est de 4.2%, en baisse par rapport au Q3 (5.1%). (Source : Rapport Q4 2025, page 3)"
RAG en pratique : les outils accessibles sans coder
| Outil | Niveau technique | Usage | Limite de documents |
|---|---|---|---|
| Custom GPTs (OpenAI) | Débutant | Upload de fichiers dans ChatGPT | ~20 fichiers, ~500MB |
| Claude Projects (Anthropic) | Débutant | Upload de fichiers dans Claude | ~200K tokens de contexte |
| NotebookLM (Google) | Débutant | Recherche dans vos sources, génération de podcasts | ~50 sources (PDF, web, YouTube) |
| Perplexity Collections | Débutant | Recherche organisée par projet | Sources web illimitées |
| Gemini avec Google Drive | Intermédiaire | Accès à tous vos fichiers Google | Lié à votre Drive |
| Microsoft Copilot | Intermédiaire | Accès aux données M365 (Mail, Teams, SharePoint) | Lié à votre tenant M365 |
| LangChain | Développeur | Framework Python pour RAG custom | Illimité |
| LlamaIndex | Développeur | Spécialisé indexation et query de documents | Illimité |
Vous utilisez déjà du RAG sans le savoir
- →Custom GPTs avec des fichiers uploadés : quand vous créez un GPT et uploadez des PDFs, ChatGPT fait du RAG en coulisses — il indexe vos fichiers, cherche les passages pertinents, et les injecte dans le contexte à chaque question
- →Claude Projects avec des documents de contexte : même principe — Claude indexe vos documents et les utilise pour répondre de manière contextualisée
- →NotebookLM avec des sources : c'est du RAG avec une interface élégante, plus la capacité de générer des "podcasts" à partir de vos sources
- →Perplexity qui cherche sur le web : c'est du RAG en temps réel — le web est la base de connaissances
Exercice pratique : créer un RAG simple avec Claude Projects
Étape 1 : Allez sur claude.ai → Projects → Create Project Étape 2 : Nommez votre projet (ex : "Expert politique RH 2025") Étape 3 : Uploadez 3-5 documents (PDF de votre politique RH, FAQ interne, convention collective) Étape 4 : Ajoutez des instructions de projet :
Tu es l'expert RH interne de notre entreprise.
Tu réponds aux questions des employés en te basant UNIQUEMENT sur les documents fournis.
Si l'information n'est pas dans les documents, dis-le clairement.
Cite toujours la source et le numéro de page.
Ton : professionnel, bienveillant, précis.
Étape 5 : Testez avec des questions : "Combien de jours de congé ai-je droit en tant que cadre ?" → La réponse devrait citer votre convention collective.
Limites du RAG et comment les contourner
| Limite | Impact | Mitigation |
|---|---|---|
| Qualité du découpage | Chunks mal découpés → réponses incohérentes | Utiliser des chunks avec overlap de 15-20% et des séparateurs logiques (titres, paragraphes) |
| Trop de contexte | Dilution — le LLM se "perd" dans trop de chunks | Limiter à 3-5 chunks les plus pertinents, utiliser un re-ranker |
| Données non structurées | Tableaux, graphiques, images mal interprétés | Pré-traitement : convertir les tableaux en texte structuré, décrire les images |
| Hallucinations persistantes | Le LLM peut "inventer" malgré le contexte | Instruction explicite : "si l'info n'est PAS dans les documents, dis 'Information non disponible'" |
| Documents obsolètes | Réponses basées sur des données périmées | Mettre en place un processus de mise à jour régulier de la base documentaire |
| Questions hors-scope | L'utilisateur pose une question non couverte par les documents | Gérer l'edge case dans les instructions : rediriger vers un humain si besoin |
RAG vs. Fine-tuning : quand choisir quoi ?
RAG : quand vous voulez que le LLM accède à des données factuelles (documents, FAQ, données structurées) et que les données changent régulièrement. 90% des cas d'usage entreprise.
Fine-tuning : quand vous voulez changer le style ou le comportement du modèle (ton de voix spécifique, format de réponse particulier, jargon métier très spécialisé). Rarement nécessaire en 2026 car les LLM modernes s'adaptent bien via le prompt.
Que signifie RAG (Retrieval-Augmented Generation) ?
Quel est le principal avantage du RAG par rapport au fine-tuning pour intégrer des données d'entreprise ?