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.
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].
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.
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:
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].
Trotz der vielversprechenden Vorteile der RAG gibt es einige Herausforderungen und Grenzen, die es zu überwinden gilt:
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].
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.
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.
Das Ragas Framework wurde speziell entwickelt, um RAG-Systeme umfassend zu bewerten und systematisch zu verbessern. Es basiert auf drei zentralen Bewertungsansätzen:
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.
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:
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:
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.
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.
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:
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.
Die Bewertung der Konfigurationen des Context Precision Scorer ist in der folgenden Tabelle zusammengefasst:
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: