Évaluation de RAG (RAGAS, Recall@K)
Mesurez la fidélité, la pertinence de la réponse, la précision du contexte et le rappel@K pour savoir si vos modifications sont bénéfiques.
Évaluation de RAG (RAGAS, Recall@K) est une leçon AI Agents gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Agents, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Agents comprend 4 leçons au total.
Impossible d’améliorer ce qui n’est pas mesuré
Le RAG comporte de nombreux paramètres : taille des segments, top-K, réordonnanceur, invite, modèle. Sans métriques, chaque modification relève de la conjecture.
Principales métriques du RAG
- Récupération : avons-nous récupéré les bons segments ?
- Fidélité : la réponse reste-t-elle fondée sur les segments ?
- Pertinence de la réponse : la réponse répond-elle à la question ?
- Précision et rappel du contexte : proportion de segments utiles récupérés
Recall@K
Constituez un ensemble de référence composé de paires (question, liste des identifiants des segments pertinents). Mesurez la fréquence à laquelle les segments récupérés dans les K premiers résultats en contiennent au moins un de pertinent :
def recall_at_k(eval_set, k=5):
hits = 0
for item in eval_set:
retrieved = retriever(item['question'], k=k)
if any(c.id in item['relevant_ids'] for c in retrieved):
hits += 1
return hits / len(eval_set)Precision@K
Quelle fraction des segments récupérés est pertinente ?
def precision_at_k(eval_set, k=5):
total_relevant = 0
total_retrieved = 0
for item in eval_set:
retrieved = retriever(item['question'], k=k)
total_relevant += sum(1 for c in retrieved if c.id in item['relevant_ids'])
total_retrieved += k
return total_relevant / total_retrievedMRR (rang réciproque moyen)
À quel rang le premier document pertinent apparaît-il ?
def mrr(eval_set, k=10):
total = 0
for item in eval_set:
retrieved = retriever(item['question'], k=k)
for rank, c in enumerate(retrieved, start=1):
if c.id in item['relevant_ids']:
total += 1 / rank
break
return total / len(eval_set)Fidélité (LLM comme juge)
Utilisez un LLM pour vérifier si chaque affirmation de la réponse est étayée par le contexte :
judge_prompt = '''
Given the context and answer, identify each factual claim in the answer.
For each claim, judge whether the context supports it.
Return {claims: [{claim, supported: true/false}]}.
'''
result = judge_llm.invoke(judge_prompt.format(context=ctx, answer=ans))Pertinence de la réponse
Évaluation inversée : demandez à un LLM « Cette réponse pourrait-elle répondre à cette question ? » Cette méthode détecte les sorties hors sujet.
Cadre RAGAS
RAGAS automatise les métriques précédentes :
# pip install ragas
from ragas import evaluate
from ragas.metrics import faithfulness, answer_relevancy, context_precision, context_recall
results = evaluate(
dataset, # HF dataset with question, contexts, answer, ground_truth
metrics=[faithfulness, answer_relevancy, context_precision, context_recall]
)
print(results)Constituer un ensemble de référence
20 à 200 tuples (question, réponse_attendue, segments_pertinents) sélectionnés par des personnes. Couvrez :
- Les requêtes courantes
- Les cas limites
- Les entrées adversariales (questions en dehors du corpus)
Ensembles d’évaluation synthétiques
Pour démarrer, demandez à un LLM de générer des paires de questions-réponses à partir de vos documents. La qualité est moindre, mais la méthode est rapide :
synth_prompt = 'Read this document and write 3 questions a user might ask, with answers from the doc:\n{doc}'
# Use as a starting point; humans curate later.
print(synth_prompt)
Ensembles de données LangSmith et Langfuse
Les deux outils vous permettent de transformer les traces de production en ensembles de données d’évaluation. Choisissez 50 questions réelles ayant reçu de mauvaises réponses, annotez les réponses correctes et utilisez cet ensemble comme référence.
N’optimisez pas excessivement une seule métrique
Maximiser Recall@K peut nuire à Precision@K (trop de faux positifs). Suivez plusieurs métriques ainsi qu’une métrique composite.
Tests A/B en production
Une fois que vous disposez d’une évaluation hors ligne corrélée à la satisfaction des utilisateurs, vous pouvez tester les modifications en production avec un test A/B et comparer à la fois les métriques et les taux de réactions positives des utilisateurs.
Définition de Recall@K
Que signifie Recall@5 = 0,8 ?
Récapitulatif
Constituez un ensemble de référence. Mesurez Recall@K, Precision@K, MRR, la fidélité et la pertinence des réponses. Utilisez RAGAS pour automatiser ces mesures. Répétez le processus en vous appuyant sur vos métriques.
Questions Fréquemment Posées
La leçon « Évaluation de RAG (RAGAS, Recall@K) » est-elle gratuite ?
Oui — le texte complet de « Évaluation de RAG (RAGAS, Recall@K) » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Agents, passe à CoddyKit PRO. Le cours AI Agents comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Évaluation de RAG (RAGAS, Recall@K) » ?
Mesurez la fidélité, la pertinence de la réponse, la précision du contexte et le rappel@K pour savoir si vos modifications sont bénéfiques. Tu pratiques AI Agents avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer AI Agents ?
Aucune expérience préalable n'est requise. AI Agents sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Évaluation de RAG (RAGAS, Recall@K) » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon AI Agents ?
Oui. Chaque leçon AI Agents inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Reclassement avec des encodeurs croisés
- HyDE : embeddings de documents hypothétiques
- Recherche multi-vectorielle (ColBERT)
- Évaluation de RAG (RAGAS, Recall@K)