Vordenker
RAG-Evolution – Ein Leitfaden für Agentic RAG
Was ist RAG (Retrieval-Augmented Generation)?
Retrieval-Augmented Generation (RAG) ist eine Technik, die die Stärken von großen Sprachmodellen (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 externe Datenbanken oder Dokumente in Echtzeit abrufen und relevante Informationen verwenden, um genauere und kontextuell reichere 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 internen, vorab eingegebenen Kenntnissen 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 externen Quellen abzurufen und zu analysieren, um genauere und einblickreichere Antworten zu produzieren.
Die jüngsten Entwicklungen in der Informationsabruf und der Verarbeitung von natürlichen Sprachen, insbesondere LLM und RAG, eröffnen neue Möglichkeiten für Effizienz und Raffinesse. Diese Entwicklungen können anhand der folgenden breiten Konturen bewertet werden:
- Verbesserter Informationsabruf: Die Verbesserung des Informationsabrufts in RAG-Systemen ist sehr wichtig, um effizient zu arbeiten. Jüngste Arbeiten haben verschiedene Vektoren, Reranking-Algorithmen und Hybrid-Suchmethoden für die Verbesserung der präzisen Suche entwickelt.
- Semantische Zwischenspeicherung: Dies stellt sich als eine der wichtigsten Möglichkeiten heraus, wie der Rechenaufwand gesenkt wird, ohne auf konsistente Antworten verzichten zu müssen. Dies bedeutet, dass die Antworten auf aktuelle Anfragen zusammen mit ihrem semantischen und pragmatischen Kontext zwischengespeichert werden, was wiederum zu schnellere Antwortzeiten und konsistenteren Informationen führt.
- 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 von Quellenmaterial und führt zu Antworten, die zunehmend sophistiziert 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 oberen K-Stücke 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 oberen K-Stücke aus jedem Dokument zufällig auswählt.
- Strukturierte Datenanalyse: Es ist schwierig, strukturierte numerische Datenanfragen zu bearbeiten, wie z.B. die Ermittlung, wann ein Mitarbeiter seinen nächsten Urlaub nehmen wird, je nachdem, wo er lebt. Präzise Datenpunkteabruf 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 über alle Bereiche in einer großen Organisation zu ermitteln, wenn man auf K-Stücke 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 agentischem 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 Anfrageart. Die Router treffen dynamische Entscheidungen unter Verwendung von Large Language Models, um den Kontext einer Anfrage zu bestimmen, um den Aufruf des Motors der Wahl zu entscheiden, der für eine verbesserte Genauigkeit und Effizienz der Pipeline gesendet werden soll.
Anfrage-Transformationen sind Prozesse, die in der Umformulierung der Benutzeranfrage bestehen, um die erforderlichen Informationen zu erhalten oder umgekehrt, um die Datenbank zu passen, was sie anbietet. Es kann eine der folgenden sein: 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 mit mehreren 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-Layer für RAG-Pipelines
- Routing: Die Frage wird an die entsprechende wissensbasierte Verarbeitung weitergeleitet, basierend auf der Relevanz. Beispiel: Wenn der Benutzer Empfehlungen für bestimmte Kategorien von Büchern erhalten möchte, kann die Anfrage an eine Wissensbasis weitergeleitet werden, die Kenntnisse ü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.
- Werkzeugverwendung: Ein Sprachmodell kommuniziert mit einer API oder einem externen Tool, wobei es weiß, was dies beinhaltet, auf welcher Plattform die Kommunikation stattfinden soll und wann es notwendig ist, dies zu tun. Beispiel: Wenn ein Benutzer eine Wettervorhersage für einen bestimmten Tag anfordert, kommuniziert das LLM mit der Wetter-API, identifiziert den Ort und das Datum und parse die Rückgabe der API, um die richtigen Informationen bereitzustellen.
- ReAct ist ein iterativer Prozess des Denkens und Handelns, der mit Planung, Werkzeugverwendung und Beobachtung gekoppelt ist.
Zum Beispiel wird ein End-to-End-Reiseplan entworfen, indem das System 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 Richtigkeit und Relevanz und produziert einen detaillierten Reiseplan, der relevant für die Benutzeranfrage und den Zeitplan ist. - Planung dynamischer Anfragen: Anstatt sequentiell auszuführen, führt der Agent mehrere Aktionen oder Unteranfragen gleichzeitig aus und aggregiert dann die Ergebnisse.
Zum Beispiel, wenn man die finanziellen Ergebnisse zweier Unternehmen vergleichen und die Differenz in einem bestimmten Metric bestimmen möchte, würde der Agent die Daten für beide Unternehmen parallel verarbeiten, bevor er die Ergebnisse aggregiert; LLMCompiler ist ein solches Framework, das zu einer 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 die fehlende Stück in der Integration strukturierter organisatorischer Daten in generative AI-Modelle aus, indem sie eine Bequemlichkeit für Tools in der Verarbeitung und dem Abruf von Daten bietet, sowie Schnittstellen zu verschiedenen Datenquellen. Die Hauptkomponenten von LlamaIndex sind unten beschrieben.
LlamaParse parse Dokumente.
Die Llama Cloud für Unternehmensdienste mit RAG-Pipelines, die mit minimaler manueller Arbeit bereitgestellt werden.
Mit mehreren 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 mit LLMaIndex
Lassen Sie uns einige der Zutaten von agentischem RAG und ihre Implementierung in LlamaIndex genauer betrachten.
1. Werkzeugverwendung und Routing
Der Routing-Agent wählt das beste LLM oder Tool für eine gegebene Frage aus, basierend auf der Anfrageart. 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 Tools wählt, die die Antworten auf Anfragen maximieren.
2. Langzeit-Kontextbeibehaltung
Während die wichtigste Aufgabe des Gedächtnisses darin besteht, den Kontext über mehrere Interaktionen hinweg beizubehalten, sind die mit Gedächtnis ausgestatteten Agenten in der agentischen Variante von RAG ständig bewusst für Interaktionen, die zu kohärenten und kontextbeladenen Antworten führen.
LlamaIndex umfasst auch einen Chat-Engine, der ein Gedächtnis für kontextuelle Gespräche und Einmalanfragen hat. Um einen Ü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-Engines für Planung
Oft muss eine komplexe Anfrage in kleinere, handhabbare Aufgaben zerlegt werden. Der Unterfrage-Engine ist eine der Kernfunktionen, für die LlamaIndex als Agent verwendet wird, indem eine große Anfrage in kleinere Anfragen zerlegt, sequentiell ausgeführt und dann zu einer kohärenten Antwort kombiniert wird. Die Fähigkeit von 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 sicherzustellen, dass das Ergebnis dem entspricht, was eine Person beabsichtigt hat. Dank der selbstreflektierenden Arbeitsabläufe von LlamaIndex überprüft ein Agent seine Leistung, indem er sie erneut ausführt oder Anpassungen vornimmt, die nicht bestimmte Qualitätsstandards erfüllen. Da es sich selbst korrigiert, ist Agentic RAG für Unternehmensanwendungen, in denen Zuverlässigkeit von entscheidender Bedeutung ist, recht zuverlässig.
5. Komplexe agentiche Argumentation:
Baum-basierte Exploration wird angewendet, wenn Agenten eine Vielzahl von möglichen Routen untersuchen müssen, um etwas zu erreichen. Im Gegensatz zur sequentiellen Entscheidungsfindung ermöglicht die baum-basierte Argumentation es einem Agenten, mehrere Strategien gleichzeitig zu berücksichtigen und die vielversprechendste basierend auf in Echtzeit aktualisierten Bewertungskriterien auszuwählen.
LlamaCloud und LlamaParse
Mit seinem umfassenden Angebot an Managed Services, die für die Kontextvervollständigung in LLM- und RAG-Anwendungen konzipiert sind, ist LlamaCloud ein wichtiger Schritt im LlamaIndex-Umfeld. Diese Lösung ermöglicht es AI-Ingenieuren, sich auf die Entwicklung von Geschäftsanwendungen zu konzentrieren, indem sie den komplexen Prozess der Datenverwaltung reduzieren.
Ein weiterer verfügbarer Parsing-Engine ist LlamaParse, der sich nahtlos in die Aufnahme- und Abrufpipelines von LlamaIndex integriert. Dies stellt eines der wichtigsten Elemente dar, das komplexe, halbstrukturierte Dokumente mit eingebetteten Objekten wie Tabellen und Abbildungen behandelt. Ein weiteres wichtiges Bauelement ist die verwaltete Aufnahme- und Abruf-API, die verschiedene 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 Datenrepository von LlamaHub oder die Ausgaben von LlamaParse. Darüber hinaus unterstützt es verschiedene Daten-Speicher-Integrationen.
Schlussfolgerung
Agentic RAG stellt einen Wandel in der Informationsverarbeitung dar, indem es mehr Intelligenz in die Agenten selbst einführt. In vielen Situationen kann Agentic RAG mit Prozessen oder verschiedenen APIs kombiniert werden, um ein genaueres und verfeinertes Ergebnis zu liefern. Zum Beispiel kann Agentic RAG bei der Dokumentenzusammenfassung den Zweck des Benutzers bewerten, bevor es eine Zusammenfassung erstellt oder Details vergleicht. Wenn es um die Kundenunterstützung geht, kann Agentic RAG genau und individuell auf komplexe Kundenanfragen antworten, nicht nur basierend auf seinem Trainingsmodell, sondern auch auf dem verfügbaren Speicher und externen Quellen. Agentic RAG unterstreicht 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 Agentic RAGs jedoch generativ und intelligent sind, wie sie es jetzt sind, sind sie auf der Suche nach einer höheren Effizienz, da immer mehr Daten den Pipelines hinzugefügt werden.












