Skip to content
Guides3 min read

Wie man RAG-Systeme mit menschlicher Annotation evaluiert

Ein praktischer Leitfaden zur Evaluierung von Retrieval-Augmented Generation: Bewerten Sie die Relevanz des Retrievals und die Treue der Antwort getrennt und markieren Sie nicht belegte Aussagen mit Span-Annotation in Potato.

Potato Team

Ein Retrieval-Augmented-Generation-System kann auf zwei völlig unterschiedliche Arten versagen, und eine einzige Qualitätskennzahl verschleiert, mit welcher davon Sie es zu tun haben. Entweder hat der Retriever die falschen Dokumente herausgesucht, oder der Generator hatte gute Dokumente und hat sie ignoriert. Wenn Sie nur messen, „ob die Antwort gut ist", können Sie diese beiden Fälle nicht voneinander unterscheiden und auch nicht erkennen, welche Hälfte des Systems Sie reparieren müssen.

Die Lösung besteht darin, Retrieval und Generierung getrennt zu evaluieren und genau zu markieren, wo eine Antwort von ihren Quellen abweicht.

Die drei Dinge, die sich zu annotieren lohnen

  1. Relevanz des Retrievals. Ist jedes abgerufene Dokument tatsächlich relevant für die Anfrage?
  2. Treue der Antwort. Stützt sich die generierte Antwort auf diese Dokumente, ohne erfundene Aussagen?
  3. Genauigkeit der Zitate. Lassen sich die Aussagen der Antwort auf die zitierten Quellen zurückführen?

Diese getrennt zu halten verwandelt ein vages „die Antwort ist falsch" in „das richtige Dokument wurde abgerufen, aber das Modell hat eine Aussage hinzugefügt, die nicht darin steht". Das ist ein Generierungsproblem und verweist auf eine andere Lösung als ein Versagen beim Retrieval.

Die Einrichtung in Potato

Sie können alle drei auf einem Bildschirm unterbringen. Bewerten Sie jedes abgerufene Dokument auf derselben Skala mit multirate, bewerten Sie die Treue mit einer Likert-Skala und heben Sie problematische Spans in der Antwort hervor.

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]

Das Span-Schema ist das, was die Daten umsetzbar macht. Ein Treue-Wert von 2 von 5 sagt Ihnen, dass etwas nicht stimmt; ein hervorgehobener Span sagt Ihnen, welcher Satz und warum.

Dinge, die die RAG-Evaluierung still und leise ruinieren

Annotatoren können die Treue ohne die Quellen nicht beurteilen. Zeigen Sie die Anfrage, die abgerufenen Dokumente und die Antwort auf demselben Bildschirm. Wenn die Dokumente eingeklappt oder auf einem anderen Tab sind, bewerten die Leute die Antwort danach, ob sie richtig klingt – genau der Fehlertyp, den Sie eigentlich abfangen wollen.

„Relevant" braucht eine Definition. Relevant für die Anfrage oder tatsächlich in der Antwort verwendet? Das sind unterschiedliche Beurteilungen, und die Annotatoren werden sich daran spalten, sofern Sie das nicht im Voraus festlegen.

Die Treue ist der subjektive Teil. Erfassen Sie Überlappung bei einer Stichprobe und prüfen Sie die Übereinstimmung speziell bei den Treue-Bewertungen. Wenn die Übereinstimmung dort niedrig ist, schärfen Sie die Definition von „nicht belegt", bevor Sie den Zahlen vertrauen.

Wie es weitergeht

Die vollständige Anleitung, einschließlich der Frage, wie die drei Schemata zusammenpassen, finden Sie im RAG-Evaluierungsleitfaden. Für das Markieren von Faktenfehlern und Halluzinationen in beliebigen Modellausgaben, nicht nur bei RAG, siehe Halluzinationen mit Span-Annotation erkennen. Und wenn Sie Agenten umfassender evaluieren möchten, beginnen Sie mit Wie man KI-Agenten evaluiert.