Guide du formateur â Session 4 (Niveau intermĂ©diaire)
RAG : donner de la mémoire au modÚle
Programme : Applied AI â Yann Isola DurĂ©e : 2 h 00 Public : professionnels ayant suivi les sessions 1 Ă 3 (embeddings, fenĂȘtre de contexte, prompting) Module source : Module 3, partie 1
1. Objectifs pédagogiques
Ă la fin de la session, chaque participant doit ĂȘtre capable de :
- Expliquer pourquoi la connaissance dâun LLM (Large Language Model, grand modĂšle de langage) est limitĂ©e : figĂ©e Ă la date de coupure, publique uniquement, stockĂ©e de maniĂšre compressĂ©e et avec pertes dans les poids du modĂšle.
- DĂ©crire le principe du RAG (Retrieval-Augmented Generation, câest-Ă -dire GĂ©nĂ©ration AugmentĂ©e par la RĂ©cupĂ©ration) : transformer chaque question en « examen Ă livre ouvert ».
- Dessiner les deux pipelines : ingestion (hors ligne) et requĂȘte (en ligne), avec leurs Ă©tapes respectives.
- Prendre des décisions de découpage (chunking) : taille de chunk, chevauchement, découpe sur la structure, tables entiÚres.
- Diagnostiquer un Ă©chec de RAG : distinguer une erreur de rĂ©cupĂ©ration dâune erreur de gĂ©nĂ©ration.
- Choisir et Ă©valuer une amĂ©lioration robuste â multi-query, HyDE, reranking ou porte de preuve â sans ignorer latence, coĂ»t ni confidentialitĂ©.
2. Prérequis et matériel
| ĂlĂ©ment | DĂ©tail |
|---|---|
| Prérequis participants | Session 1 (embeddings : le sens devient géométrie), Session 2-3 (contexte, prompting) |
| Matériel formateur | Vidéoprojecteur, slides de la session, page web interactive webpage/index.html (fonctionne hors ligne) |
| Matériel participants | Ordinateur portable recommandé pour les exercices 2 et 3 (papier possible) |
| Documents Ă imprimer | Feuille dâexercices (1 par personne), quiz (1 par personne), 6 exit tickets |
Vérification avant la séance : ouvrir webpage/index.html dans un navigateur ; tester le simulateur, le visualiseur de chunking et la cascade « RAG robuste ». Aucune connexion Internet requise.
3. Déroulé minuté (120 minutes)
Bloc A â Le problĂšme : une mĂ©moire figĂ©e (0:00 â 0:20, 20 min)
| Temps | Activité | Slides |
|---|---|---|
| 0:00â0:05 | Accueil + rappel express Session 1 : « le sens devient gĂ©omĂ©trie » (embeddings) | 1â3 |
| 0:05â0:15 | Les trois limites de la mĂ©moire dâun LLM | 4â7 |
| 0:15â0:20 | Mini-dĂ©mo : question sur un fait interne fictif â le modĂšle ne peut pas savoir | 8 |
Notes formateur :
- Ouvrir avec une question au groupe : « Si je demande à un modÚle le montant de vos congés restants, que va-t-il répondre ? » Réponses attendues : il ne sait pas, ou pire, il invente. Les deux cas illustrent le problÚme.
- Marteler les trois limites :
- FigĂ©e : la connaissance sâarrĂȘte Ă la date de coupure dâentraĂźnement (knowledge cutoff). Tout ce qui est postĂ©rieur nâexiste pas pour le modĂšle.
- Publique : le modĂšle a Ă©tĂ© entraĂźnĂ© sur des donnĂ©es publiques. Vos documents internes, contrats, procĂ©dures, tickets â jamais vus.
- Avec pertes : mĂȘme la connaissance publique est stockĂ©e de façon lossy (compressĂ©e avec pertes) dans les poids. Analogie : le modĂšle a « lu » WikipĂ©dia mais ne peut pas le rĂ©citer mot pour mot â comme vous aprĂšs avoir lu un livre il y a dix ans.
- Analogie centrale Ă installer dĂšs maintenant : examen Ă mĂ©moire fermĂ©e vs examen Ă livre ouvert. Le LLM seul = Ă©tudiant qui passe lâexamen de mĂ©moire. Le RAG = on lui donne le droit dâapporter les bons documents.
- PiĂšge frĂ©quent : des participants pensent que le fine-tuning (rĂ©-entraĂźnement partiel) est la solution pour injecter des connaissances. Noter lâobjection au tableau, y revenir en fin de bloc B : le fine-tuning apprend des comportements (style, format), pas des faits fiables et Ă jour ; il est coĂ»teux et doit ĂȘtre refait Ă chaque mise Ă jour documentaire. Le RAG met Ă jour lâindex en quelques secondes.
Bloc B â Le principe du RAG et les deux pipelines (0:20 â 0:55, 35 min)
| Temps | Activité | Slides |
|---|---|---|
| 0:20â0:30 | DĂ©finition du RAG + vue dâensemble des deux pipelines | 9â11 |
| 0:30â0:40 | Pipeline dâingestion (hors ligne) : dĂ©couper â vectoriser â indexer | 12â14 |
| 0:40â0:50 | Pipeline de requĂȘte (en ligne) : vectoriser la question â rĂ©cupĂ©rer k chunks â assembler le prompt â gĂ©nĂ©rer | 15â17 |
| 0:50â0:55 | DĂ©mo interactive : simulateur de pipeline sur la page web | 17 |
Notes formateur :
- DĂ©finir chaque terme Ă la premiĂšre utilisation â rĂšgle du cours :
- RAG = Retrieval-Augmented Generation, Génération Augmentée par la Récupération.
- Chunk = fragment de document (on gardera le mot anglais, standard dans le métier, en le traduisant une fois : « morceau »).
- Embedding = plongement vectoriel, vu en Session 1 : un texte devient un point dans un espace gĂ©omĂ©trique oĂč la proximitĂ© = similaritĂ© de sens.
- Top-k = les k rĂ©sultats les plus proches (k est un nombre quâon choisit, souvent 3 Ă 10 â ).
- Insister sur la séparation temporelle des deux pipelines :
- Ingestion : se fait une fois (puis Ă chaque mise Ă jour des documents), hors ligne, sans utilisateur. Câest la prĂ©paration de la bibliothĂšque.
- RequĂȘte : se fait Ă chaque question, en ligne, en quelques centaines de millisecondes â . Câest la consultation de la bibliothĂšque.
- SchĂ©ma au tableau (le refaire Ă la main, mĂȘme sâil est dans les slides â le geste aide la mĂ©morisation) :
INGESTION (hors ligne, une fois)
Documents â DĂ©coupage en chunks â Embedding de chaque chunk â Index vectoriel
REQUĂTE (en ligne, Ă chaque question)
Question â Embedding de la question â Recherche des k chunks les plus proches
â Assemblage du prompt (instruction + chunks + question) â GĂ©nĂ©ration
- Point clĂ© conceptuel : la question et les chunks vivent dans le mĂȘme espace gĂ©omĂ©trique. Câest pour ça que « chercher les chunks proches de la question » a un sens. Relier explicitement Ă la Session 1.
- Exemple concret à dérouler oralement de bout en bout : « Quelle est la politique de télétravail pour les nouveaux embauchés ? »
- La question devient un vecteur.
- Lâindex renvoie 4 chunks : deux extraits du rĂšglement intĂ©rieur, un extrait de lâaccord tĂ©lĂ©travail 2025, un extrait du guide dâonboarding.
- Le prompt assemblé : « Réponds uniquement à partir du contexte suivant. [4 chunks] Question : ⊠»
- Le modĂšle gĂ©nĂšre une rĂ©ponse citant lâaccord tĂ©lĂ©travail.
- Démo (5 min) : projeter
webpage/index.html, onglet « Simulateur de pipeline ». Taper une question, faire dérouler les 4 étapes une à une. Demander au groupe de prédire quels chunks vont sortir avant de cliquer.
Pause (0:55 â 1:05, 10 min)
Bloc C â Les dĂ©cisions de chunking et les mĂ©tadonnĂ©es (1:05 â 1:30, 25 min)
| Temps | Activité | Slides |
|---|---|---|
| 1:05â1:15 | Chunking : taille, chevauchement, structure, tables | 18â21 |
| 1:15â1:20 | MĂ©tadonnĂ©es : source, section, date, niveau dâaccĂšs | 22 |
| 1:20â1:30 | Exercice 1 en binĂŽmes : stratĂ©gie de dĂ©coupage dâun document rĂ©el | â |
Notes formateur :
- Le chunking est le levier n°1 de qualitĂ© dâun RAG. Le dire tel quel.
- Les quatre décisions :
- Taille : typiquement 300 Ă 800 tokens â (rappel : 1 token â 0,75 mot en anglais, un peu moins en français â ). Trop petit = le chunk perd son contexte (« il » â qui ça, « il » ?). Trop grand = le chunk mĂ©lange plusieurs sujets et son embedding devient une moyenne floue.
- Chevauchement (overlap) : faire se recouvrir les chunks de 10 Ă 20 % â pour ne pas couper une information pile Ă la frontiĂšre.
- DĂ©couper sur la structure : titres, sections, paragraphes â jamais au milieu dâune phrase. Un chunk = idĂ©alement une unitĂ© de sens.
- Tables entiĂšres : ne jamais couper un tableau en deux. Une ligne de tableau sans son en-tĂȘte est illisible (exemple : « 42 | 15 % | oui » â de quoi parle-t-on ?).
- Analogie : découper un livre en fiches de révision. Une bonne fiche est autonome (compréhensible seule), ni trop courte ni trop longue, et ne coupe pas un tableau de conjugaison en deux.
- MĂ©tadonnĂ©es : chaque chunk transporte une Ă©tiquette â source (quel document), section, date, niveau dâaccĂšs. Trois usages :
- Filtrage avant recherche : « ne chercher que dans les documents RH postérieurs à 2024 ».
- Citations : la rĂ©ponse peut pointer vers le document source â indispensable pour la confiance et la vĂ©rification.
- SĂ©curitĂ© : un commercial ne doit pas rĂ©cupĂ©rer des chunks du dossier paie. Le filtre par niveau dâaccĂšs se fait Ă la rĂ©cupĂ©ration, pas aprĂšs gĂ©nĂ©ration.
- Exercice 1 (10 min, binĂŽmes) : voir feuille dâexercices. Distribuer lâextrait de document fourni. Circuler entre les binĂŽmes. DĂ©brief express : 2 binĂŽmes prĂ©sentent leur dĂ©coupage, comparer les choix sur le tableau intĂ©grĂ©.
Bloc D â Recherche hybride, RAG robuste et modes dâĂ©chec (1:30 â 1:50, 20 min)
| Temps | Activité | Slides |
|---|---|---|
| 1:30â1:35 | Recherche hybride : vecteurs + mots-clĂ©s | 23â24 |
| 1:35â1:44 | Ăchelle RAG robuste + cascade interactive | 25â29 |
| 1:44â1:49 | Diagnostic, porte de preuve et refus | 30â33 |
| 1:49â1:50 | DĂ©cision : rĂ©pondre, reformuler ou refuser | 33 |
Notes formateur :
- Recherche hybride : les embeddings capturent le sens, mais ratent les chaĂźnes exactes. Exemple :
REF-2024-8812a peu de sens lexical ; BM25 le retrouve exactement. Combiner les candidats vectoriels et lexicaux avant classement. - Ăchelle dâintervention â ne pas tout activer par dĂ©faut :
- Multi-query : produire 2â4 reformulations, rechercher pour chacune, fusionner puis dĂ©dupliquer.
- HyDE (Hypothetical Document Embeddings) : gĂ©nĂ©rer un document hypothĂ©tique, utiliser son embedding comme sonde de recherche. Ce texte nâest jamais une source.
- Récupération large : favoriser le rappel afin de ne pas exclure trop tÎt un passage utile.
- Reranking : un cross-encoder lit chaque paire questionâchunk et reclasse seulement les candidats. Il est plus coĂ»teux et plus lent que le bi-encodeur initial.
- Porte de preuve : répondre uniquement si les passages autorisés, actuels et non contradictoires étayent la réponse ; sinon reformuler ou refuser.
- Nommer les boucles sans les vendre comme des garanties : Corrective RAG évalue les passages puis reformule ou relance la récupération ; Adaptive RAG choisit entre recherche simple, cascade ou refus selon la question ; Self-RAG demande au modÚle des signaux de réflexion pendant la génération. Ces auto-évaluations sont des signaux de routage, pas une preuve externe.
- Mesurer avant dâajouter : comparer chaque variante sur le mĂȘme jeu de test annotĂ©. Suivre au minimum rappel/prĂ©cision de rĂ©cupĂ©ration, affirmation soutenue par citation, refus correct, latence et coĂ»t. Une auto-note du modĂšle nâest pas une preuve externe.
- Confidentialité : une recherche web est une nouvelle frontiÚre de données. Ne jamais envoyer une question ou un extrait confidentiel à un service externe sans politique, filtrage et autorisation explicites.
- Diagnostic : inspecter les chunks rĂ©cupĂ©rĂ©s avant dâaccuser le modĂšle. Si le document est absent de lâindex, multi-query, HyDE et reranking ne peuvent pas le recrĂ©er.
- Refus honnĂȘte : « Je ne trouve pas cette information dans les documents fournis » est un rĂ©sultat attendu lorsque la porte de preuve reste fermĂ©e.
Bloc E â Quiz, synthĂšse, exit tickets (1:50 â 2:00, 10 min)
| Temps | Activité |
|---|---|
| 1:50â1:57 | Quiz (11 QCM, correction collective rapide ou en autonomie) |
| 1:57â1:59 | SynthĂšse : les 6 idĂ©es Ă retenir |
| 1:59â2:00 | Exit tickets |
Les 6 idées à retenir (à projeter ou dicter) :
- La mĂ©moire dâun LLM est figĂ©e, publique et avec pertes â le RAG rend lâexamen « Ă livre ouvert ».
- Deux pipelines : ingestion (hors ligne) et requĂȘte (en ligne).
- Le chunking est le levier n°1 : chevauchement, découpe structurelle, tables entiÚres.
- Hybride = vecteurs (sens) + mots-clés (exact).
- Robuste = reformuler â rĂ©cupĂ©rer large â reranker â vĂ©rifier la preuve.
- Quand le RAG Ă©choue, inspecter dâabord les chunks, puis rĂ©pondre ou refuser.
4. Exit tickets (6 questions)
Distribuer un ticket par participant (une seule question chacun, en tournant), rĂ©ponse en 1â2 phrases, ramassage Ă la sortie. Objectif : mesurer la comprĂ©hension rĂ©elle, pas noter.
Ticket 1. Citez les trois limites de la connaissance dâun modĂšle de langage seul, sans RAG. Attendu : figĂ©e Ă la date de coupure ; uniquement publique ; stockĂ©e avec pertes dans les poids.
Ticket 2. Quelle est la diffĂ©rence entre le pipeline dâingestion et le pipeline de requĂȘte ? Quand chacun sâexĂ©cute-t-il ? Attendu : ingestion = hors ligne, prĂ©paration ; requĂȘte = en ligne, Ă chaque question.
Ticket 3. Pourquoi ne faut-il jamais couper un tableau en deux lors du chunking ? Attendu : une ligne sĂ©parĂ©e de son en-tĂȘte devient inintelligible.
Ticket 4. Votre RAG donne une rĂ©ponse fausse. Quel est votre premier rĂ©flexe de diagnostic ? Attendu : inspecter les chunks rĂ©cupĂ©rĂ©s et vĂ©rifier que le document attendu existe dans lâindex.
Ticket 5. Pourquoi combine-t-on recherche vectorielle et recherche par mots-clés ? Attendu : les vecteurs capturent le sens ; le lexical retrouve les codes et chaßnes exactes.
Ticket 6. Pourquoi une auto-Ă©valuation positive du modĂšle ne suffit-elle pas Ă ouvrir la porte de preuve ? Attendu : le mĂȘme modĂšle peut rĂ©pĂ©ter son erreur ; il faut des citations vĂ©rifiables et des seuils calibrĂ©s sur un jeu de test externe.
5. Difficultés anticipées et parades
| Difficulté | Parade |
|---|---|
| « Pourquoi pas juste mettre tous les documents dans le prompt ? » | FenĂȘtre limitĂ©e, bruit, latence et coĂ»t. Le RAG sĂ©lectionne le pertinent. |
| Confusion embedding de chunk / embedding de question | MĂȘme modĂšle dâembedding, mĂȘme espace gĂ©omĂ©trique. |
| « Le fine-tuning ferait pareil » | Fine-tuning = comportement, pas faits actualisables avec citations et contrĂŽle dâaccĂšs. |
| « Plus dâĂ©tapes = meilleur RAG » | Faux : chaque Ă©tape doit corriger un Ă©chec mesurĂ© et respecter les budgets de latence, coĂ»t et confidentialitĂ©. |
| « Le modĂšle dit que sa rĂ©ponse est fondĂ©e » | Une auto-Ă©valuation nâest pas une preuve externe : exiger citations, vĂ©rification et jeu de test annotĂ©. |
| Sur-optimisme (« le RAG résout les hallucinations ») | Il les réduit ; une mauvaise récupération ou génération reste possible. |
6. Prolongements (si le groupe est rapide)
- Comparer k petit et k grand, puis observer rappel, bruit, latence et coût.
- Exécuter la cascade robuste dans
webpage/index.htmlet demander à chaque groupe quelle étape il conserverait aprÚs évaluation. - Question ouverte : « Quels documents de votre entreprise mettriez-vous dans un RAG en premier, et quelles métadonnées seraient critiques ? »
- Suite du programme â Session 5 : outils et appels de fonctions, pour permettre au modĂšle dâagir via des interfaces contrĂŽlĂ©es.