Évaluation du retrieval : ton système RAG trouve-t-il les bons documents ?
Une bonne réponse peut naître malgré une mauvaise recherche — et une bonne recherche peut quand même mener à une mauvaise réponse. L'évaluation du retrieval sépare clairement ces deux questions.
Deux questions distinctes
Dans un système RAG, beaucoup de choses peuvent mal tourner : soit la recherche ne trouve pas les bons documents (problème de retrieval), soit le modèle utilise mal les documents trouvés (problème de génération). Qui n'évalue que la réponse finale mélange les deux causes et ne sait finalement pas où se situe réellement l'erreur.
Précision et rappel (precision/recall) pour le retrieval
La précision mesure la proportion de documents trouvés qui étaient effectivement pertinents — une précision élevée signifie peu de bruit dans le contexte. Le rappel mesure combien des documents réellement pertinents ont été retrouvés — un rappel élevé signifie que rien d'important n'a été manqué. Les deux valeurs tirent souvent dans des directions opposées : récupérer plus de documents augmente généralement le rappel, mais tend à réduire la précision.
Construire un jeu de questions de test
Pour une évaluation fiable, il te faut des questions de test avec une réponse correcte connue et les documents correspondants qui contiennent effectivement cette réponse. Sans cette référence, précision et rappel ne peuvent pas être calculés — seulement estimés.
Sources d'erreurs typiques
Un chunking trop grossier ou trop fin déchire ou dilue les passages pertinents. Un modèle d'embedding mal adapté reconnaît mal la similarité de sens. Et l'absence de traitement des synonymes fait qu'une question formulée avec d'autres mots que le document reste sans résultat, alors que la réponse est en fait présente.
EXEMPLE
Question de test : « Quel est le délai de remboursement selon les CGV ? » Document de référence : section 4.2 des CGV, contient le délai correct. Résultat du retrieval (3 meilleurs résultats) : [section 4.2 ✓ pertinente, section 7.1 ✗ non pertinente, section 4.2 (doublon) ✓ pertinente] → Précision = 2/3 (deux résultats sur trois pertinents) → Rappel = 1/1 (l'unique document pertinent a été trouvé) Si la section 4.2 n'apparaissait pas du tout dans les 3 meilleurs résultats, le rappel serait de 0 — indépendamment de la façon dont le modèle gère ensuite les résultats erronés.
🛠️ EXERCICE — À TOI DE JOUER
Construis un petit jeu de questions de test pour un système RAG personnel (ou fictif) et calcule la précision et le rappel à la main.
- Choisis 10 questions portant sur un corpus de documents que tu connais, et marque pour chaque question le ou les documents effectivement pertinents.
- Laisse ton système RAG (ou une recherche manuelle par mots-clés en remplacement) fournir les 3 meilleurs résultats pour chaque question.
- Compte, pour chaque question, combien des 3 résultats étaient pertinents (précision) et si le document pertinent figurait bien parmi eux (rappel).
- Calcule la moyenne sur les 10 questions.
✅ AUTO-VÉRIFICATION
- ☐ Y a-t-il eu des questions avec une précision élevée mais un rappel faible (des résultats pertinents manquaient complètement) ?
- ☐ Peux-tu indiquer, pour au moins une question faible, si la cause était plutôt le chunking, le choix de l'embedding ou l'absence de synonymes ?
QUIZ RAPIDE
Pourquoi ne suffit-il pas, pour un système RAG, d'évaluer uniquement la réponse finale ?
SOURCES
- Documentation Ragas : Context Precision ↗ docs.ragas.io
- Documentation Ragas : Context Recall ↗ docs.ragas.io