Skip to content

RAG-Evaluierung

Wie du Retrieval-Augmented Generation mit menschlicher Annotation bewertest: Relevanz des Retrievals, Quellentreue der Antwort und Zitations-Spans, in Potato.

Retrieval-Augmented Generation (RAG) beantwortet eine Frage, indem sie zuerst Dokumente heraussucht und daraus dann eine Antwort erzeugt. RAG zu evaluieren heißt, zwei Dinge getrennt zu beurteilen: Wurden die richtigen Dokumente gefunden, und ist die Antwort durch sie tatsächlich gedeckt? Wer beides vermengt, sieht nicht mehr, wo das System scheitert.

Zum Hintergrund siehe Retrieval-Augmented Generation.

Die drei Dinge, die annotiert werden

  1. Relevanz des Retrievals: Ist das gefundene Dokument für die Anfrage relevant?
  2. Quellentreue der Antwort: Ist die erzeugte Antwort in den gefundenen Dokumenten verankert, ohne ungedeckte Behauptungen?
  3. Korrektheit der Zitate: Lassen sich die Behauptungen der Antwort wirklich auf die angeführten Quellen zurückführen?

Einrichtung in Potato

Kombiniere drei Schemata auf einem Bildschirm: jedes Dokument bewerten, die Quellentreue bewerten und Problem-Spans in der Antwort markieren:

yaml
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 bewertet viele Dokumente auf einen Schlag auf derselben Skala; das Span-Schema markiert genau die Stelle, an der sich die Antwort von ihren Quellen löst. Siehe Halluzinationen mit Span-Annotation erkennen.

Warum Retrieval und Generierung getrennt gehören

Ein RAG-System kann auf zwei Arten scheitern: Es hat schlechten Kontext gefunden (ein Problem des Retrievals) oder guten Kontext ignoriert (ein Problem der Generierung). Getrennt bewertet, weißt du, welche Hälfte du reparieren musst. Ein Wert für die Quellentreue allein verrät das nicht.

Was die Qualität ausmacht

  • Zeig den Annotierenden Anfrage, Dokumente und Antwort zusammen; ohne die Quellen lässt sich Quellentreue nicht beurteilen.
  • „Relevant“ braucht eine Definition: relevant für die Anfrage, oder in der Antwort tatsächlich verwendet? Entscheide das vorab.
  • Verfolge die Übereinstimmung bei der Quellentreue; sie ist von den dreien am subjektivsten.

Weiterführende Lektüre