Vordenker

RAG-Evolution – Ein Leitfaden fÞr Agentic RAG

mm
Unite.AI zu deinen bevorzugten Quellen auf Google hinzufÞgen

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:

  1. 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.
  2. 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.
  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 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.

Chaitanya Pathak ist ein erfahrener Technologie-Executive, der auf die Produktisierung 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, marktfÃĪhige Produkte fÞr verschiedene Branchen umwandelt und Produkt- und Technologie-FÞhrern ermÃķglicht, einen bedeutenden Einfluss auszuÞben.