Connect with us

RAG Evolution – Eine Einführung in Agentic RAG

Vordenker

RAG Evolution – 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 externer Datenabruf kombiniert, um die Qualität und Relevanz der generierten Antworten zu verbessern. Traditionelle LLMs verwenden ihre vorgebildeten Wissensbasen, während RAG-Pipelines in Echtzeit auf externe Datenbanken oder Dokumente zugreifen und relevante Informationen abrufen, um genauere und kontextreichere Antworten zu generieren. Dies ist besonders hilfreich in Fällen, in denen die Frage komplex, spezifisch oder auf einen bestimmten Zeitraum bezogen ist, da die Antworten des Modells informiert und mit aktuellen, domänen-spezifischen Informationen angereichert sind.

Die aktuelle RAG-Landschaft

Große Sprachmodelle haben die Art und Weise, wie wir auf Informationen zugreifen und sie verarbeiten, revolutioniert. Die alleinige Abhängigkeit von internem, vorab eingegebenem Wissen kann jedoch die Flexibilität ihrer Antworten einschränken – insbesondere bei komplexen Fragen. Retrieval-Augmented Generation löst dieses Problem, indem es LLMs ermöglicht, Daten aus anderen verfügbaren Quellen zu erwerben und zu analysieren, um genauere und einblickreichere Antworten zu produzieren.

Die jüngsten Entwicklungen in der Informationsabruf und der natürlichen Sprachverarbeitung, insbesondere LLM und RAG, eröffnen neue Grenzen der Effizienz und Raffinesse. Diese Entwicklungen können anhand der folgenden breiten Konturen bewertet werden:

  1. Verbesserte Informationsabruf: Die Verbesserung der Informationsabruf in RAG-Systemen ist für eine effiziente Arbeit sehr wichtig. Jüngste Arbeiten haben verschiedene Vektoren, Reranking-Algorithmen und hybride Suchmethoden für die Verbesserung der präzisen Suche entwickelt.
  2. Semantisches Caching: Dies stellt eine der wichtigsten Möglichkeiten dar, wie der Rechenaufwand ohne Verlust an konsistenten Antworten reduziert wird. Dies bedeutet, dass die Antworten auf aktuelle Anfragen zusammen mit ihrem semantischen und pragmatischen Kontext gespeichert werden, was wiederum schnellere Antwortzeiten und konsistente Informationen liefert.
  3. Multimodale Integration: Neben textbasierten LLM- und RAG-Systemen umfasst dieser Ansatz auch visuelle und andere Modalitäten des Frameworks. Dies ermöglicht den Zugriff auf eine größere Vielfalt an Quellen und führt zu Antworten, die zunehmend raffiniert und genau sind.

Herausforderungen bei traditionellen RAG-Architekturen

Während RAG sich entwickelt, um unterschiedliche Bedürfnisse zu erfüllen, gibt es immer noch Herausforderungen, die traditionellen RAG-Architekturen gegenüberstehen:

  • Zusammenfassung: Die Zusammenfassung großer Dokumente kann schwierig sein. Wenn das Dokument lang ist, kann die konventionelle RAG-Struktur wichtige Informationen übersehen, da sie nur die Top-K-Teile erhält.
  • Dokumentvergleich: Ein effektiver Dokumentvergleich ist immer noch eine Herausforderung. Das RAG-Framework führt häufig zu einem unvollständigen Vergleich, da es die Top-K-zufälligen Teile aus jedem Dokument zufällig auswählt.
  • Strukturierte Datenanalyse: Es ist schwierig, Anfragen mit strukturierten numerischen Daten zu bearbeiten, wie z.B. die Ermittlung, wann ein Mitarbeiter seinen nächsten Urlaub nehmen wird, abhängig von seinem Wohnort. Die genaue Datenpunkt-Retrieval und -Analyse sind mit diesen Modellen nicht genau.
  • Behandlung von Anfragen mit mehreren Teilen: Die Beantwortung von Fragen mit mehreren Teilen ist immer noch eingeschränkt. Zum Beispiel ist es schwierig, gemeinsame Urlaubszeiten in allen Bereichen eines großen Unternehmens zu ermitteln, wenn man auf K-Teile beschränkt ist, was die vollständige Forschung einschränkt.

Richtung Agentic RAG

Agentic RAG verwendet intelligente Agenten, um komplexe Fragen zu beantworten, die sorgfältige Planung, mehrstufige Argumentation und die Integration externer Tools erfordern. Diese Agenten übernehmen die Aufgaben eines erfahrenen Forschers, der geschickt durch eine Vielzahl von Dokumenten navigiert, Daten vergleicht, Ergebnisse zusammenfasst und umfassende, genaue Antworten produziert.

Das Konzept der Agenten wird in das klassische RAG-Framework integriert, um die Funktionalität und Fähigkeiten des Systems zu verbessern, was zur Schaffung von Agentic RAG führt. Diese Agenten übernehmen zusätzliche Aufgaben und Argumentationen, die über die einfache Informationsabruf und -erstellung hinausgehen, sowie die Orchestrierung und Steuerung der verschiedenen Komponenten der RAG-Pipeline.

Drei primäre Agentic-Strategien

Router senden Anfragen an die entsprechenden Module oder Datenbanken je nach Art. Die Router treffen dynamische Entscheidungen mithilfe von Large Language Models, auf die der Kontext einer Anfrage fällt, um zu entscheiden, welches Modul oder welche Datenbank für die Anfrage ausgewählt werden soll, um die Genauigkeit und Effizienz der Pipeline zu verbessern.

Anfrage-Transformationen sind Prozesse, die in der Umformulierung der Benutzeranfrage bestehen, um sie am besten an die geforderten Informationen anzupassen oder umgekehrt, um sie am besten an das anzupassenden Angebot der Datenbank anzupassen. Es kann sich um eine der folgenden handeln: Umformulierung, Erweiterung oder Aufteilung komplexer Fragen in einfachere Unterfragen, die leichter zu bearbeiten sind.

Es erfordert auch einen Unterfrage-Engine, um die Herausforderung zu meistern, eine komplexe Anfrage mithilfe mehrerer Datenquellen zu beantworten.

Zuerst wird die komplexe Frage in einfachere Fragen für jede Datenquelle zerlegt. Dann werden alle Zwischenantworten gesammelt und eine endgültige Antwort synthetisiert.

Agentic-Schichten für RAG-Pipelines

  • Routing: Die Anfrage wird an die relevante wissensbasierte Verarbeitung basierend auf der Relevanz weitergeleitet. Beispiel: Wenn der Benutzer Empfehlungen für bestimmte Kategorien von Büchern erhalten möchte, kann die Anfrage an eine Wissensbasis weitergeleitet werden, die Wissen über diese Kategorien von Büchern enthält.
  • Anfrage-Planung: Dies beinhaltet die Zerlegung der Anfrage in Unteranfragen und deren Weiterleitung an die jeweiligen Pipelines. Der Agent produziert Unteranfragen für alle Elemente, wie z.B. das Jahr, und leitet sie an die entsprechenden Wissensbasen weiter.
  • Werkzeug-Verwendung: Ein Sprachmodell spricht mit einer API oder einem externen Werkzeug, wobei es weiß, was dies beinhaltet, auf welcher Plattform die Kommunikation stattfinden soll und wann es notwendig ist, dies zu tun. Beispiel: Wenn der Benutzer eine Wettervorhersage für einen bestimmten Tag anfordert, kommuniziert das LLM mit der Wetter-API, identifiziert den Ort und das Datum und analysiert die Rückgabe der API, um die richtigen Informationen zu liefern.
  • ReAct ist ein iterativer Prozess des Denkens und Handelns, der mit Planung, Werkzeug-Verwendung und Beobachtung gekoppelt ist.Zum Beispiel kann das System einen umfassenden Reiseplan erstellen, indem es die Benutzeranforderungen berücksichtigt und Details über die Route, touristische Attraktionen, Restaurants und Unterkünfte abruft, indem es APIs aufruft. Dann überprüft das System die Ergebnisse in Bezug auf Korrektheit und Relevanz und produziert einen detaillierten Reiseplan, der relevant für die Benutzeranfrage und den Zeitplan ist.
  • Planung dynamischer Anfragen: Anstatt sequenziell zu arbeiten, führt der Agent mehrere Aktionen oder Unteranfragen gleichzeitig aus und aggregiert dann diese Ergebnisse.Zum Beispiel, wenn man die finanziellen Ergebnisse zweier Unternehmen vergleichen und die Differenz in einem bestimmten Metric ermitteln möchte, dann würde der Agent die Daten für beide Unternehmen parallel verarbeiten, bevor er die Ergebnisse aggregiert; LLMCompiler ist ein solches Framework, das eine effiziente Orchestrierung paralleler Funktionsaufrufe ermöglicht.

Agentic RAG und LLMaIndex

LLMaIndex stellt eine sehr effiziente Implementierung von RAG-Pipelines dar. Die Bibliothek füllt die fehlende Lücke bei der Integration strukturierter organisatorischer Daten in generative KI-Modelle, indem sie eine bequeme Verarbeitung und Abrufung von Daten sowie Schnittstellen zu verschiedenen Datenquellen bietet. Die Hauptkomponenten von LlamaIndex werden im Folgenden beschrieben.

LlamaParse analysiert Dokumente.

Llama Cloud für Unternehmensdienste mit RAG-Pipelines, die mit minimaler manueller Arbeit bereitgestellt werden.

Mithilfe mehrerer LLMs und Vektor-Speicher bietet LlamaIndex eine integrierte Möglichkeit, Anwendungen in Python und TypeScript mit RAG zu erstellen. Seine Eigenschaften machen es zu einem sehr gefragten Backbone für Unternehmen, die AI für verbesserte datengetriebene Entscheidungen nutzen möchten.

Schlüsselkomponenten von Agentic-RAG-Implementierung mit LLMaIndex

Lassen Sie uns einige der Zutaten von Agentic RAG und ihre Implementierung in LlamaIndex genauer betrachten.

1. Werkzeug-Verwendung und Routing

Der Routing-Agent wählt das beste LLM oder Werkzeug für eine bestimmte Anfrage basierend auf der Anfrageart aus. Dies führt zu kontextsensiblen Entscheidungen, wie z.B. ob der Benutzer eine Übersicht oder eine detaillierte Zusammenfassung möchte. Beispiele für solche Ansätze sind der Router-Query-Engine in LlamaIndex, der dynamisch Werkzeuge auswählt, die die Antworten auf Anfragen maximieren.

2. Langzeit-Kontext-Beibehaltung

Während die wichtigste Aufgabe des Gedächtnisses darin besteht, den Kontext über mehrere Interaktionen hinweg beizubehalten, bleiben die mit Gedächtnis ausgestatteten Agenten in der agentischen Variante von RAG kontinuierlich bewusst für Interaktionen, die kohärente und kontextreiche Antworten erzeugen.

LlamaIndex enthält auch einen Chat-Engine, der ein Gedächtnis für kontextuelle Gespräche und Einmalanfragen hat. Um den Überlauf des LLM-Kontextfensters zu vermeiden, muss ein solches Gedächtnis während langer Diskussionen streng kontrolliert und auf eine zusammengefasste Form reduziert werden.

3. Unterfrage-Engine für Planung

Oftmals muss eine komplexe Anfrage in kleinere, handhabbare Aufgaben zerlegt werden. Die Unterfrage-Engine ist eine der Kernfunktionen, für die LlamaIndex als Agent verwendet wird, indem eine große Anfrage in kleinere zerlegt, sequenziell ausgeführt und dann zu einer kohärenten Antwort kombiniert wird. Die Fähigkeit der Agenten, mehrere Aspekte einer Anfrage schrittweise zu untersuchen, repräsentiert das Konzept der mehrstufigen Planung im Gegensatz zu einer linearen.

4. Reflexion und Fehlerkorrektur

Reflektierende Agenten produzieren Ausgaben, aber überprüfen dann die Qualität dieser Ausgaben, um Korrekturen vorzunehmen, wenn notwendig. Diese Fähigkeit ist von größter Bedeutung, um die Genauigkeit sicherzustellen und dass das Ergebnis dem entspricht, was von einer Person beabsichtigt wurde. Dank der selbstreflektierenden Arbeitsweise von LlamaIndex überprüft der Agent seine Leistung, indem er sie erneut ausführt oder Anpassungen vornimmt, die nicht bestimmte Qualitätsstandards erfüllen. Da es jedoch selbstkorrigierend ist, ist Agentic RAG für Unternehmensanwendungen, in denen Zuverlässigkeit von entscheidender Bedeutung ist, relativ zuverlässig.

5. Komplexe agentische Argumentation:

Baum-basierte Exploration wird angewendet, wenn Agenten eine Vielzahl von möglichen Routen untersuchen müssen, um ein Ziel zu erreichen. Im Gegensatz zur sequenziellen Entscheidungsfindung ermöglicht die baum-basierte Argumentation es einem Agenten, mehrere Strategien gleichzeitig zu berücksichtigen und die vielversprechendste basierend auf Bewertungskriterien auszuwählen, die in Echtzeit aktualisiert werden.

LlamaCloud und LlamaParse

Mit seinem umfassenden Angebot an Managed-Services, die für die Kontext-Erweiterung in LLM- und RAG-Anwendungen konzipiert sind, ist LlamaCloud ein wichtiger Schritt in der LlamaIndex-Umgebung. Diese Lösung ermöglicht es AI-Ingenieuren, sich auf die Entwicklung der wichtigsten Geschäftslogik zu konzentrieren, indem sie den komplexen Prozess der Datenverwaltung reduziert.Ein weiterer verfügbarer Parsing-Engine ist LlamaParse, der sich nahtlos in die Aufnahme- und Abruf-Pipelines von LlamaIndex integriert. Dies stellt eines der wichtigsten Elemente dar, das komplizierte, halbstrukturierte Dokumente mit eingebetteten Objekten wie Tabellen und Abbildungen behandelt. Ein weiteres wichtiges Baustein ist die Managed-Aufnahme- und Abruf-API, die eine Vielzahl von Möglichkeiten bietet, um Daten aus einer großen Anzahl von Quellen einfach zu laden, zu verarbeiten und zu speichern, wie z.B. das zentrale Daten-Repository von LlamaHub oder die Ausgaben von LlamaParse. Darüber hinaus unterstützt es verschiedene Daten-Speicher-Integrationen.

Schlussfolgerung

Agentic RAG stellt eine Verschiebung in der Informationsverarbeitung dar, indem mehr Intelligenz in die Agenten selbst integriert wird. In vielen Situationen kann Agentic RAG mit Prozessen oder verschiedenen APIs kombiniert werden, um ein genaueres und raffinierteres Ergebnis zu liefern. Zum Beispiel kann Agentic RAG bei der Dokumentenzusammenfassung den Zweck des Benutzers bewerten, bevor es eine Zusammenfassung oder einen Vergleich von Details erstellt. Wenn es um Kundensupport geht, kann Agentic RAG genau und individuell auf komplexere Kundenanfragen antworten, nicht nur basierend auf seinem Trainingsmodell, sondern auch auf verfügbarem Speicher und externen Quellen. Agentic RAG unterstreicht eine Verschiebung 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 Agentic RAGs jedoch generativ und intelligent sind, wie sie es jetzt sind, sind sie auf der Suche nach höherer Effizienz, da immer mehr Daten den Pipelines hinzugefügt werden.

Chaitanya Pathak ist ein erfahrener Technologie-Manager, der auf die Produktentwicklung von Generative AI spezialisiert ist. Mit über einem Jahrzehnt Erfahrung in Unternehmenssoftware und Produktmanagement ist er derzeit Chief Product und Technology Officer bei LEAPS by Analyttica. Chaitanya hat ein umfassendes Framework entwickelt, das derzeit patentiert wird, das AI-Technologien in skalierbare, marktreife Produkte über mehrere Branchen hinweg umwandelt und Produkt- und Technologieführer befähigt, einen bedeutenden Einfluss auszuüben.