Tester un système RAG : récupération, contexte et génération

Testez un système RAG couche par couche : indexation, récupération, construction du contexte, réponse, citations, autorisations et sécurité.

10 min de lecture·

Tester un système RAG exige de séparer trois questions : le moteur a-t-il récupéré les bons passages, le contexte transmis au modèle est-il fidèle et autorisé, puis la réponse utilise-t-elle correctement ces preuves ? Une réponse finale correcte peut masquer une mauvaise récupération ; une bonne récupération peut être déformée par le modèle. Le plan de test doit donc mesurer chaque couche, les citations, les refus, les droits d’accès et la performance de bout en bout.

Qu’est-ce qu’un système RAG ?

Retrieval-Augmented Generation (RAG), ou génération augmentée par récupération, désigne une architecture qui récupère des informations dans une source externe puis les ajoute au contexte d’un modèle génératif afin de produire une réponse.

Le terme a été popularisé par l’article de Patrick Lewis et ses coauteurs, publié à NeurIPS 2020. Le travail combine une mémoire paramétrique — le modèle — avec une mémoire non paramétrique consultée par un mécanisme de récupération.

Un embedding désigne une représentation numérique d’un contenu dans un espace où une mesure de proximité peut être utilisée pour rechercher des éléments jugés similaires. La proximité vectorielle n’est pas une preuve que deux passages répondent à la même question ou possèdent le même niveau d’autorité.

Le RAG permet de mettre à jour une base documentaire sans réentraîner les poids du modèle. Il ne garantit ni la fraîcheur, ni la vérité, ni le respect des droits : ces propriétés dépendent des sources, de l’indexation, de la recherche, du contexte et de la génération.

Les quatre étapes fonctionnelles d’une chaîne RAG

1. Indexer

Les documents sont collectés, nettoyés, découpés en fragments et transformés en représentations consultables. Les métadonnées — source, version, date, langue, propriétaire et droits — doivent rester liées aux fragments.

2. Rechercher

La requête est transformée puis comparée à l’index. Le système sélectionne des passages selon sa stratégie : recherche lexicale, vectorielle, hybride, filtres ou reclassement.

3. Augmenter

Les passages retenus sont assemblés avec les instructions et la question. Leur ordre, leur longueur, leurs doublons et leurs conflits influencent la réponse.

4. Générer

Le modèle produit la sortie demandée, idéalement avec citations, limites et refus lorsque le contexte ne suffit pas.

Le test de bout en bout doit être décomposé en récupération + contexte + génération, car un score final seul ne localise pas la défaillance.

Que faut-il tester à chaque couche ?

CoucheQuestionDéfauts typiquesOracle ou preuve
Ingestionles bons documents sont-ils indexés ?version périmée, doublon, texte manquantinventaire et empreintes
Découpageles fragments conservent-ils le sens ?règle séparée de son exceptiondocument source annoté
Récupérationles passages nécessaires remontent-ils ?faux négatif, passage hors sujetpassages pertinents attendus
Autorisationseuls les documents permis sont-ils récupérés ?fuite inter-clientmatrice identité/document
Contextele prompt reçoit-il des preuves utiles ?troncature, conflit, instruction hostilecontexte réellement envoyé
Générationla réponse suit-elle les preuves ?invention, mauvaise synthèseréponse de référence et citations
Exploitationle système reste-t-il observable ?coût ou latence non bornéstraces, seuils et alertes

Construire un jeu d’évaluation RAG

Un jeu utile associe une question à plusieurs niveaux de vérité : réponse attendue, passages nécessaires, documents interdits et comportement en absence de preuve.

Types de questions à inclure

  • question factuelle avec un passage unique ;
  • question nécessitant deux passages du même document ;
  • question nécessitant plusieurs documents ;
  • formulation utilisant un synonyme absent de la source ;
  • question avec une négation ou une exception ;
  • documents contradictoires de versions différentes ;
  • information absente : le bon résultat est un refus ou indéterminé ;
  • question d’un utilisateur sans droit sur le document pertinent ;
  • document contenant une instruction hostile ;
  • requête longue, bruitée ou multilingue selon le périmètre.

Pour chaque cas, définissez les passages considérés pertinents avant l’exécution. Lorsque plusieurs sources sont acceptables, annotez l’ensemble plutôt qu’un unique fragment.

Métriques de récupération

Les métriques doivent être choisies selon le produit et la profondeur d’affichage.

Rappel à k

Le rappel à k mesure la proportion des passages pertinents attendus présents parmi les k premiers résultats. Il répond à la question : « les preuves nécessaires ont-elles été retrouvées ? »

Précision à k

La précision à k mesure la proportion des k résultats qui sont pertinents. Elle aide à détecter un contexte encombré de passages inutiles.

Rang du premier résultat pertinent

Cette mesure indique à quelle position apparaît la première preuve utile. Elle est pertinente lorsque seuls les premiers passages entrent dans le contexte.

Respect des filtres

Un résultat pertinent mais interdit constitue un échec de sécurité, pas un succès de récupération. Mesurez séparément les violations d’autorisation, de version, de langue ou de périmètre.

Aucune métrique unique ne suffit. Un rappel élevé peut s’accompagner d’un contexte bruyant ; une précision élevée peut manquer l’exception décisive.

Évaluer le contexte transmis au modèle

Le contexte réellement envoyé peut différer des résultats bruts après reclassement, déduplication, troncature ou assemblage.

Vérifiez :

  • présence de tous les passages nécessaires ;
  • maintien des titres, dates et identifiants ;
  • absence de documents interdits ;
  • ordre des sources concurrentes ;
  • conservation des exceptions ;
  • détection des contradictions ;
  • séparation entre instructions fiables et contenu documentaire ;
  • absence de troncature au milieu d’une règle ;
  • budget de contexte et doublons.

L’ancrage aux sources désigne le degré auquel une réponse est soutenue par les informations récupérées et autorisées. Une réponse vraie mais non soutenue par le contexte échoue si l’application exige que le modèle réponde uniquement depuis la base documentaire.

Évaluer la génération et les citations

CritèreQuestion de contrôle
Exactitudela réponse est-elle correcte selon l’oracle ?
Fidélitéchaque affirmation découle-t-elle du contexte ?
Complétudeles éléments nécessaires sont-ils présents ?
Pertinencela réponse traite-t-elle la question sans digression ?
Citationchaque référence existe-t-elle et soutient-elle la phrase ?
Incertitudele système refuse-t-il lorsque la preuve manque ?
Cohérenceles conflits de sources sont-ils signalés ?

Une citation doit être évaluée au niveau de l’affirmation. Vérifier seulement que le document existe ne suffit pas : le passage doit soutenir la conclusion, appartenir à la bonne version et être accessible à l’utilisateur.

Méthode pratique pour tester un RAG en sept étapes

Étape 1 — Définir le périmètre et les autorités documentaires

Objectif : savoir quelles sources peuvent fonder une réponse.

Action : classer documents, versions, dates, langues, propriétaires et droits.

Résultat attendu : registre d’autorité et règle de priorité.

Erreurs à éviter : indexer toutes les versions sans métadonnées ; supposer que le document le plus proche est le plus fiable.

Étape 2 — Annoter les questions et passages attendus

Objectif : préparer l’oracle avant l’exécution.

Action : écrire questions, réponses acceptables, passages nécessaires, exclusions et comportement d’incertitude.

Résultat attendu : jeu versionné relu par le métier.

Erreurs à éviter : générer la référence avec le système évalué ; omettre les questions sans réponse.

Étape 3 — Tester l’ingestion et le découpage

Objectif : vérifier la présence et l’intégrité des connaissances.

Action : comparer inventaire source/index, inspecter les fragments et rechercher les règles coupées.

Résultat attendu : couverture documentaire et défauts de parsing identifiés.

Erreurs à éviter : commencer par ajuster les embeddings alors que le texte n’a pas été correctement extrait.

Étape 4 — Mesurer la récupération seule

Objectif : isoler le moteur de recherche.

Action : exécuter les requêtes, calculer rappel, précision, rang et violations de filtres.

Résultat attendu : erreurs de recherche localisées.

Erreurs à éviter : juger la recherche depuis la réponse finale ; oublier les métadonnées et autorisations.

Étape 5 — Inspecter le contexte augmenté

Objectif : confirmer ce que le modèle a réellement reçu.

Action : enregistrer les identifiants, passages, ordre, transformations et troncatures.

Résultat attendu : contexte reproductible et autorisé.

Erreurs à éviter : journaliser des données sensibles sans masquage ; cacher les conflits au modèle.

Étape 6 — Évaluer la réponse et les citations

Objectif : mesurer l’usage des preuves.

Action : vérifier faits, fidélité, complétude, refus et support de chaque citation.

Résultat attendu : diagnostic génération distinct du diagnostic récupération.

Erreurs à éviter : accepter une réponse correcte qui utilise un document interdit ; noter uniquement le style.

Étape 7 — Tester sécurité, charge et régressions

Objectif : valider le comportement en exploitation.

Action : tester isolation, empoisonnement, injection indirecte, volumétrie, latence, coût et changements d’index.

Résultat attendu : limites, alertes et critères de déploiement documentés.

Erreurs à éviter : limiter la recette aux questions nominales ; ne pas rejouer le jeu après réindexation.

Exemple hypothétique 1 — Assistant de procédures QA

La base contient une procédure actuelle v3, une version v2 obsolète et une FAQ. La question demande qui approuve une release critique.

Le moteur récupère v2 en première position et v3 en troisième. La réponse cite v2 et donne un ancien rôle. Le défaut principal est la gestion de version et le classement, même si la génération a fidèlement utilisé le premier passage.

La correction ajoute un filtre de statut, une priorité de version et un cas de non-régression. Le test vérifie la récupération de v3, l’exclusion de v2, la réponse attendue et la citation exacte.

Exemple hypothétique 2 — Bonne récupération, mauvaise synthèse

Deux passages correctement récupérés indiquent qu’un remboursement est possible sous certaines conditions et qu’une exception s’applique aux cartes expirées. Le modèle résume « tous les paiements sont remboursables ».

La récupération passe ; la fidélité de génération échoue. La mesure peut renforcer l’instruction de citer les conditions et utiliser une table structurée, mais le cas doit rester dans le jeu. Augmenter le nombre de documents récupérés ne corrigerait pas nécessairement le raisonnement.

Exemple hypothétique 3 — Fuite d’autorisation

Un utilisateur du projet A demande un terme présent uniquement dans un document du projet B. Le moteur retourne ce document, mais le générateur répond qu’il ne peut pas divulguer la source.

Le système échoue malgré le refus final : le passage interdit a été récupéré et transmis au modèle. Le filtre d’autorisation doit s’appliquer avant ou pendant la recherche. Le test examine les identifiants du contexte, pas seulement le texte affiché.

Risques de sécurité propres aux vecteurs et au RAG

La catégorie OWASP LLM08:2025 Vector and Embedding Weaknesses décrit notamment :

  • accès non autorisé et fuite de données ;
  • fuite entre contextes ou clients ;
  • conflits de connaissances ;
  • inversion d’embeddings ;
  • empoisonnement des données ;
  • altération du comportement du système.

Les mesures recommandées incluent contrôles d’accès fins, validation des sources, classification des données et journalisation des récupérations. Un document peut aussi contenir une injection indirecte : le contenu récupéré doit être traité comme donnée non fiable, pas comme instruction.

Erreurs fréquentes lors du test d’un RAG

Évaluer uniquement la réponse finale

Une bonne réponse peut venir des connaissances internes du modèle malgré une récupération vide. Testez les passages et imposez l’ancrage lorsque le produit l’exige.

Utiliser seulement des questions faciles

Ajoutez synonymes, exceptions, versions, contradictions, questions sans réponse et droits différents.

Confondre similarité et pertinence

Un passage lexicalement proche peut être inutile ou obsolète. L’annotation métier reste nécessaire.

Oublier le contexte réellement envoyé

Le reclassement ou la troncature peut retirer le passage pertinent après une bonne recherche. Enregistrez la chaîne complète.

Réindexer sans test de non-régression

Un nouveau découpage, modèle d’embedding ou corpus peut modifier tous les rangs. Rejouez les mêmes questions et contrôles d’accès.

Conclusion

Un RAG fiable se teste comme une chaîne, pas comme une boîte noire. Mesurez d’abord l’ingestion et la récupération, inspectez le contexte autorisé, puis évaluez fidélité, citations et refus. Ajoutez sécurité et performance avant chaque réindexation importante. Pour bâtir un benchmark sur votre base documentaire, vous pouvez demander un plan de test RAG.

Questions fréquentes

Prêt à sécuriser votre prochaine release ?

Parlons de votre projet en 20 minutes. Je vous propose un plan de test clair, un devis transparent, et je démarre en moins d'une semaine.

Contact direct

07 87 73 57 84 alexandre@bandokiaservices.com

Réponse sous 24h ouvrées