Aller au contenu
Cercle IA Tech · RAG Un site du réseau Cercle IA Tech

Guide

Évaluer un RAG : métriques, jeu de test et méthode

Évaluer un RAG : séparer récupération et génération, métriques de Ragas, jeu de questions de référence et limites du modèle juge.

Mis à jour le

Pour évaluer un RAG, il faut mesurer séparément ses deux moitiés : la récupération (le bon passage a-t-il été retrouvé ?) et la génération (la réponse s'appuie-t-elle sur ce passage, et répond-elle à la question ?). Une note globale « la réponse est bonne ou mauvaise » ne dit pas quoi corriger. Ce qu'il vous faut : un jeu de questions réelles, quatre métriques et une routine.

Étape 1 : le jeu de questions

Rien ne remplace des questions réellement posées par vos équipes ou vos clients. Pour chacune, notez :

  • la question telle qu'elle a été formulée, fautes comprises ;
  • la réponse attendue, rédigée par quelqu'un du métier ;
  • le ou les documents (et si possible les passages) qui contiennent la réponse ;
  • quelques questions sans réponse dans vos documents, pour vérifier que le système sait dire qu'il ne sait pas.

Un jeu de quelques dizaines de questions, bien choisies, vaut mieux qu'un millier de questions générées automatiquement que personne n'a relues.

Étape 2 : les métriques

La bibliothèque Python Ragas liste ses métriques pour le RAG : Context Precision, Context Recall, Context Entities Recall, Noise Sensitivity, Response Relevancy, Faithfulness, et des variantes multimodales. Quatre suffisent pour commencer.

Métrique Ce qu'elle mesure Partie testée Référence nécessaire
Précision du contexte les passages pertinents sont-ils classés en tête ? récupération oui (ou la réponse générée, selon la variante)
Rappel du contexte les informations de la réponse attendue sont-elles dans les passages récupérés ? récupération oui
Fidélité chaque affirmation de la réponse est-elle étayée par les passages ? génération non
Pertinence de la réponse la réponse répond-elle à la question posée ? génération non

Fidélité (documentation) : la réponse est découpée en affirmations ; on compte celles que le contexte récupéré permet d'inférer, divisées par le total. Score de 0 à 1. L'exemple de la documentation : une réponse avec deux affirmations dont une seule est étayée obtient 0,5.

Précision du contexte (documentation) : moyenne des précisions à chaque rang. Elle augmente quand les passages pertinents sont en haut de la liste ; un passage hors sujet placé en premier la fait baisser.

Rappel du contexte (documentation) : la réponse de référence est découpée en affirmations ; on compte celles que les passages récupérés étayent. Score de 0 à 1. Un score bas signifie que la recherche a manqué des informations.

Pertinence de la réponse (documentation) : un modèle génère, à partir de la réponse, trois questions par défaut (paramètre strictness) ; on mesure leur proximité avec la question d'origine. Elle ne vérifie pas l'exactitude, seulement que la réponse est dans le sujet.

Étape 3 : lire les résultats

Symptôme Cause probable Où agir
Rappel du contexte bas le bon passage n'est pas retrouvé découpage, recherche hybride
Rappel bon, précision basse il est retrouvé mais noyé retri
Contexte bon, fidélité basse le modèle ajoute des choses consignes, citations
Fidélité bonne, pertinence basse la réponse est juste mais à côté consignes, reformulation de la question

Les limites de l'évaluation automatique

Ces métriques reposent pour la plupart sur un modèle de langage utilisé comme juge : la documentation Ragas précise que les métriques fondées sur un modèle peuvent faire un ou plusieurs appels pour calculer un score. Trois conséquences :

  • Un coût. Chaque évaluation consomme des appels au modèle juge.
  • Une variabilité. Deux passages du même jeu peuvent donner des scores légèrement différents.
  • Un juge à vérifier. Faites relire par une personne du métier un échantillon de réponses notées, et comparez sa note à celle du juge. Si elles divergent, c'est le juge qu'il faut corriger avant de se fier aux chiffres.

La documentation d'Anthropic sur la réduction des hallucinations propose une vérification complémentaire simple : lancer plusieurs fois la même question et comparer les réponses ; des écarts entre elles peuvent signaler une hallucination.

Exemple de code

D'après la documentation de la métrique de fidélité, l'interface recommandée prend trois champs : user_input (la question), response (la réponse) et retrieved_contexts (la liste des passages). Le score se lit dans result.value. La documentation signale que l'ancienne interface (SingleTurnSample) est dépréciée depuis la version 0.4 et sera retirée en version 1.0 : vérifiez la version installée avant de copier un tutoriel.

La routine

  1. Figez le jeu de questions et versionnez-le avec le code.
  2. À chaque changement (découpage, modèle, consignes), relancez l'évaluation complète.
  3. Gardez un tableau des scores par version ; ne gardez un changement que s'il améliore la métrique visée sans dégrader les autres.
  4. Ajoutez au jeu les questions réelles qui ont posé problème en production.

Si votre RAG devient agentique, il faudra aussi évaluer les décisions de l'agent, pas seulement ses réponses : voir évaluer un agent IA.

Questions fréquentes

Comment se calcule la fidélité (faithfulness) dans Ragas ?

On découpe la réponse en affirmations, on vérifie lesquelles sont étayées par le contexte récupéré, et l'on divise le nombre d'affirmations étayées par le total. Le score va de 0 à 1.

Peut-on évaluer un RAG sans réponses de référence ?

En partie : la fidélité et la pertinence de la réponse n'ont pas besoin de référence. Le rappel du contexte, lui, demande une réponse de référence ou les passages attendus.

Sources

Pages consultées pour écrire cet article :

  1. https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/
  2. https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/faithfulness/
  3. https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/context_precision/
  4. https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/context_recall/
  5. https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/answer_relevance/
  6. https://platform.claude.com/docs/en/test-and-evaluate/strengthen-guardrails/reduce-hallucinations

À lire aussi