Evaluierung von RAG-Systemen: Ein Leitfaden mit dem Ragas Framework

März 2025
Technology
Steadforce

Inhaltsübersicht

Einführung in die generative künstliche Intelligenz (GenAI)

Was ist generative künstliche Intelligenz (GenAI)?

Die generative künstliche Intelligenz (GenAI) hat in den letzten Jahren erhebliche Fortschritte gemacht und die Art und Weise, wie Unternehmen ihre Daten nutzen, revolutioniert. GenAI-Modelle können menschenähnlichen Text und Code sowie kreative Inhalte wie Bilder, Videos und Musik generieren, was sie zu wertvollen Werkzeugen für verschiedene Branchen macht. Diese Fähigkeiten erklären auch den derzeitigen Hype um diese Technologien. Vielen Prognosen zufolge könnte sich GenAI in den kommenden Jahren zu einem der am schnellsten wachsenden Märkte entwickeln. Durch die Analyse großer Datenmengen und die Gewinnung wertvoller Erkenntnisse können Unternehmen mit GenAI effizienter arbeiten und sich einen Wettbewerbsvorteil verschaffen.

‍Vorteilevon GenAI illustriert von Allianz

‍Eineindrucksvolles Beispiel für GenAI in der Praxis ist die Allianz Versicherung, die generative KI strategisch einsetzt, um interne Prozesse zu optimieren. Konkret wird die Technologie erfolgreich bei der Bearbeitung von Tierversicherungsansprüchen eingesetzt: Die KI extrahiert relevante Informationen aus eingereichten Rechnungen, prüft deren Richtigkeit und sorgt für eine reibungslose Weiterverarbeitung. Dieser Ansatz verkürzt nicht nur die Bearbeitungszeiten erheblich, sondern ermöglicht es den Mitarbeitern, sich auf komplexere Aufgaben zu konzentrieren [Quelle].

Übergang zu RAG: Grenzen von GenAI-Lösungen

Generative KI hat klare Grenzen, da sie nur mit den Daten arbeiten kann, auf die sie trainiert wurde, und keinen Zugang zu unternehmensspezifischen Informationen hat. Das bedeutet, dass die KI auf eine Frage wie "Wie kann ich meine Reisekostenabrechnung bearbeiten?" nur eine generische Antwort geben kann, da sie keine Kenntnisse über die internen Prozesse oder Datenbanken eines Unternehmens hat.Retrieval-Augmented Generation (RAG) kombiniert die Fähigkeiten von Large Language Models (LLMs) mit der Fähigkeit, gezielt auf Datenquellen wie eine interne Datenbank zuzugreifen. LLM steht für Large Language Model und gehört zur Klasse der generativen KI oder generativen Sprachmodelle. Eine RAG-Lösung macht für den Nutzer einen wesentlichen Unterschied: Statt einer ungenauen, generischen Antwort liefert generative KI spezifische, genau auf die Frage zugeschnittene Informationen. Dadurch bleibt die intuitive Benutzererfahrung erhalten, während die Ergebnisse wesentlich relevanter und nützlicher sind.

Einführung in die Retrieval-Augmented Generation (RAG)

Was ist Retrieval-Augmented Generation (RAG)?

RAG ist ein innovativer Ansatz in der Welt der Generativen Künstlichen Intelligenz, der die Stärken von Sprachmodellen mit effizienten und präzisen Methoden des Information Retrieval verbindet. Im Kern besteht RAG aus zwei Hauptkomponenten:

  • LLM (Large Language Model): Dieses Modell generiert eine vollständig formulierte Antwort auf eine gegebene Frage auf der Grundlage eines relevanten Kontexts, der im Idealfall die für die Antwort erforderlichen Informationen enthält.
  • Retrieval-System: Dieses System verwendet in der Regel eine Vektordatenbank, in der Informationen in Form von Dokumenten und deren Vektoreinbettungen gespeichert sind. Diese Einbettungen ermöglichen die Suche nach Dokumenten nicht nur nach Schlüsselwörtern, sondern auch durch semantische Suche. Auf diese Weise kann das System Dokumente finden, die zwar nicht die genauen Schlüsselwörter der Anfrage enthalten, aber semantisch relevant sind.

Auf diese Weise können RAG-Systeme auf aktuelle und spezifische Informationen zugreifen, wodurch sie sich besonders für Anwendungen eignen, bei denen es auf Genauigkeit und Aktualität ankommt, wie z.B. beim Kundensupport oder bei Chats in Wissensdatenbanken.Ein erfolgreiches Beispiel für RAG in der Praxis ist die Entwicklung von Genie, einem Rufbereitschafts-Copiloten von Uber. Genie nutzt generative KI, um den Bereitschaftsdienst bei der Kommunikation und der Beantwortung von Anfragen zu unterstützen [Quelle].

‍Grenzender RAG - Halluzinationen und ungenaues Abrufen von Dokumenten

Trotz der vielversprechenden Vorteile der RAG gibt es einige Herausforderungen und Grenzen, die es zu überwinden gilt:

  • Halluzinationen: Ein zentrales Problem bei generativen Sprachmodellen sind die so genannten "Halluzinationen", bei denen das Modell falsche oder irreführende Informationen erzeugt. Diese Halluzinationen entstehen, wenn das Modell Daten erzeugt, die nicht auf realen oder zuverlässigen Quellen basieren, sondern aus seinem eigenen, manchmal fehlerhaften, internen "Wissen" abgeleitet sind. RAG-Systeme können zwar die Halluzinationsrate durch den Zugriff auf die abgerufenen Dokumente verringern, aber das Problem bleibt dennoch bestehen. Das generative Modell kann immer noch Informationen produzieren, die nicht direkt aus dem bereitgestellten Kontext stammen, sondern aus zuvor gelernten, ungenauen Mustern.
  • Ungenaues Abrufen von Dokumenten: Das Abfragesystem kann relevante Dokumente nicht immer korrekt identifizieren oder die relevantesten Informationen aus den abgerufenen Dokumenten extrahieren. Dies kann zu generierten Antworten führen, die unvollständig oder nicht präzise genug sind, um die Anforderungen der Benutzer zu erfüllen.

Solche Einschränkungen können die Zuverlässigkeit und Vertrauenswürdigkeit von RAG-basierten Systemen erheblich beeinträchtigen, insbesondere bei kritischen Anwendungen wie Finanzen und Recht. So sah sich beispielsweise Air Canada mit einem Rechtsstreit konfrontiert, als ein Chatbot einem Kunden in einem Trauerfall falsche Informationen zur Rückerstattung gab. Der Kunde kaufte aufgrund dieser Fehlinformation ein reguläres Ticket, und als die Rückerstattung später verweigert wurde, entschied das Gericht zu Gunsten des Kunden. Solche Fehler können zu finanziellen Verlusten führen und das Vertrauen in KI-Lösungen schwer beschädigen [Quelle].

‍Lösungenfür die Messung und Bewertung von RAG-Beschränkungen

Umdie Auswirkungen der oben genannten Einschränkungen zu minimieren, ist es entscheidend, robuste Bewertungsmethoden zu verwenden, die die Leistung von RAG-Systemen kontinuierlich überwachen und messen. Eine wichtige Lösung ist die Implementierung von Bewertungsrahmen wie Ragas. Diese Rahmenwerke bieten strukturierte Ansätze für die Entwicklung von Metriken, die speziell auf die Herausforderungen von RAG-Systemen zugeschnitten sind.Regelmäßige Evaluierungen mit dem Ragas-Rahmenwerk geben Aufschluss darüber, wie gut das RAG-System in realen Szenarien funktioniert, und zeigen verbesserungswürdige Bereiche auf. Diese Bewertungen ermöglichen eine proaktive Identifizierung von Schwachstellen, so dass Maßnahmen ergriffen werden können, bevor kleinere Probleme zu großen Herausforderungen in der Kundeninteraktion eskalieren.

Ragas Rahmen für die Bewertung von RAG-Systemen‍

In diesem Kapitel wird ein detaillierter Blick auf die Evaluierung von RAG-Systemen mit Hilfe des Ragas Frameworks geworfen. Ziel ist es, die Qualität der Ragas-Bewertungen zu analysieren, da diese von konfigurierten Parametern abhängen. Um dies zu erreichen, wird die Context Precision Metrik des Ragas Frameworks untersucht. Die Untersuchung basiert auf Experimenten mit dem öffentlich verfügbaren GermanDPR-Datensatz.

‍‍

Einführung in den Ragas-Rahmen

Das Ragas Framework wurde speziell entwickelt, um RAG-Systeme umfassend zu bewerten und systematisch zu verbessern. Es basiert auf drei zentralen Bewertungsansätzen:

  1. Relevanz des Kontexts: Beschreibt, wie relevant die abgerufenen Informationen (Kontext) für die Anfrage des Nutzers sind. Mit anderen Worten: Enthält der gefundene Kontext tatsächlich die zur Beantwortung der Frage erforderlichen Informationen? Diese Metrik wird u. a. mit Hilfe der Kontextpräzision bewertet, die überprüft, ob die zurückgegebenen Daten angemessen und nützlich sind.
  2. Wahrheitsgetreue: Geht noch einen Schritt weiter und konzentriert sich darauf, ob die generierte Antwort aus dem abgerufenen Kontext abgeleitet werden kann. Es wird bewertet, ob das LLM die Antwort auf der Grundlage der bereitgestellten Daten erstellt hat oder ob es möglicherweise ungenaue oder halluzinierte Informationen hinzugefügt hat. Treue ist entscheidend, um sicherzustellen, dass die generierten Antworten vertrauenswürdig sind und sich streng an die zugrunde liegenden Fakten halten.
  3. Relevanz der Antwort: Bewertet die Relevanz der endgültigen Antwort in Bezug auf die ursprüngliche Frage des Nutzers. Es wird überprüft, ob die Antwort sowohl thematisch relevant als auch hilfreich ist. Eine relevante Antwort kann nur erstellt werden, wenn auch die beiden anderen Kriterien, Kontextrelevanz und Treue, erfüllt sind.

Der Dreiklang der Metriken ist wesentlich, weil er die RAG-Systeme ganzheitlich bewertet. Nur wenn der abgefragte Kontext relevant ist, die Antwort aus dem Kontext abgeleitet wird und die endgültige Antwort hilfreich ist, erfüllt das RAG-System seinen Zweck. Ein relevanter Kontext ohne eine damit verbundene Antwort oder eine korrekte Antwort, die für die Anfrage irrelevant ist, schmälert das Vertrauen in den praktischen Wert des Systems. Das Ragas Framework bietet eine flexible Architektur, die sich an unterschiedliche Datensätze und Sprachmodelle anpassen lässt. Dies macht es zu einem effektiven Werkzeug, um Schwachstellen in RAG-Systemen zu identifizieren und gezielte Verbesserungen umzusetzen.

Kontext Präzision Metrisch

Das RAG-System generiert eine Antwort auf eine gegebene Frage, indem es relevante Kontexte aus einer Datenbank abruft. Die Kontextpräzisionsmetrik bewertet, ob die bereitgestellten Kontexte nützlich und relevant für die generierte Antwort sind.

Die Kontextpräzisionsmetrik ist eine in sich geschlossene Metrik, d. h. sie verwendet einen LLM, um die abgerufenen Kontexte zu bewerten. Der LLM erhält eine Eingabeaufforderung, die die Frage, die generierte Antwort, die abgerufenen Kontexte und die folgende Anweisung enthält:

"Bei gegebener Frage, Antwort und Kontext ist zu prüfen, ob der Kontext nützlich war, um die gegebene Antwort zu erhalten. Gib das Urteil als '1' an, wenn nützlich, und '0', wenn nicht, mit JSON-Ausgabe."

Die Anweisung am Ende des Prompts wird als Scorer Prompt bezeichnet, da die Context Precision Metrik auch als Scorer bezeichnet wird.

Der Wortlaut, die Formulierung und die Sprache des Scorer Prompts beeinflussen die Bewertung der Kontextgenauigkeit durch den LLM. Wenn zum Beispiel die Frage, die Antwort und der Kontext auf Deutsch sind, der Scorer Prompt aber auf Englisch geschrieben ist, kann dies die Bewertungsergebnisse beeinflussen. Ein weiterer Faktor ist die Wahl des LLMs, da verschiedene Modelle unterschiedliche Sprachkenntnisse haben - zum Beispiel verstehen einige LLMs die deutsche Sprache besser als andere.

Auf der Grundlage dieser Überlegungen ermitteln wir die folgenden Parameter, die die Zuverlässigkeit der Metrik "Context Precision" beeinflussen:

  • Scorer Aufforderung: Die Sprache der Aufforderung.
  • LLM: Die Wahl des Modells, wie GPT-3.5 oder Claude 3 Haiku, für die Bewertung.

Datensatz: GermanDPR

Der GermanDPR-Datensatz dient als Grundlage für unsere Evaluation und bietet eine realistische Testumgebung für deutschsprachige RAG-Systeme. Er enthält eine Vielzahl von Fragen, sowie relevante (positive_ctxs) und irrelevante (hard_negative_ctxs) Kontexte. Diese relevanten Kontexte dienen als Referenz für die Bewertung der Systemleistung.

Durch die Kombination von relevanten und irrelevanten Informationen simuliert der Datensatz reale Szenarien und dient als verlässliche Grundlage für Analysen.

Die Struktur des GermanDPR-Datensatzes umfasst die folgenden Komponenten:

  • Frage: Eine auf Deutsch formulierte Frage.
  • Antwort: Eine richtige Antwort auf die Frage.
  • Positive Kontexte (positive_ctxs): Texte, die relevante Informationen zur Beantwortung der Frage liefern.
  • Harte negative Kontexte (hard_negative_ctxs): Texte, die thematisch ähnlich sind, aber keine relevanten Informationen zur Beantwortung der Frage enthalten.

Diese Struktur ermöglicht es uns, die Leistung von RAG-Systemen in realistischen Szenarien zu bewerten, indem sowohl relevante als auch irrelevante Informationen bereitgestellt werden.

Nachstehend finden Sie ein Beispiel aus dem Datensatz:

Frage: Wie viel Speicherplatz hat der iPod der zweiten Generation?
Antwort: Neben dem Modell mit 1 GB auch in einer 2-GB-Version
Positive Contexts (positive_ctxs): [Kontext über den iPod der zweiten Generation]
Hard Negative Contexts (hard_negative_ctxs): [Kontext über den iPod der sechsten Generation]

Die Kontexte in diesem Beispiel wurden gekürzt.

Methodik der Bewertung

Um die Context Precision Metrik mit verschiedenen Parametereinstellungen zu evaluieren, wurde ein RAG-System mit GPT-3.5 als LLM und einer Elasticsearch-Datenbank mit dem OpenAI "text-embedding-3-small" Einbettungsmodell als Retrievalsystem implementiert. Die Datenbank wurde mit Kontexten aus dem GermanDPR-Datensatz geladen.

Alle Fragen aus dem Datensatz wurden dann an das RAG-System gestellt. Bei der Generierung der Antworten wurden die folgenden Zwischenergebnisse für die spätere Auswertung gespeichert.

Im Ragas-Framework kann die Metrik "Context Precision" wie folgt konfiguriert werden:

1) Der erste Schritt ist die Auswahl eines LLM. Im folgenden Codeschnipsel wird GPT-3.5 Turbo von Azure OpenAI verwendet:

from ragas.llms import LangchainLLMWrapper 
from ragas.metrics import LLMContextPrecisionWithoutReference 
from langchain_openai importieren AzureChatOpenAI 

### 
 # Erste Parameter Setzung: LLM model
 ###

# azure_endpoint spezifiziert die LLM URL Adresse
 # azure_deployment spezifiziert einen LLM, wie z.B. GPT 3.5
llm = AzureChatOpenAI(
          azure_endpoint=endpoint,
          deployment_name=deployment,
          api_key=api_key, 
          api_version=api_version
)

ragas_llm = LangchainLLMWrapper(azure_llm)

scorer_name = "Deutscher_GPT3.5_Scorer"
scorer = LLMContextPrecisionWithoutReference(name=name, llm=ragas_llm)

2) Im zweiten Schritt wird der Prompt von unserem Scorer ins Deutsche übersetzt:

###
 # Zweiter Parameter Setzung: Scorer-Prompt auf Deutsch setzen
 ###
language = "deutsch" 
adapt_instruction = True
adapted_prompts = await scorer.adapt_prompts( 
           language=language,
           llm=ragas_llm,
           adapt_instruction= adapt_instruction
) 
scorer.set_prompts(**adapted_prompts)

Die folgende Klassenmethode kann verwendet werden, um die Relevanz der extrahierten Kontexte zu bewerten.

###
# Klassen-Methode scorer.single_turn_ascore
### 
# sample variable beinhaltet als Text eine Frage, die extrahierten Kontexte und generierte Antwort
await scorer.single_turn_ascore(sample)

Das Ergebnis, das von der scorer.single_turn_ascore(sample) Methode ist ein Float-Wert zwischen 0 und 1. Je höher der Wert, desto relevanter sind die extrahierten Kontexte.

Da der GermanDPR-Datensatz auch wirklich relevante Kontexte enthält, können wir beurteilen, ob die extrahierten Kontexte einen semantisch ähnlichen Inhalt haben wie der eigentliche Kontext.

Frage Extrahierter Kontext 1 Extrahierter Kontext 2 Extrahierter Kontext 3 Antwort Tatsächlicher Kontext Verdikt anhand German-GPT3.5-Scorer Verdikt anhand des tatsächlichen Kontextes
Warum kamen die Maler im Mittelalter in Portugal oft aus einem anderen Land? Francis_Ricciardone Francis J. Ricciardone jr. (* 1951 in Boston, Massachusetts) ist Präsident der American University in Cairo ... Anthropologie === Theologische Anthropologie === Die theologische Anthropologie als Teilbereich der Systematischen Theologie deutet den Menschen ... Die niederländische Sprache (niederländisch ''Nederlandse taal''), kurz Niederländisch (Aussprache: ), ist eine westgermanische Sprache, die weltweit etwa 24 Millionen Menschen ... Ja, im Mittelalter kamen die Maler in Portugal oft aus einem anderen Land, insbesondere aus Flandern. Diese ausländischen Maler wirkten in Portugal, da sie in ihren Heimatländern von den großen Meistern verdrängt worden waren. Portugal === Bildende Kunst === In der Malerei und Bildhauerei erlangten portugiesische Künstler nie große Bekanntheit. Das lag an diversen Gründen: Zum einen gab es ... [0, 0, 0] [0, 0, 0]

In dem obigen Beispiel wird deutlich, dass die Kontext-Präzisionsscorer bewertete alle drei extrahierten Kontexte als irrelevant für die Antwortgenerierung. Dies lässt sich an den Werten ablesen [0, 0, 0] im Urteil Spalte für die Deutsch-GPT3.5 Scorer. Zusätzlich werden die gleichen Werte in der Urteil Spalte für den tatsächlichen Kontext, was anzeigt, dass der Bewerter die Irrelevanz der Kontexte richtig erkannt hat.

Die obige Auswertung wurde für alle im GermanDPR-Datensatz verfügbaren Fragen unter Verwendung der folgenden Parameterkombinationen durchgeführt:

  • LLM: GPT-3.5, Claude 3 Haiku
  • Scorer Aufforderung: Deutsch, Englisch

Aus den von den unterschiedlich konfigurierten Scorern gelieferten Relevanzbewertungen und der tatsächlichen Relevanz der Kontexte wurden Standardmetriken wie Precision, Recall und F1-Score berechnet. Diese Metriken ermöglichen es uns, die Zuverlässigkeit der Kontextpräzisionsmetrik in Abhängigkeitvon ihrer Konfiguration darzustellen.

Ergebnisse


Die Bewertung der Konfigurationen des Context Precision Scorer ist in der folgenden Tabelle zusammengefasst:

LLM Sprache der Prompts Präzision Rückruf F1-Score
GPT-3.5 Deutsch 64,94 % 91,98 % 76,13 %
GPT-3.5 Englisch 61,53 % 94,79 % 74,62 %
Claude 3 Haiku Deutsch 60,94 % 97,00 % 74,85 %
Claude 3 Haiku Englisch 60,43 % 97,09 % 74,49 %

Die Ergebnisse zeigen deutlich, dass GPT-3.5 mit deutschen Prompts die höchste Gesamtleistung erzielte, gemessen an einem F1-Wert von 76,13 %. Während Claude 3 Haiku einen hohen Recall-Wert aufwies, zeigte es Schwächen bei der Genauigkeit, was darauf hindeutet, dass irrelevante Kontexte häufiger als relevant eingestuft wurden. Insgesamt schnitten Bewerter mit ins Deutsche übersetzten Prompts besser ab, wahrscheinlich weil der GermanDPR-Datensatz ausschließlich deutschen Text enthält. Dies unterstreicht, wie wichtig es ist, Sprachmodelle und Prompts auf die sprachlichen Merkmale eines bestimmten Datensatzes abzustimmen, um die höchstmögliche Zuverlässigkeit der Context Precision-Metrik zu gewährleisten.

Zusammenfassung
Die Analyse zeigt, dass sowohl die Wahl des Modells als auch die Sprache der Prompts entscheidend für die Effektivität der Context Precision Metrik des Ragas Frameworks sind. Insbesondere für deutschsprachige Datensätze und Anwendungsfälle bietet GPT-3.5 deutliche Vorteile. Unternehmen sollten sich daher auf sprachspezifische Anpassungen und geeignete Modelle konzentrieren, um das Ragas-Framework optimal nutzen zu können. In der Praxis hat sich das Framework als effektives Werkzeug zur systematischen Bewertung und Verbesserung von RAG-Systemen erwiesen.

Aus diesen Erkenntnissen lassen sich die folgenden praktischen Empfehlungen ableiten:

  • Sprachspezifische Anpassung: Deutsche Prompts sollten bevorzugt werden, insbesondere wenn die zugrunde liegenden Informationen auf Deutsch sind.
  • Verwendung von geeigneten LLMs: Sprachmodelle, die sich in der jeweiligen Sprache als besonders leistungsfähig erwiesen haben, wie z. B. GPT-3.5, sollten vorrangig eingesetzt werden.

Wollen Sie mehr sehen?

Ausgewählte Beiträge

Mehr erfahren
Kein Spam, versprochen
Erhalten Sie wertvolle Insights von unserem Expertenteam.