Vernetzen Sie sich mit uns

Vordenker

RAG-Entwicklung – Eine Einführung in Agentic RAG

mm

Was ist RAG (Retrieval-Augmented Generation)?

Retrieval-Augmented Generation (RAG) ist eine Technik, die die Stärken großer Sprachmodelle (LLMs) mit dem Abruf externer Daten kombiniert, um die Qualität und Relevanz der generierten Antworten zu verbessern. Herkömmliche LLMs verwenden ihre vorab trainierten Wissensbasen, während RAG-Pipelines zur Laufzeit externe Datenbanken oder Dokumente abfragen und relevante Informationen abrufen, um genauere und kontextbezogenere Antworten zu generieren. Dies ist insbesondere in Fällen hilfreich, in denen die Frage entweder komplex oder spezifisch ist oder auf einem bestimmten Zeitrahmen basiert, da die Antworten des Modells mit aktuellen domänenspezifischen Informationen angereichert sind.

Die aktuelle RAG-Landschaft

Große Sprachmodelle haben die Art und Weise, wie wir auf Informationen zugreifen und sie verarbeiten, völlig revolutioniert. Wenn man sich jedoch ausschließlich auf internes, vorab eingegebenes Wissen verlässt, kann dies die Flexibilität der Antworten einschränken – insbesondere bei komplexen Fragen. Retrieval-Augmented Generation behebt dieses Problem, indem LLMs Daten aus anderen verfügbaren externen Quellen abrufen und analysieren können, um genauere und aufschlussreichere Antworten zu liefern.

Die jüngsten Entwicklungen im Bereich Informationsabruf und Verarbeitung natürlicher Sprache, insbesondere LLM und RAG, eröffnen neue Möglichkeiten der Effizienz und Komplexität. Diese Entwicklungen können anhand der folgenden groben Umrisse beurteilt werden:

  1. Verbesserte Informationsbeschaffung: Die Verbesserung der Informationsbeschaffung in RAG-Systemen ist für effizientes Arbeiten sehr wichtig. In jüngsten Arbeiten wurden verschiedene Vektoren, Neurangierungsalgorithmen und hybride Suchmethoden zur Verbesserung der präzisen Suche entwickelt.
  2. Semantisches Caching: Dies ist eine der wichtigsten Möglichkeiten, den Rechenaufwand zu senken, ohne auf konsistente Antworten verzichten zu müssen. Dies bedeutet, dass die Antworten auf aktuelle Abfragen zusammen mit ihrem semantischen und pragmatischen Kontext zwischengespeichert werden, was wiederum schnellere Antwortzeiten ermöglicht und konsistente Informationen liefert.
  3. Multimodale Integration: Neben textbasierten LLM- und RAG-Systemen deckt dieser Ansatz auch die visuellen und anderen Modalitäten des Frameworks ab. Dies ermöglicht den Zugriff auf eine größere Vielfalt an Quellenmaterial und führt zu Antworten, die immer ausgefeilter und präziser werden.

Herausforderungen mit herkömmlichen RAG-Architekturen

Während sich RAG weiterentwickelt, um den unterschiedlichen Anforderungen gerecht zu werden, stehen die traditionellen RAG-Architekturen noch vor Herausforderungen:

  • Zusammenfassung: Das Zusammenfassen großer Dokumente kann schwierig sein. Bei langen Dokumenten kann es sein, dass die herkömmliche RAG-Struktur wichtige Informationen übersieht, weil sie nur die obersten K Teile erfasst.
  • Dokumentenvergleich: Ein effektiver Dokumentenvergleich ist immer noch eine Herausforderung. Das RAG-Framework führt häufig zu einem unvollständigen Vergleich, da es die besten K zufälligen Blöcke aus jedem Dokument nach dem Zufallsprinzip auswählt.
  • Strukturierte Datenanalyses: Es ist schwierig, strukturierte numerische Datenabfragen zu verarbeiten, beispielsweise um herauszufinden, wann ein Mitarbeiter je nach Wohnort seinen nächsten Urlaub antritt. Die präzise Abfrage und Analyse von Datenpunkten ist mit diesen Modellen nicht genau.
  • Handhabung mehrteiliger Abfragen: Die Beantwortung von Fragen mit mehreren Teilen ist immer noch eingeschränkt. Beispielsweise ist die Ermittlung gemeinsamer Abwesenheitsmuster in allen Bereichen einer großen Organisation schwierig, wenn sie auf K Teile beschränkt ist, was die vollständige Untersuchung einschränkt.

 Wechseln Sie zu Agentic RAG

Agentisches RAG verwendet intelligente Agenten, um komplizierte Fragen zu beantworten, die sorgfältige Planung, mehrstufiges Denken und die Integration externer Tools erfordern. Diese Agenten übernehmen die Aufgaben eines erfahrenen Forschers, navigieren geschickt durch eine Vielzahl von Dokumenten, vergleichen Daten, fassen Ergebnisse zusammen und erstellen umfassende, präzise Antworten.

Das Konzept der Agenten ist im klassischen RAG-Framework enthalten, um die Funktionalität und Leistungsfähigkeit des Systems zu verbessern und so ein agentenbasiertes RAG zu schaffen. Diese Agenten übernehmen zusätzliche Aufgaben und Schlussfolgerungen, die über die grundlegende Informationsbeschaffung und -erstellung hinausgehen, sowie die Orchestrierung und Steuerung der verschiedenen Komponenten der RAG-Pipeline.

Drei primäre Agentenstrategien

Router senden Abfragen je nach Typ an die entsprechenden Module oder Datenbanken. Die Router treffen dynamisch Entscheidungen unter Verwendung großer Sprachmodelle, in die der Kontext einer Abfrage fällt, um einen Aufruf an die gewünschte Engine zu senden, um die Genauigkeit und Effizienz Ihrer Pipeline zu verbessern.

Bei Abfragetransformationen handelt es sich um Prozesse, bei denen die Benutzerabfrage so umformuliert wird, dass sie den gewünschten Informationen oder umgekehrt dem Datenbankangebot optimal entspricht. Mögliche Prozesse sind: Umformulierung, Erweiterung oder Aufteilung komplexer Fragen in einfachere, leichter zu bearbeitende Unterfragen.

Es ist außerdem eine Abfrage-Engine für Unterfragen erforderlich, um die Herausforderung zu meistern, eine komplexe Abfrage unter Verwendung mehrerer Datenquellen zu beantworten.

Zunächst wird die komplexe Frage in einfachere Fragen für jede der Datenquellen zerlegt. Anschließend werden alle Zwischenantworten gesammelt und ein Endergebnis synthetisiert.

Agentische Schichten für RAG-Pipelines

  • Routing: Die Frage wird je nach Relevanz an die entsprechende wissensbasierte Verarbeitung weitergeleitet. Beispiel: Wenn der Benutzer Empfehlungen für bestimmte Buchkategorien erhalten möchte, kann die Abfrage an eine Wissensdatenbank weitergeleitet werden, die Wissen über diese Buchkategorien enthält.
  • Abfrageplanung: Dabei wird die Abfrage in Unterabfragen zerlegt und dann an die jeweiligen einzelnen Pipelines gesendet. Der Agent erstellt Unterabfragen für alle Elemente, wie in diesem Fall das Jahr, und sendet sie an die jeweiligen Wissensdatenbanken.
  • Werkzeuggebrauch: Ein Sprachmodell kommuniziert mit einer API oder einem externen Tool. Dabei weiß es, was dies bedeutet, auf welcher Plattform die Kommunikation stattfinden soll und wann dies erforderlich ist. Beispiel: Wenn ein Benutzer eine Wettervorhersage für einen bestimmten Tag anfordert, kommuniziert das LLM mit der Wetter-API, ermittelt Ort und Datum und analysiert dann die von der API zurückgegebene Antwort, um die richtigen Informationen bereitzustellen.
  • Reagieren ist ein iterativer Denk- und Handlungsprozess, gepaart mit Planung, Werkzeugeinsatz und Beobachtung.
    Um beispielsweise einen umfassenden Urlaubsplan zu erstellen, berücksichtigt das System die Anforderungen des Benutzers und ruft über APIs Details zu Route, Sehenswürdigkeiten, Restaurants und Unterkünften ab. Anschließend prüft das System die Ergebnisse auf Richtigkeit und Relevanz und erstellt einen detaillierten Reiseplan, der den Wünschen und dem Zeitplan des Benutzers entspricht.
  • Dynamische Abfrage planen: Anstatt die Aktionen nacheinander auszuführen, führt der Agent zahlreiche Aktionen oder Unterabfragen gleichzeitig aus und aggregiert dann diese Ergebnisse.
    Wenn man beispielsweise die Finanzergebnisse zweier Unternehmen vergleichen und die Unterschiede in bestimmten Kennzahlen ermitteln möchte, verarbeitet der Agent die Daten beider Unternehmen parallel, bevor er die Ergebnisse aggregiert. LLMCompiler ist ein solches Framework, das zu einer derart effizienten Orchestrierung paralleler Funktionsaufrufe führt.

Agentic RAG und LLMaIndex

 LLMaIndex stellt eine sehr effiziente Implementierung von RAG-Pipelines dar. Die Bibliothek füllt einfach das fehlende Stück bei der Integration strukturierter Organisationsdaten in generative KI-Modelle aus, indem sie praktische Tools zur Verarbeitung und zum Abrufen von Daten sowie Schnittstellen zu verschiedenen Datenquellen bereitstellt. Die Hauptkomponenten von LlamaIndex werden unten beschrieben.

 LlamaParse analysiert Dokumente.

Die Llama Cloud für Unternehmensdienste mit RAG-Pipelines, die mit minimalem manuellen Arbeitsaufwand bereitgestellt werden.

Durch die Verwendung mehrerer LLMs und Vektorspeicher bietet LlamaIndex eine integrierte Möglichkeit, Anwendungen in Python und TypeScript mit RAG zu erstellen. Seine Eigenschaften machen es zu einem begehrten Rückgrat für Unternehmen, die KI für eine verbesserte datengesteuerte Entscheidungsfindung nutzen möchten.

Schlüsselkomponenten der Agentic Rag-Implementierung mit LLMaIndex

Lassen Sie uns einige der Bestandteile des agentischen RAG und ihre Implementierung in LlamaIndex genauer betrachten.

1. Werkzeugnutzung und Routing

Der Routing-Agent wählt basierend auf dem Eingabetyp aus, welches LLM oder Tool für eine bestimmte Frage am besten geeignet ist. Dies führt zu kontextabhängigen Entscheidungen, beispielsweise ob der Benutzer eine Übersicht oder eine detaillierte Zusammenfassung wünscht. Beispiele für solche Ansätze sind die Router Query Engine in LlamaIndex, die dynamisch Tools auswählt, die die Antworten auf Abfragen maximieren. 

2. Langfristige Kontextspeicherung

Während die wichtigste Aufgabe des Gedächtnisses darin besteht, den Kontext über mehrere Interaktionen hinweg zu behalten, bleiben sich die mit einem Gedächtnis ausgestatteten Agenten in der agentenbezogenen Variante von RAG ständig der Interaktionen bewusst, die zu kohärenten und kontextbeladenen Antworten führen.

LlamaIndex enthält auch eine Chat-Engine, die über Speicher für kontextbezogene Unterhaltungen und einmalige Abfragen verfügt. Um ein Überlaufen des LLM-Kontextfensters zu vermeiden, muss dieser Speicher bei langen Diskussionen streng kontrolliert und auf eine zusammengefasste Form reduziert werden.

3. Unterfragen-Engines für die Planung

Oftmals muss man eine komplizierte Abfrage in kleinere, überschaubare Aufgaben aufteilen. Die Unterfragen-Abfrage-Engine ist eine der Kernfunktionen, für die LlamaIndex als Agent verwendet wird. Dabei wird eine große Abfrage in kleinere aufgeteilt, nacheinander ausgeführt und dann zu einer zusammenhängenden Antwort kombiniert. Die Fähigkeit von Agenten, mehrere Facetten einer Abfrage schrittweise zu untersuchen, stellt das Konzept der mehrstufigen Planung im Gegensatz zu einer linearen Planung dar.

4. Reflexion und Fehlerkorrektur

Reflektierende Agenten erzeugen Ergebnisse, prüfen anschließend aber deren Qualität, um gegebenenfalls Korrekturen vorzunehmen. Diese Fähigkeit ist äußerst wichtig, um Genauigkeit zu gewährleisten und sicherzustellen, dass das Ergebnis der menschlichen Absicht entspricht. Dank des selbstreflektierenden Workflows von LlamaIndex überprüft ein Agent seine Leistung, indem er Aktivitäten, die bestimmte Qualitätsanforderungen nicht erfüllen, wiederholt oder anpasst. Da Agentic RAG selbstkorrigierend ist, bietet es eine gewisse Zuverlässigkeit für Unternehmensanwendungen, bei denen Zuverlässigkeit von entscheidender Bedeutung ist. 

5. Komplexes agentisches Denken:

Baumbasierte Exploration wird angewendet, wenn Agenten eine Reihe möglicher Routen untersuchen müssen, um etwas zu erreichen. Im Gegensatz zur sequentiellen Entscheidungsfindung ermöglicht baumbasiertes Denken einem Agenten, mehrere Strategien gleichzeitig zu berücksichtigen und die vielversprechendste basierend auf in Echtzeit aktualisierten Bewertungskriterien auszuwählen.

LlamaCloud und LlamaParse

Mit seiner umfangreichen Palette an verwalteten Diensten, die für die Kontexterweiterung auf Unternehmensniveau innerhalb von LLM- und RAG-Anwendungen entwickelt wurden, stellt LlamaCloud einen großen Fortschritt in der LlamaIndex-Umgebung dar. Diese Lösung ermöglicht es KI-Ingenieuren, sich auf die Entwicklung wichtiger Geschäftslogik zu konzentrieren, indem sie den komplexen Prozess der Datenbearbeitung reduziert.

Eine weitere verfügbare Parsing-Engine ist LlamaParse, die sich nahtlos in die Ingestion- und Retrieval-Pipelines von LlamaIndex integrieren lässt. LlamaParse ist eines der wichtigsten Elemente für die Verarbeitung komplexer, semistrukturierter Dokumente mit eingebetteten Objekten wie Tabellen und Abbildungen. Ein weiterer wichtiger Baustein ist die verwaltete Ingestion- und Retrieval-API. Sie bietet zahlreiche Möglichkeiten zum einfachen Laden, Verarbeiten und Speichern von Daten aus einer Vielzahl von Quellen, wie beispielsweise dem zentralen Datenrepository von LlamaHub oder LlamaParse-Ausgaben. Darüber hinaus unterstützt LlamaParse verschiedene Datenspeicherintegrationen.

Fazit

Agentic RAG stellt einen Wandel in der Informationsverarbeitung dar, indem es den Agenten selbst mehr Intelligenz verleiht. In vielen Situationen kann agentic RAG mit Prozessen oder verschiedenen APIs kombiniert werden, um ein genaueres und verfeinertes Ergebnis zu liefern. Bei der Dokumentzusammenfassung beispielsweise würde agentic RAG die Absicht des Benutzers bewerten, bevor eine Zusammenfassung erstellt oder Einzelheiten verglichen werden. Im Kundensupport kann agentic RAG zunehmend komplexere Kundenanfragen präzise und individuell beantworten, nicht nur basierend auf seinem Trainingsmodell, sondern auch auf dem verfügbaren Speicher und externen Quellen. Agentic RAG verdeutlicht einen Wandel von generativen Modellen zu feiner abgestimmten Systemen, die andere Arten von Quellen nutzen, um ein robustes und genaues Ergebnis zu erzielen. Da diese Modelle und Agenitc RAGs jedoch bereits generativ und intelligent sind, streben sie nach höherer Effizienz, da den Pipelines immer mehr Daten zugeführt werden.

Chaitanya Pathak ist ein erfahrener Technologiemanager, der sich auf die Produktisierung von generativer KI spezialisiert hat. Mit über einem Jahrzehnt Erfahrung in Unternehmenssoftware und Produktmanagement ist er derzeit Chief Product and Technology Officer bei LEAPS by Analyttica. Chaitanya hat ein umfassendes Framework entwickelt, das derzeit patentiert wird und KI-Technologien in skalierbare, marktreife Produkte für zahlreiche Branchen verwandelt und Produkt- und Technologieführern ermöglicht, bedeutende Auswirkungen zu erzielen.