News

Automatische Bewertung von RAG: Neues Framework erreicht 95 % Korrelation mit menschlichen Urteilen

25. Oktober 2025
5 Minuten Lesezeit
Équipe de Recherche Ailog

Google Research stellt AutoRAGEval vor, ein automatisiertes Framework zur Evaluation, das die Qualität von RAG zuverlässig ohne menschliche Annotation bewertet.

Forschungsüberblick

Google Research hat AutoRAGEval veröffentlicht, ein Framework zur automatischen Bewertung von RAG-Systemen, das eine Korrelation von 95% mit menschlichen Expertenurteilen erreicht und damit möglicherweise die Notwendigkeit kostspieliger manueller Bewertungen beseitigt.

Die Herausforderung der Bewertung

Aktuelle Methoden zur RAG-Bewertung haben folgende Einschränkungen:

Menschliche Bewertung :

  • Kostspielig (50–200$ pro Testfall)
  • Langsam (Tage bis Wochen)
  • Inkonsistent (Inter-Rater-Agreement ~70%)
  • Nicht skalierbar

Bestehende automatisierte Metriken :

  • BLEU/ROUGE : Schlecht für RAG (22% Korrelation)
  • Semantische Ähnlichkeit : Besser, aber unzureichend (58% Korrelation)
  • LLM-as-judge : Inkonsistent und kostspielig

AutoRAGEval behebt diese Einschränkungen.

Das Framework AutoRAGEval

Multidimensionale Bewertung

Bewertet fünf zentrale Dimensionen:

  1. Treue : Ist die Antwort im abgerufenen Kontext verankert?
  2. Relevanz : Beantwortet die Antwort die Frage?
  3. Vollständigkeit : Werden alle Aspekte abgedeckt?
  4. Prägnanz : Ist die Antwort knapp ohne unnötige Informationen?
  5. Kohärenz : Ist die Antwort gut strukturiert und lesbar?

Jede Dimension wird von 1 bis 5 bewertet und anschließend aggregiert.

Zwei-Modell-Ansatz

Verwendet zwei spezialisierte Modelle:

Bewertungsmodell (GPT-4 feinabgestimmt)

DEVELOPERpython
score = evaluator.assess( query=query, answer=answer, context=context, dimension="faithfulness" )

Kalibrierungsmodell (kleiner, schneller)

DEVELOPERpython
# Kalibriert die Scores, damit sie der menschlichen Verteilung entsprechen calibrated_score = calibrator.adjust( raw_score=score, query_type=query_type, context_length=context_length )

Referenzbasierte Überprüfung

Vergleicht mit Referenzantworten, wenn verfügbar:

DEVELOPERpython
reference_score = compare_to_reference( answer=answer, reference=reference_answer, method="semantic_similarity" ) # Kombiniere mit der LLM-Bewertung final_score = 0.7 * llm_score + 0.3 * reference_score

Benchmark-Ergebnisse

Korrelation mit menschlichen Urteilen

Getestet an 5 000 RAG-Antworten, die von Menschen annotiert wurden :

MéthodeCorrélationCoût/ÉvalVitesse
BLEU0.22$0Instantané
BERTScore0.58$0Instantané
GPT-4 (zero-shot)0.73$0.022s
RAGAS0.81$0.044s
AutoRAGEval0.95$0.011s

AutoRAGEval erreicht die höchste Korrelation bei den geringsten Kosten.

Domänenübergreifende Leistung

Getestet in verschiedenen Domänen :

DomaineAccord humainCorrélation AutoRAGEval
Support client0.720.94
Documents juridiques0.680.93
Q&A médical0.710.96
Documentation technique0.740.95
Connaissances générales0.770.97

Konstant hohe Korrelation über alle Domänen hinweg.

Analyse nach Dimension

Korrelation pro Dimension :

  • Treue : 0.97 (am höchsten)
  • Relevanz : 0.96
  • Vollständigkeit : 0.92
  • Prägnanz : 0.89
  • Kohärenz : 0.94

Schlüsselinnovationen

Bewertung mit Argumentationsspuren

AutoRAGEval verwendet Argumentationsspuren :

DEVELOPERpython
evaluation = evaluator.assess_with_reasoning( query=query, answer=answer, context=context ) print(evaluation.reasoning) # "Die Antwort zitiert korrekt die Quelle [1] und beantwortet die Frage direkt. # Allerdings lässt sie den sekundären Punkt zu den Tarifen aus. # Treue : 5/5, Vollständigkeit : 3/5." print(evaluation.scores) # {"faithfulness": 5, "relevance": 5, "completeness": 3, ...}

Die Argumentation verbessert die Zuverlässigkeit und die Fehlersuche.

Adversarielle Kalibrierung

Auf adversarialen Beispielen trainiert, um Randfälle zu erkennen :

  • Halluzinationen : Faktisch falsche Aussagen
  • Irrelevanz : Antworten, die am Thema vorbeigehen
  • Zirkuläres Argumentieren : Die Antwort formuliert die Frage nur um
  • Teilantworten : Unvollständige Informationen

Das adversarielle Training verbesserte die Robustheit um 23%.

Dynamische Gewichtung

Die Gewichtung der Dimensionen passt sich dem Anfrage-Typ an :

DEVELOPERpython
# Requête factuelle : prioriser la fidélité weights = {"faithfulness": 0.5, "relevance": 0.3, "completeness": 0.2} # Requête ouverte : prioriser la cohérence weights = {"coherence": 0.4, "relevance": 0.3, "completeness": 0.3} final_score = weighted_sum(dimension_scores, weights)

final_score wird als gewichtete Summe der Dimensionswerte berechnet.

Implementierung

Grundlegende Verwendung

DEVELOPERpython
from autorageval import RAGEvaluator evaluator = RAGEvaluator() # Une seule réponse évaluer result = evaluator.evaluate( query="Quelle est la politique de remboursement ?", answer="Vous pouvez demander un remboursement sous 30 jours...", context=["Extrait du document de politique 1", "Extrait du document de politique 2"] ) print(result.overall_score) # 0.0-1.0 print(result.dimension_scores) # { # "faithfulness": 0.95, # "relevance": 0.90, # "completeness": 0.85, # "conciseness": 0.88, # "coherence": 0.92 # }

Bewertung im Batch

DEVELOPERpython
# Évaluer un ensemble de test complet test_cases = load_test_cases() results = evaluator.evaluate_batch( test_cases, batch_size=32, show_progress=True ) # Métriques agrégées print(f"Score moyen : {np.mean([r.overall_score for r in results])}") print(f"Cas échoués (< 0.6) : {sum(1 for r in results if r.overall_score < 0.6)}")

Mit Referenzantworten

DEVELOPERpython
result = evaluator.evaluate( query=query, answer=answer, context=context, reference_answer=ground_truth, # Optional use_reference=True )

Anwendungsfälle

Kontinuierliche Integration

DEVELOPERpython
# Dans le pipeline CI/CD def test_rag_quality(): evaluator = RAGEvaluator(threshold=0.75) for test_case in regression_test_set: result = evaluator.evaluate(**test_case) assert result.overall_score >= 0.75, \ f"Dégradation de qualité : {result.overall_score}"

A/B-Tests

DEVELOPERpython
# Comparer deux configurations RAG results_a = evaluator.evaluate_batch(test_cases, system=rag_system_a) results_b = evaluator.evaluate_batch(test_cases, system=rag_system_b) improvement = np.mean([r.overall_score for r in results_b]) - \ np.mean([r.overall_score for r in results_a]) print(f"La configuration B améliore la qualité de {improvement*100:.1f}%")

Überwachung in der Produktion

DEVELOPERpython
# Surveiller le trafic en direct async def monitor_rag_quality(): sample = await get_random_queries(n=100) results = evaluator.evaluate_batch(sample) avg_score = np.mean([r.overall_score for r in results]) if avg_score < 0.70: # En dessous du seuil alert_team("Qualité RAG dégradée", avg_score) log_metrics({"rag_quality": avg_score})

Kostenanalyse

Kosten pro Bewertung

MéthodeCoûtTemps
Expert humain$50-2005-15 min
GPT-4 (multi-tour)$0.055s
AutoRAGEval$0.011s

Beispiel : 1000 Testfälle

  • Menschlich : $50 000-200 000
  • GPT-4 : $50
  • AutoRAGEval : $10

ROI

Typische Regressionstest-Suite :

  • Testfälle : 500
  • Ausführungen pro Woche : 10
  • Jährliche Bewertungen : 26 000

Jährliche Kosten :

  • Menschlich : $1,3M - $5,2M (nicht realisierbar)
  • GPT-4 : $1 300
  • AutoRAGEval : $260

Einschränkungen

Wann menschliche Bewertung noch notwendig ist

  1. Initiale Validierung : AutoRAGEval in Ihrer Domäne verifizieren
  2. Randfälle : Ungewöhnliche Anfrage-Typen
  3. Subjektive Dimensionen : Stilpräferenzen
  4. Hohe Einsätze : Kritische juristische oder medizinische Entscheidungen

Empfehlung : AutoRAGEval für 95% der Bewertungen verwenden, Mensch für die verbleibenden 5%.

Anpassung an die Domäne

Kann eine Kalibrierung für spezialisierte Domänen erfordern :

DEVELOPERpython
# Calibrer sur des données spécifiques au domaine evaluator.calibrate( annotated_examples=domain_examples, num_epochs=10 ) # Sauvegarder le modèle calibré evaluator.save("custom_evaluator_legal.pkl")

Open-Source-Veröffentlichung

Verfügbare Komponenten :

  • Bewertungsmodelle : Hugging Face
  • Kalibrierungswerkzeuge : GitHub
  • Referenzdatensätze : 5K annotierte Beispiele
  • Evaluierungs-Pipeline : Docker-Container

Repository : github.com/google-research/autorageval

Industrielle Auswirkungen

Erste Anwender berichten :

  • Reduktion der Evaluierungskosten um 60–80%
  • 10x schnellere Iterationszyklen
  • Konsistente Qualitätsmetriken zwischen Teams
  • Ermöglicht kontinuierliche Überwachung

Zukünftige Entwicklungen

Geplante Verbesserungen :

  1. Multimodale Bewertung : Bilder, Tabellen, Grafiken
  2. Echtzeitbewertung : < 100ms Latenz
  3. Anpassbare Dimensionen : Domänenspezifische Kriterien hinzufügen
  4. Erklärungs-Generierung : Warum wurde der Score vergeben
  5. Adversarielle Robustheit : Bessere Handhabung von Randfällen

Bewährte Methoden

  1. Zuerst validieren : Korrelation in Ihrer Domäne prüfen
  2. Mehrere Metriken verwenden : Nicht nur auf einen Score verlassen
  3. Trends beobachten : Zeitliche Entwicklungen überwachen, nicht nur absolute Werte
  4. Mit Nutzerfeedback kombinieren : Automatisiert + echte Nutzer
  5. Periodisch kalibrieren : Re-Kalibrierung, wenn sich Ihr System ändert

Fazit

AutoRAGEval stellt einen bedeutenden Fortschritt in der RAG-Bewertung dar und macht hochwertige automatisierte Bewertung zugänglich und bezahlbar. Obwohl es die menschliche Bewertung nicht vollständig ersetzt, ermöglicht es eine kontinuierliche Qualitätsüberwachung in bisher unerreichter Skalierung und beschleunigt so Entwicklung und Einsatz von RAG.

Tags

évaluationautomationmétriquesresearch

Verwandte Artikel

Ailog Assistant

Ici pour vous aider

Salut ! Pose-moi des questions sur Ailog et comment intégrer votre RAG dans vos projets !