Advanced Retrieval Techniken bei "Chat-with-your-Data"Applikationen

Michael Schmid

Sind die Anfragen der KI Knowledge Base wieder nicht verlässlich?

Produktionsreife “Chat-With-your-Data”-Applikationen, basierend auf RAG (=Retrieval Augmented Generation) sind eine harte Nuss. Was schnell in einem Proof of Concept sehr gut funktioniert, ist in der Praxis meistens nicht brauchbar. Gerade die Optimierung von Black Box KI-Systemen, wie RAG, ist alles andere als einfach.

In dieser Artikelreihe gehe ich auf die relevantesten Herausforderungen und Optimierungshebel aus technischer Sicht ein, zur Sicherstellung einer verlässlichen und qualitativen “Chat-with-your-Data”-Applikation.

Heute im Programm: Advanced Retrieval Techniken.

Herausforderungen: Informationsrelevanz  

In den letzten beiden Artikeln dieser Reihe haben wir einen umfassenden Überblick über die wichtigsten Aspekte des Dokumenten Pre-Processing, einschließlich Parsing und Chunking, gegeben. In diesem Teil widmen wir uns erstmals dem technischen Retrieval-Workflow eines RAG-Systems. Der Schwerpunkt liegt heute auf der Informationsrelevanz im Retrieval-Prozess.

Zur Wiederholung: Das Ziel eines RAG-Systems ist es, Antworten auf Nutzeranfragen basierend auf proprietären Daten zu ermöglichen, wie etwa durch eine Enterprise-Anwendung, die auf interne Dokumente und Richtlinien zugreift. Aufgrund der Limitationen von LLMs in Bezug auf Informationsaufnahme (Kontextgröße) müssen Dokumente zunächst aufbereitet und in Chunks geteilt werden. Der Retriever sucht dann die relevantesten Chunks aus, um Nutzerfragen effektiv zu beantworten, wie beispielsweise eine Anfrage zur internen Richtlinie für die Spesenabrechnung. Nachdem die Nutzerfrage gestellt wurde, erhält das LLM die Informationsblöcke (Chunks), die zur Beantwortung der Frage dienen sollen.

Beispiel Prompt Anweisung:

Verwende die relevanten Informationen aus den bereitgestellten Chunks, um eine vollständige und präzise Antwort auf die Nutzerfrage zu formulieren. 

Nutzerfrage: Was muss ich bei einer Dienstreise nach Deutschland beachten? 

Bereitgestellte Chunks:
Chunk 1: Für Verpflegungsmehraufwendungen werden die folgenden Pauschalbeträge pro Tag angesetzt: Abwesenheit von mindestens 24 Stunden: 28 Euro
Chunk 2: Antragstellung: Mitarbeiter müssen einen Reisekostenantrag einreichen, der die Dauer und den Zweck der Reise sowie alle relevanten Belege enthält.
Chunk N: … 

Die Herausforderung besteht darin, die relevantesten Informationsblöcke (Chunks) zu identifizieren und dem LLM zu übergeben. Zunächst muss aber definiert werden, was überhaupt unter Relevanz zu verstehen ist.

Chunk Relevanz

Ein Chunk ist relevant, wenn es einem LLM hilft, eine Frage zu beantworten und gleichzeitig das Risiko von Fehlinformationen, sogenannten Halluzinationen, reduziert. Um solche Halluzinationen zu minimieren, ist es entscheidend, dass die Eingabeaufforderungen (Prompts) so präzise wie möglich formuliert sind.  

Chunk Suche

Zunächst müssen relevante Informationsblöcke (Chunks) in der Datenbasis gefunden werden. Folgende Techniken findet man in der Praxis: Volltext-, Vector-, Knowledge Graph oder Hybridsuche.

Volltext Suche

Hier werden alle Chunks nach spezifischen Schlüsselwörtern oder Phrasen durchsucht, die in der Eingabeaufforderung genannt sind. Dies funktioniert ähnlich wie die klassische STRG+F-Suche im Browser oder PDF-Viewer, bei der die Chunks genau nach den angegebenen Keywords durchsucht werden. Beispielhafte Schlüsselwörter könnten "Spesenrichtlinie" oder "Geschäftsreise" sein. Mit logischen Operatoren wie UND/ODER lassen sich auch komplexere Anfragen formulieren, beispielsweise "Spesenrichtlinie ODER Geschäftsreise". Wenn ein Wort anders formuliert oder in einer anderen Sprache gespeichert sein könnte, reicht eine einfache Volltextsuche jedoch nicht aus. Zum Beispiel könnte "Spesenrichtlinie" auch als "Expense Policy" oder "Spesen Policy" bezeichnet werden. In solchen Fällen ist die Vektorsuche hilfreich. Allerdings hat eine Volltextsuche auch Vorteile, beispielsweise wenn das Embedding oder Sprachmodell domänenspezifische Fachbegriffe nicht versteht.

Vector Suche

Diese Methode verwendet Embedding-Modelle, um semantisch ähnliche Inhalte zu erkennen. Dabei werden die Eingabeaufforderung und alle Textabschnitte als "Vektoren" dargestellt. Eine spezielle KI wandelt die Bedeutung eines Textes in Zahlen um, die semantische Distanzen darstellen. Zum Beispiel könnte 1 für Äpfel, 3 für Birnen und 100 für Autos stehen. Da 1 und 3 nahe beieinanderliegen, sind Äpfel und Birnen thematisch ähnlich. Autos hingegen sind weit entfernt. Diese Methode hilft, relevante Inhalte effizienter zu finden und zu nutzen. Eine Benchmarking-Rangliste der verschiedenen Embedding-Modelle ist hier verfügbar.

Extra: Knowledge Graph Suche

Ein weiterer Suchansatz basiert auf Knowledge Graphs, die in voller Ausführlichkeit in einem separaten Artikel noch behandelt werden. Man kann sich Knowledge Graphs wie ein Board in einer Detektivserie vorstellen, auf dem Informationen zu einem Fall durch Fäden verbunden sind. Dabei werden Chunks als eine strukturierte Sammlung von Informationen repräsentiert, um Datenpunkte und deren Beziehungen darzustellen.  

Hybrides Suchverfahren

Um eine umfassende Liste relevanter Chunks zu erstellen, kombinieren wir die Ergebnisse der Vector- und Volltextsuche. Dies berücksichtigt semantisch ähnliche Inhalte und exakte Schlüsselwörter. Ein Problem bleibt jedoch: Die Suche identifiziert zwar relevante Chunks, kann aber deren relative Relevanz (zur Frage) nicht bestimmen.

Beispielsweise liefert eine Anfrage zu Apfelsaft 5 Chunks aus dem Vector Cluster „Apfel“ und 5 Chunks mit dem Keyword „Apfelsaft“. Um die Top 3 der 10 Chunks zu finden, muss ein zusätzlicher Schritt die Relevanz bewerten und sortieren, etwa durch einen abgeleiteten Relevanz-Scores.

Priorisierung von Chunks: “Re-ranking”

Relevanz-Score Berechnung: Jeder Chunk erhält einen Score, der seine Relevanz zur Eingabeaufforderung widerspiegelt. Bei hybriden Suchverfahren besteht dieser Score aus mehreren Komponenten, um eine umfassendere Bewertung zu ermöglichen. Anschließend werden die Chunks nach ihrem Score sortiert, wobei die relevantesten Ergebnisse zuerst erscheinen und solche unter einem bestimmten Score nicht dem LLM übergeben werden.

Mögliche Komponenten des Scores:

  • Semantische Ähnlichkeit: Nähe der Bedeutung des Chunks zur Eingabeaufforderung  
  • Metadaten: Erstellungsdatum des Dokuments, Popularität (wie oft geöffnet), und Content-Qualität (Lesbarkeitsbewertung).

Semantische Ähnlichkeit

Bei diesem Scoring wird die semantische Ähnlichkeit zwischen der Eingabeaufforderung und einem Chunk ermittelt. Mit anderen Worten: Wie ähnlich sind die Bedeutungen von Frage und Antwort?

Hier nutzt man ein sogenanntes Cross-Encoder-Modell. Dieses Modell bewertet die Semantische Ähnlichkeit quantitativ.

Beispiel: Die Anfrage lautet „Wie viele Einwohner hat die Stadt Wien?“ 
Zwei mögliche Chunks zur Beantwortung sind: 
Chunk A: „Der Ballungsraum Wien hat etwa 3 Millionen Einwohner.“ 
Chunk B: „Wien hat 1.982.097 Einwohner.“ 

Da die Anfrage sich spezifisch auf die Stadt Wien und nicht auf den Ballungsraum bezieht, würde das Cross-Encoder-Modell Chunk B als ähnlicher und somit relevanter ansehen.  

Metadaten-Kriterien:

Bei der Erstellung von Chunks setzen wir spezifische Kriterien ein, um ihre Relevanz zu bestimmen. Zum Beispiel könnte das Kriterium „Bevorzugung aktueller Dokumente“ das Erstellungsdatum als relevantes Meta Attribut nutzen. Chunks aus neueren Dokumenten würden dadurch höher gewichtet. Weitere Metadaten könnten die Dokumentenpopularität oder die Inhaltsqualität umfassen, jeweils quantifiziert durch messbare Kennzahlen, um eine objektive Bewertung der Relevanz zu gewährleisten.

Umsetzung in der Praxis

Um die Hybridsuche mit Re-Ranking in der Praxis umzusetzen, benötigt man zunächst eine Vektordatenbank, die Hybrid-Suche unterstützt. Anschließend kann man entweder einen externen Dienst nutzen, um das Re-Ranking durchzuführen, oder man hostet die Cross-Encoder-Modelle selbst und entwickelt eine eigene Logik. Je nach Anforderung ist jede Variante möglich. Hier ein Auszug von Tools, mit denen wir gearbeitet haben (Stand: Mai 2024):

Vektordatenbanken:

Open Source:

  • ChromaDB: Open-Source Vektordatenbank für schnelle und skalierbare hybride Suchen.
  • PostgreSQL + pgvector: Erweiterung für PostgreSQL, die Vektorähnlichkeitssuche ermöglicht.

Kommerziell:

  • Weaviate: Kommerzielle Vektordatenbank mit eingebauten NLP-Funktionen.
  • Pinecone: Gehostete Vektordatenbank für skalierbare und performante Suche.
  • Azure AI Search: Cloud-basierter Dienst, der eingeschränkt hybrides Re-Ranking unterstützt.

Re-Ranker:

Open Source:

Externer Dienst:

  • Cohere: Bietet leistungsstarkes Embedding u. Re-Ranking als Dienstleistung an.

Zusammenfassung

  • Informationsrelevanz: Die relevantesten Informationsblöcke (Chunks) für die Beantwortung von Nutzerfragen in RAG-Systemen müssen so extrahiert werden, dass Prompts präzise formuliert werden können, um Fehlinformationen und Halluzinationen zu vermeiden.
  • Chunk-Suchmethode: Es gibt verschiedene Techniken zur Chunk-Suche: Volltextsuche, Vektorsuche, Knowledge Graphs und hybride Suchverfahren, die jeweils exakte Schlüsselwörter, semantische Ähnlichkeit, Kontextbeziehung oder eine Kombination aus allen berücksichtigen.
  • Re-Ranking: Bewertung und Sortierung der Chunks nach einem selbst definierten Relevanz-Score, der aus mehreren Komponenten wie semantischer Ähnlichkeit zur Eingabe, und Metadaten (z.B. Erstellungsdatum, Popularität) besteht.
  • Wahl der richtigen Tools: Verwendung von Open-Source- oder kommerziellen Vektordatenbanken sowie externen oder selbst gehosteten Re-Ranking-Diensten zur Implementierung einer skalierbaren und präzisen hybriden Suche.

Mit einem Kennenlernen starten

Wir möchten Ihre Situation und Ihre Ziele verstehen - wählen Sie hier einen Termin.

Erfolgreiche KI-Transformation mit Walnuts Digital

Als End-to-End Business Integrator ist Walnuts Digital ein zuverlässiger Partner und Advisor für nachhaltige Wertschöpfung mit Künstlicher Intelligenz. Wir helfen bei der Integration von Generativer-KI in Ihre Geschäftsprozesse - von der Strategie, über die technische Implementation bis hin zum Change Management.

Weitere Artikel: