FORM-IA-RAG · 1 jour · Spécialisation

RAG d’entreprise : ancrage, recherche et évaluation

Passer d’un RAG qui impressionne en démonstration à un RAG qui tient en production — parce que l’écart se joue entièrement sur le découpage, la recherche et la mesure.

Public · Devs, data engineers, architectes
Effectif · 6 à 12
Format · ½ j théorie + ½ j labs

Objectif pédagogique

Découper un corpus hétérogène sans détruire le sens ni les références

Choisir entre lexical, vectoriel et hybride sur des critères mesurés

Faire respecter les droits d’accès jusque dans les résultats

Exiger des citations vérifiables et détecter une réponse non ancrée

Refuser une mise en production sans jeu d’évaluation

Pour qui ?

  • Développeurs et data engineers branchant un LLM sur un corpus interne
  • Architectes arbitrant entre recherche plein texte, vectorielle et hybride
  • Équipes dont le prototype RAG « marche sur la démo » mais pas en vrai
  • Responsables search / gestion des connaissances

Prérequis

  • Formation N1 ou équivalent (agents, MCP, appel d’outils)
  • Python de lecture : lancer un script, lire un test
  • Aucune connaissance préalable des bases vectorielles n’est requise

Programme — matin (théorie ~3h20)

Programme — Programme — matin (théorie ~3h20) : module, contenu et durée
ModuleContenuDurée
R1Anatomie d’un RAG : ingestion, découpage, index, récupération, ancrage — et là où ça casse en vrai40 min
R2Découpage et métadonnées : taille, recouvrement, découpage structurel, conservation des références de source45 min
R3Recherche : BM25 vs vectoriel vs hybride, reclassement, seuils. Quand le vectoriel seul dessert50 min
R4Ancrage et citations : obliger à citer, détecter l’invention, gérer le « je ne sais pas »35 min
R5Droits d’accès et cloisonnement : filtrer à la récupération, pas à l’affichage. Multi-tenant, PII30 min

Programme — après-midi (labs ~3h30)

Programme — Programme — après-midi (labs ~3h30) : module, contenu et durée
ModuleContenuDurée
TP1Indexer le corpus fourni, comparer trois stratégies de découpage sur le même jeu de questions70 min
TP2Recherche hybride + reclassement, mesurer le gain ; droits d’accès filtrés avant classement, fuite mesurée avec et sans filtre70 min
TP3Jeu d’évaluation (recall@k, ancrage, abstention), vérificateur d’ancrage phrase par phrase sur un générateur simulé qui ment trois fois, mise en CI avec seuils bloquants70 min

Ce que le lab met en évidence

  • Une question dont le terme précis est noyé dans un passage riche : le vectoriel seul la relègue au rang 4, le lexical la met en tête, le reclassement corrige
  • Le découpage à taille fixe qui coupe un tableau en deux et rend la réponse fausse
  • Quatre questions sans réponse dans le corpus : le système s’abstient-il, ou invente-t-il ?
  • Deux notes contradictoires, dont une remplacée : le statut du document doit peser dans le classement — et un faux ami (« Remplace la note… ») a failli marquer la version en vigueur comme obsolète
  • Un document porteur d’une injection indirecte : un contenu récupéré est une entrée non fiable
  • Un conseiller support qui interroge le compte rendu du comité : le passage n’est pas indexé pour lui, la fuite est mesurée avec et sans pré-filtrage
  • Un générateur simulé qui répond comme un modèle de langage et invente un plafond, un délai de carence et une adresse : le vérificateur d’ancrage signale ces trois-là, et aucune autre

Ce que le module ne couvre pas

  • L’entraînement ou l’ajustement fin d’un modèle d’embedding
  • Le déploiement d’une base vectorielle à l’échelle (dimensionnement, réplication)
  • La sécurisation complète des contenus récupérés — traitée dans le module Sécurité

Livrables participants

  • Index reproductible sur le corpus fourni, dans les trois stratégies de découpage
  • Jeu d’évaluation exécutable : recall@k, ancrage, taux d’abstention
  • Le script d’évaluation branché en CI, avec des seuils qui font échouer la chaîne
  • Grille d’arbitrage lexical / vectoriel / hybride et check-list avant mise en production