Évaluation du RAG
Comment évaluer la génération augmentée par récupération avec l'annotation humaine : pertinence de la récupération, faithfulness de la réponse et segments de citation, avec Potato.
La génération augmentée par récupération (retrieval-augmented generation, RAG) répond à une question en récupérant d'abord des documents, puis en générant une réponse à partir de ceux-ci. Évaluer le RAG, c'est juger deux choses séparément : a-t-il récupéré les bons documents, et la réponse est-elle réellement étayée par ceux-ci ? Confondre les deux masque l'endroit où le système échoue.
Voir retrieval-augmented generation pour le contexte.
Les trois choses à annoter
- Pertinence de la récupération : pour chaque document récupéré, est-il pertinent par rapport à la requête ?
- Faithfulness de la réponse : la réponse générée est-elle ancrée dans les documents récupérés, sans affirmations non étayées ?
- Exactitude des citations : les affirmations de la réponse remontent-elles réellement aux sources citées ?
Comment le configurer dans Potato
Combinez trois schémas sur un seul écran : notez chaque document, notez la faithfulness et surlignez les segments problématiques dans la réponse :
annotation_schemes:
- annotation_type: multirate
name: retrieval_relevance
description: "Rate the relevance of each retrieved document to the query."
labels: ["Irrelevant", "Somewhat", "Relevant", "Highly relevant"]
- annotation_type: likert
name: faithfulness
description: "Is the answer faithful to the retrieved documents?"
size: 5
min_label: "Many unsupported claims"
max_label: "Fully grounded"
- annotation_type: span
name: problems
description: "Highlight any unsupported or incorrect claim in the answer."
labels: [unsupported_claim, contradicted, hallucination]multirate note de nombreux documents sur la même échelle en une fois ; le schéma de segments marque exactement où la réponse s'écarte de ses sources. Voir Détecter les hallucinations.
Pourquoi séparer la récupération de la génération
Un système RAG peut échouer de deux façons : il a récupéré un mauvais contexte (un problème de récupération) ou il a ignoré un bon contexte (un problème de génération). Les noter séparément vous indique quelle moitié corriger. Un score de faithfulness seul ne le peut pas.
Considérations de qualité
- Montrez aux annotateurs la requête, les documents et la réponse ensemble : la faithfulness ne peut pas être jugée sans les sources.
- « Pertinent » a besoin d'une définition : pertinent par rapport à la requête, ou réellement utilisé dans la réponse ? Décidez-le d'emblée.
- Suivez l'accord sur la faithfulness ; c'est la plus subjective des trois.