Trotz der kontinuierlichen Veröffentlichung immer größerer und intelligenterer Modelle leiden die modernsten generativen Large Language Models (LLMs) immer noch unter einem großen Problem: Sie schneiden schlecht ab, wenn es um Aufgaben geht, die Fachwissen erfordern. Dieser Mangel an Fachwissen kann zu Problemen wie Phantomphänomenen führen, bei denen Modelle ungenaue oder gefälschte Informationen erzeugen.Retrieval Augmentation Generation (RAG)Dies wird dadurch entschärft, dass das Modell in Echtzeit auf bereichsspezifische Daten aus externen Quellen zugreifen kann, was seine Fähigkeit, genaue und detaillierte Antworten zu geben, verbessert.
Trotz dieser Einschränkungen sind generative Modelle immer noch sehr einflussreiche Werkzeuge, die alltägliche Aufgaben automatisieren, uns bei unserer täglichen Arbeit unterstützen und uns helfen, mit Daten auf neue Weise zu interagieren. Wie können wir also ihr umfangreiches Wissen nutzen und sie gleichzeitig für unsere spezifischen Anwendungsszenarien nutzbar machen? Die Antwort liegt in der Bereitstellung aufgabenrelevanter Daten für die generative Modellierung.
In diesem Beitrag werden wir einen detaillierten Blick auf Retrieval Augmented Generation (RAG) werfen, ein Rahmenwerk, das die Fähigkeiten von Modellen erweitert, indem es ihnen erlaubt, auf externe Daten zu verweisen. Wir werden die Grenzen der generativen Modellierung untersuchen, die zu den RAG Wir werden erklären, wie RAG funktioniert und die Architektur der RAG-Pipeline im Detail analysieren. Darüber hinaus werden wir einige praktische RAG-Anwendungsfälle vorstellen, spezifische RAG-Implementierungsmethoden vorschlagen, einige fortgeschrittene RAG-Techniken vorstellen und RAG-Evaluierungsmethoden diskutieren.
LLM ist ein weit gefasster Begriff für Sprachmodelle, die auf großen Datensätzen trainiert wurden und in der Lage sind, eine Vielzahl von text- und sprachbezogenen Aufgaben auszuführen. Generative LLMs sind Modelle, die in der Lage sind, neuen Text als Reaktion auf Benutzeraufforderungen zu generieren, wie z. B. in Chatbots, die oft alsgeneratives Modell. LLMs, die textuelle Daten in den semantischen Raum kodieren, werden dann alsModelle einbetten. Daher verwenden wir in diesem Papier die Begriffe generative und eingebettete Modelle, um zwischen diesen beiden Arten von Modellen zu unterscheiden.
Beschränkungen der generativen Modellierung
Generative Modelle werden so trainiert, dass sie sich ein gewisses Allgemeinwissen aneignen, indem sie mit einer großen Anzahl von Datensätzen trainiert werden, einschließlich (aber nicht beschränkt auf) Beiträge in sozialen Medien, Bücher, wissenschaftliche Artikel und gecrawlte Webseiten. Dadurch können diese Modelle menschenähnlichen Text erzeugen, eine Vielzahl von Fragen beantworten und bei Aufgaben wie Antworten, Zusammenfassungen und kreativem Schreiben helfen.
Die Trainingsdatensätze für die generativen Modelle sind jedoch zwangsläufig unvollständig, da ihnen Informationen über Nischenthemen und neue Entwicklungen nach dem Stichtag des Datensatzes fehlen. Generative Modelle haben auch keinen Zugang zu proprietären Daten in internen Datenbanken oder Repositories. Wenn diese Modelle außerdem die Antwort auf eine Frage nicht kennen, neigen sie dazu, zu raten, und manchmal ist diese Vermutung ungenau. Dieses Phänomen der Generierung falscher oder fiktiver Informationen wird als Halluzination bezeichnet und kann bei kundenorientierten KI-Anwendungen zu einem echten Reputationsschaden führen.
Der Schlüssel zur Verbesserung der Leistung generativer Modelle bei speziellen Aufgaben und zur Verringerung von Täuschungen liegt in der Bereitstellung zusätzlicher Informationen, die in den Trainingsdaten nicht vorhanden sind. An dieser Stelle kommt RAG ins Spiel.
Was ist Retrieval Augmented Generation (RAG)?
Retrieval Augmentation Generation (RAG) ist eine Möglichkeit, zusätzliche Daten, die für die aktuelle Aufgabe relevant sind, aus einer externen Datenquelle abzurufen, umverstärken.Ein Rahmen für die generative makrosprachliche Modellierung von allgemeinem Wissen.
Zu den externen Datenquellen können sowohl interne Datenbanken, Dateien und Repositories als auch öffentlich verfügbare Daten wie Nachrichtenartikel, Websites oder andere Online-Inhalte gehören. Der Zugang zu diesen Daten ermöglicht es den Modellen, faktenbasiertere Antworten zu geben und Quellen in ihren Antworten zu zitieren, wodurch "Rätselraten" vermieden wird, wenn Informationen nicht im ursprünglichen Trainingsdatensatz des Modells gefunden werden können.
Zu den üblichen Anwendungsfällen für RAG gehören das Abrufen aktueller Informationen, der Zugriff auf spezialisiertes Fachwissen und die Beantwortung komplexer, datengesteuerter Fragen.
RAG-Architektur
Die grundlegenden Komponenten der RAG-Pipeline können wie folgt unterteilt werdendrei Komponenten: externe Wissensquellen, Eingabeaufforderungsvorlagen und generative Modelle. Mit diesen Komponenten können große sprachmodellgesteuerte Anwendungen genauere Antworten unter Verwendung wertvoller aufgabenspezifischer Daten erzeugen.
Externe Wissensquellen
Ohne die Unterstützung durch externes Wissen können sich generative Modelle nur auf ihreParametrische KenntnisseAntworten zu generieren, die während der Trainingsphase des Modells erlernt werden. Mit RAG können wir in die Pipeline dieExterne Wissensquellenauch bekannt alsNicht-parametrisches Wissen.
Externe Datenquellen sind in der Regel aufgabenspezifisch und liegen oft außerhalb des Bereichs der ursprünglichen Trainingsdaten des Modells oder seines parametrisierten Wissens. Außerdem sind sie in der Regel in Vektordatenbanken gespeichert, die sich in Bezug auf Thema und Format unterscheiden können.
Zu den üblichen externen Datenquellen gehören unternehmensinterne Datenbanken, Gesetze, Vorschriften und Dokumente, medizinische und wissenschaftliche Literatur sowie gecrawlte Webseiten. Auch private Datenquellen können für RAG genutzt werden. Persönliche KI-Assistenten, wie Microsofts Copilot, nutzen eine Vielzahl persönlicher Datenquellen, darunter E-Mails, Dokumente und Sofortnachrichten, um maßgeschneiderte Antworten zu geben und Aufgaben effizienter zu automatisieren.
Tipp-Vorlagen
Prompts sind die Werkzeuge, die wir verwenden, um Anfragen an das generierende Modell zu übermitteln. Prompts können mehrere Elemente enthalten, umfassen aber in der Regel Abfragen, Direktiven und Kontext, um das Modell bei der Generierung relevanter Antworten anzuleiten.
Tipp-Vorlagen Es wird ein strukturierter Weg zur Generierung standardisierter Prompts bereitgestellt, in die verschiedene Abfragen und Kontexte eingefügt werden können. Im RAG-Prozess (Retrieval Augmented Generation) werden relevante Daten aus externen Datenquellen abgerufen und in die Hinweisschablonen eingefügt, um die Hinweise zu erweitern. Im Grunde fungiert die Hinweisvorlage als Brücke zwischen den externen Daten und dem Modell, indem sie kontextrelevante Informationen bereitstellt, die das Modell für seine Schlussfolgerungen verwendet, um genaue Antworten zu generieren.
prompt_template = "Die kontextuellen Informationen sind wie folgt.\n"
"---------------------\n"
"{context_str}\n"
"---------------------\n"
"Beantworten Sie die Fragen auf der Grundlage von Kontextinformationen und nicht auf der Grundlage von Vorkenntnissen.\n"
"Frage: {query_str}\n"
"Antwort:"
Generative Modellierung großer Sprachen (LLM)
Die letzte Komponente der RAG ist das generative Large Language Model (LLM), auch bekannt als generatives Modell, das dazu dient, die endgültige Antwort auf die Benutzeranfrage zu generieren. Erweiterte Eingabeaufforderungen, die mit Informationen aus einer externen Wissensbasis angereichert sind, werden dann an das Modell gesendet, das Antworten generiert, die internes Wissen mit neu abgerufenen Daten kombinieren.
Nachdem wir nun die Architektur von RAG und seine Schlüsselkomponenten besprochen haben, wollen wir uns ansehen, wie sie in einem RAG-Workflow zusammenpassen.
Wie funktioniert die RAG?
RAG ist ein mehrstufiger Rahmen mit zwei Phasen. Zunächst wird in der Ingestionsphase externes Wissen vorverarbeitet und für den Abruf vorbereitet. In der nächsten Phase, der Inferenzphase, ruft das Modell relevante Daten aus der externen Wissensbasis ab, ergänzt sie mit Benutzeraufforderungen und erzeugt Antworten. Schauen wir uns nun jede Phase im Detail an.
Stufe 1: Verschlucken
Erstens müssen die externen Wissensquellen vorbereitet werden. Einfach ausgedrückt, müssen die externen Daten bereinigt und in ein Format umgewandelt werden, das das Modell verstehen kann. Dies wird als Aufnahmephase. Während des Einlesevorgangs durchlaufen die Text- oder Bilddaten einen Prozess, der als quantitativ Prozess von seinem ursprünglichen Format auf einbetten.. Sobald die Einbettungen erstellt sind, müssen sie so gespeichert werden, dass sie später leicht abgerufen werden können. Meistens werden diese Einbettungen in Vektordatenbanken gespeichert, damit die Informationen für nachgelagerte Aufgaben schnell und effizient abgerufen werden können.
Stufe 2: Begründungen
Sobald die externen Daten kodiert und in der Inferenz Phase des Abrufs, in der das Modell Antworten generiert oder Fragen beantwortet. Das Reasoning ist in drei Schritte unterteilt: Abruf, Anreicherung und Generierung.
abrufen (Daten)
Die Schlussfolgerungsphase beginnt mit dem Abruf von Daten aus einer externen Wissensquelle als Antwort auf eine Benutzeranfrage. Die Abfragemethoden variieren in Format und Komplexität. Im einfachen RAG-Modell, bei dem externes Wissen eingebettet und in einer Vektordatenbank gespeichert wird, ist dieÄhnlichkeitssuche ist die einfachste Form der Suche.
Um eine Ähnlichkeitssuche durchzuführen, muss die Benutzeranfrage zunächst in denselben mehrdimensionalen Raum eingebettet werden wie die externen Daten, so dass die Anfrage direkt mit den eingebetteten externen Daten verglichen werden kann. Im Ähnlichkeitssuche in der die Entfernung zwischen der Anfrage und den externen Datenpunkten berechnet wird und der Punkt mit der kürzesten Entfernung zurückgegeben wird, wodurch der Abrufprozess abgeschlossen wird.
Vergrößerung
Sobald die relevantesten Datenpunkte aus externen Datenquellen abgerufen wurden, werden sie in den Anreicherungsprozess integriert, indem diese externen Informationen in vordefinierte Abfragevorlagen eingefügt werden.
Generation
Nachdem die erweiterten Eingabeaufforderungen in das Kontextfenster des Modells eingefügt wurden, generiert das Modell die endgültige Antwort auf die Benutzereingabe. In der Generierungsphase kombiniert das Modell sein internes linguistisches Verständnis mit den erweiterten externen Daten, um kohärente und kontextualisierte Antworten zu generieren.
In diesem Schritt werden Antworten auf flüssige und natürliche Weise generiert, während gleichzeitig umfangreiche Informationen genutzt werden, um sicherzustellen, dass die Ausgabe sowohl genau als auch relevant für die Anfrage des Benutzers ist. Die Anreicherung zielt darauf ab, externe Fakten zu integrieren, während die Generierung dieses kombinierten Wissens in eine gut strukturierte, menschenähnliche Ausgabe für eine spezifische Anfrage umsetzt.
RAG-Anwendungsbeispiele
Nachdem wir nun die Definition von RAG, seine Funktionsweise und seine Architektur behandelt haben, werden wir einige praktische Anwendungsszenarien untersuchen, um zu sehen, wie dieser Rahmen in der realen Welt eingesetzt werden kann. Durch die Ergänzung von generativen großen Sprachmodellen mit aktuellen, aufgabenspezifischen Daten können deren Genauigkeit, Relevanz und Fähigkeit zur Bewältigung spezieller Aufgaben verbessert werden. Infolgedessen findet RAG breite Anwendung in der Echtzeit-Informationssuche, in Empfehlungssystemen für Inhalte und bei der Entwicklung von persönlichen KI-Assistenten.
Abruf von Informationen in Echtzeit
Wenn generative Modelle allein verwendet werden, können sie nur Informationen abrufen, die in ihrem Trainingsdatensatz vorhanden sind. Im Rahmen von RAG sind die Modelle jedoch in der Lage, Daten und Informationen aus externen Quellen abzurufen und damit eine genauere und aktuellere Antwort zu gewährleisten. Ein solches Beispiel ist die Fähigkeit von ChatGPT-4o, in Echtzeit auf Informationen direkt von Webseiten zuzugreifen und diese abzurufen. Dies ist ein RAG-Anwendungsfall, bei dem externe Datenquellen genutzt werden, die nicht in eine Vektordatenbank eingebettet sind, und ist besonders nützlich für die Beantwortung von Benutzeranfragen zu Nachrichten oder anderen zeitkritischen Ereignissen wie Aktienkursen, Reisehinweisen und Wetterupdates.
System zur Empfehlung von Inhalten
Empfehlungssysteme für Inhalte analysieren Nutzerdaten und -präferenzen, um dem Nutzer relevante Produkte oder Inhalte zu empfehlen. RAG vereinfacht den Aufbau von Empfehlungssystemen, indem es externe, kontextrelevante Nutzerdaten direkt mit dem generischen Wissen des Modells verknüpft und so personalisierte Empfehlungen generiert.
Persönlicher KI-Assistent
Unsere persönlichen Daten, einschließlich Dokumente, E-Mails, Slack-Nachrichten und Notizen, sind eine wichtige Datenquelle für die Erstellung von Modellen. Indem wir RAG auf persönliche Daten anwenden, können wir mit ihnen auf konversationelle Weise interagieren, die Effizienz steigern und alltägliche Aufgaben automatisieren. Mit Hilfe von KI-Assistenten wie Microsofts Kopilot im Gesang antworten Begriff (Ask AI) können wir mit einfachen Eingabeaufforderungen nach relevanten Dokumenten suchen, personalisierte E-Mails schreiben, Dokumente und Protokolle zusammenfassen, Besprechungen planen und vieles mehr.
Wie man RAG umsetzt
RAG kann durch eine Reihe verschiedener Frameworks implementiert werden, die den Erstellungsprozess vereinfachen, indem sie vorgefertigte Tools und Module bereitstellen, die die Integration einzelner RAG-Komponenten sowie externer Dienste wie Vektordatenbanken, Tools zur Erzeugung von Einbettungen und anderer APIs ermöglichen.
LangChain, LlamaIndex und DSPy sind allesamt leistungsfähige Open-Source-Python-Bibliotheken mit aktiven Communities, die leistungsstarke Tools und Integrationen für die Erstellung und Optimierung von RAG-Pipelines und Large Language Model (LLM)-Anwendungen bieten.
- LangChain Bietet Bausteine, Komponenten und Integrationen von Drittanbietern, um die Entwicklung von LLM-basierten Anwendungen zu unterstützen. Es kann in Verbindung verwendet werden mit LangGraph werden zusammen verwendet, um eine RAG-Pipeline im Proxy-Stil aufzubauen, und durch die LangSmith Führen Sie eine RAG-Bewertung durch.
- LlamaIndex ist ein Framework, das Werkzeuge zur Erstellung von LLM-Anwendungen bereitstellt, die externe Datenquellen integrieren. LlamaHubDabei handelt es sich um eine umfangreiche Bibliothek mit Datenladern, Proxies, Datensätzen und anderen Komponenten, die die Erstellung von RAG-Pipelines vereinfachen.
- DSPy ist ein modularer Rahmen für die Optimierung von LLM-Pipelines. LLM und RM (Retrieval Model) können in DSPy für die nahtlose Optimierung von RAG-Pipelines konfiguriert werden.
Weaviate bietet integriert (wie in integrierter Schaltung) im Gesang antworten Formeln Weaviate kann mit jedem dieser Frameworks verwendet werden. Konkrete Beispiele finden Sie in unserem Notizbuch, das zeigt, wie Weaviate mit dem LlamaIndex im Gesang antworten DSPy Aufbau der RAG-Pipeline.
Wenn Sie die RAG schnell zum Laufen bringen wollen, sollten Sie sich die VerbaVerba ist eine sofort einsatzbereite Open-Source-RAG-Anwendung mit einem glänzenden, vorgefertigten Front-End. Verba ermöglicht es Ihnen, Datensätze visuell zu erkunden, Erkenntnisse zu gewinnen und anpassbare RAG-Pipelines in wenigen einfachen Schritten zu erstellen, ohne ein ganz neues Framework erlernen zu müssen.Verba ist ein vielseitiges Tool, das als Spielwiese zum Testen und Experimentieren mit RAG-Pipelines sowie für persönliche Aufgaben wie die Unterstützung von Forschung, die Analyse interner Dokumente und die Rationalisierung verschiedener RAG-bezogener Aufgaben verwendet werden kann. Verba ist ein vielseitiges Tool, das als Spielwiese für das Testen und Experimentieren mit RAG-Pipelines sowie für persönliche Aufgaben wie die Unterstützung bei der Recherche, die Analyse interner Dokumente und die Rationalisierung verschiedener RAG-bezogener Aufgaben genutzt werden kann.
Implementierung einer sofort einsatzbereiten RAG mit Verba
RAG-Technologie
Herkömmliche RAG-Workflows bestehen in der Regel aus einer externen Datenquelle, die in eine Vektordatenbank eingebettet ist und durch Ähnlichkeitssuche abgerufen wird. Es gibt jedoch mehrere Möglichkeiten, den RAG-Workflow zu verbessern, um genauere und robustere Ergebnisse zu erzielen, die unter dem Begriff "Advanced RAG" zusammengefasst werden.
Die Funktionalität der RAG-Pipeline kann durch die Einführung von Graphdatenbanken und Agenten, die fortgeschrittene Schlussfolgerungen und dynamische Datenabfragen ermöglichen, weiter ausgebaut werden. In den nächsten Abschnitten stellen wir einige gängige fortgeschrittene RAG-Techniken vor und geben einen Überblick über agentenbasierte RAG und Graph-RAG.
Erweiterte RAG
Fortgeschrittene RAG-Techniken können in allen Phasen der Pipeline eingesetzt werden. Pre-Retrieval-Strategien wie Filterung von Metadaten und Text Stückchen Effizienz und Relevanz der Suche können verbessert werden, indem die Suche eingegrenzt und sichergestellt wird, dass nur die relevantesten Teile der Daten berücksichtigt werden. Der Einsatz fortgeschrittener Suchtechniken wie Hybride Suchedie die Vorteile der Ähnlichkeitssuche und der Schlagwortsuche kombiniert, kann auch robustere Abfrageergebnisse liefern. Schließlich kann durch die Verwendung eines Sortiermodells für die Abfrageergebnisse Nachbestellung und unter Verwendung eines großen Sprachmodells (Large Language Model, LLM), das auf der Grundlage domänenspezifischer Daten feinabgestimmt wird, kann die Qualität der generierten Ergebnisse verbessern.
Wenn Sie sich eingehender mit diesem Thema befassen möchten, lesen Sie unseren Artikel über Fortschrittliche RAG-Technologie Der Blogbeitrag.
Proxy RAG
AI-Agent sind autonome Systeme, die Informationen interpretieren, Pläne machen und Entscheidungen treffen können. Wenn sie zu einer RAG-Pipeline hinzugefügt werden, können Agenten Benutzeranfragen umformulieren und relevantere Informationen erneut abrufen, wenn die ursprünglichen Ergebnisse ungenau oder irrelevant sind. Agentenbasierte RAGs können auch komplexere Abfragen bearbeiten, die eine mehrstufige Argumentation erfordern, z. B. den Vergleich von Informationen über mehrere Dokumente hinweg, das Stellen von Folgefragen und die iterative Anpassung von Abruf- und Generierungsstrategien.
Wenn Sie tiefer in eine RAG-Pipeline eintauchen möchten, die Proxys enthält und fortgeschrittene Techniken wie Text Chunking und Reordering nutzt, lesen Sie diesen Beitrag im LlamaIndex-Blog Schriftstücke passend zu Notizbücher.
Grafiken RAG
Die traditionelle RAG ist hervorragend geeignet, um Fragen und Antworten durch einfaches Abrufen zu lösen, aber sie kann keine Fragen beantworten, die aus der Sicht des Kunden beantwortet werden müssen.insgesamtDas Problem der Ableitung von Schlussfolgerungen aus einer externen Wissensbasis. Graphical RAG zielt darauf ab, dieses Problem zu lösen, indem ein generatives Modell verwendet wird, um einen Wissensgraphen zu erstellen, der Beziehungen zwischen wichtigen Entitäten extrahiert und speichert, die dann als Datenquellen zum RAG-Prozess hinzugefügt werden. Auf diese Weise kann das RAG-System auf Abfragen reagieren, die mehrere Dokumente und Datenquellen vergleichen und zusammenfassen müssen.
Weitere Informationen über den Aufbau einer Grafik-RAG finden Sie in Microsofts GraphRAG Software-Paketim Gesang antworten(Computer-)Datei.
Wie man RAG bewertet
RAG ist ein mehrphasiger, mehrstufiger Rahmen, der eine globale und feinkörnigeBewertung. Dieser Bewertungsansatz gewährleistet die Zuverlässigkeit auf Komponentenebene und die Gesamtgenauigkeit. In diesem Abschnitt untersuchen wir beide Bewertungsmethoden und stellen RAGAS vor, einen beliebten Bewertungsrahmen.
Bewertung auf Komponentenebene
Auf der Komponentenebene konzentrieren sich die RAG-Evaluierungen in der Regel auf die Bewertung der Qualität der Abrufer und Generatoren, da diese eine entscheidende Rolle bei der Generierung genauer und relevanter Antworten spielen.
Die Bewertung der Suchenden konzentriert sich hauptsächlich auf Genauigkeit und Relevanz. In diesem Zusammenhang ist dieGenauigkeit misst die Genauigkeit, mit der der Retriever die Informationen auswählt, die sich direkt auf die Anfrage beziehen, und die Relevanz Anschließend wird bewertet, wie gut die abgerufenen Daten den spezifischen Anforderungen und dem Kontext der Abfrage entsprechen.
Andererseits geht es bei der Bewertung des Generators um Wahrhaftigkeit und Korrektheit.Gültigkeit Beurteilen Sie, ob die vom Modell generierte Antwort die Informationen in den relevanten Dokumenten korrekt wiedergibt, und überprüfen Sie die Konsistenz der Antwort mit der Originalquelle.Korrektheit Anschließend wird die generierte Antwort daraufhin geprüft, ob sie authentisch ist und mit der tatsächlichen Situation oder der erwarteten Antwort im Kontext der Anfrage übereinstimmt.
Durchgängige Bewertung
Obwohl Retriever und Generator zwei separate Komponenten sind, sind sie aufeinander angewiesen, um konsistente Antworten auf Benutzeranfragen zu generieren.
Die Berechnung der semantischen Ähnlichkeit von Antworten ist eine einfache und effiziente Methode, um zu bewerten, wie gut Retriever und Generatoren zusammenarbeiten.Antwort semantische Ähnlichkeit Die semantische Ähnlichkeit zwischen der generierten Antwort und dem realen Antwortmuster wird berechnet. Eine hohe Ähnlichkeit zwischen der generierten Antwort und den realen Antwortmustern zeigt an, dass das Verfahren in der Lage ist, relevante Informationen abzurufen und kontextuell passende Antworten zu generieren.
Der RAG-Bewertungsrahmen bietet eine strukturierte Methodik, ein Werkzeug oder eine Plattform zur Bewertung von RAG-Prozessen.RAGAS(Retrieval Augmented Generation Assessment) ist ein besonders beliebtes Framework, das eine Reihe von Metriken für die Bewertung der Relevanz des Abrufs, der Qualität der Generierung und der Authentizität bereitstellt, ohne dass die Daten manuell annotiert werden müssen. Hören Sie sich diesen Weaviate-Podcast an, um von den Entwicklern von RAGAS aus erster Hand zu erfahren, wie RAGAS funktioniert und welche fortschrittlichen Techniken zur Optimierung der RAGAS-Bewertungen es gibt.
RAG vs. Feinabstimmung
RAG ist eine der Möglichkeiten, die Fähigkeiten von großen generativen Sprachmodellen zu erweitern und ihre Grenzen zu überwinden. Die Feinabstimmung von großen Sprachmodellen ist eine besonders beliebte Technik, die es den Modellen ermöglicht, hochspezialisierte Aufgaben zu erfüllen, indem sie auf domänenspezifischen Daten trainiert werden. Während die Feinabstimmung für bestimmte Anwendungsfälle gut geeignet sein kann, wie z.B. das Trainieren eines Biglang-Modells, um einen bestimmten Tonfall oder Schreibstil anzunehmen, ist RAG oft der einfachste Weg, um die Modellgenauigkeit zu verbessern, Illusionen zu reduzieren und ein Biglang-Modell für eine bestimmte Aufgabe anzupassen.
Der Vorteil von RAG besteht darin, dass die Gewichte des zugrundeliegenden generativen Modells nicht mehr aktualisiert werden müssen, was oft ein kostspieliger und zeitaufwändiger Prozess ist.RAG ermöglicht es dem Modell, dynamisch auf externe Daten zuzugreifen und so die Genauigkeit ohne teures Neutraining zu verbessern. Dies macht es zu einer praktischen Lösung für Anwendungen, die Echtzeitinformationen benötigen. Im nächsten Abschnitt werden wir uns mit der Architektur von RAG und dem Zusammenspiel seiner Komponenten befassen, um ein leistungsfähiges System zur Verbesserung des Retrievals zu schaffen.
Zusammenfassungen
In diesem Beitrag haben wir Ihnen RAG als ein Framework vorgestellt, das aufgabenspezifisches externes Wissen nutzt, um die Leistung von generativen modellgesteuerten Anwendungen zu verbessern. Wir haben die verschiedenen Komponenten des RAG-Prozesses kennengelernt, darunter externe Wissensquellen, Hinweisschablonen und generative Modelle, und wie sie zusammenarbeiten, um Abruf, Verbesserung und Generierung zu ermöglichen. Wir diskutieren auch einige populäre Anwendungsfälle und Implementierungs-Frameworks für RAG, wie LangChain, LlamaIndex und DSPy. Schließlich erwähnen wir einige der spezialisierten Techniken für RAG, einschließlich High-Level-RAG-Methoden, Agenten-basierte RAG und grafische RAG, sowie Methoden zur Bewertung von RAG-Prozessen.
Zumindest könnte jeder Abschnitt dieses Artikels für sich allein als Blogbeitrag oder sogar als Kapitel in einem Buch stehen. Daher haben wir einen Ressourcenleitfaden mit akademischen Arbeiten, Blogbeiträgen, YouTube-Videos, Tutorials, Notizbüchern und Rezepten zusammengestellt, um Ihnen zu helfen, mehr über die in diesem Artikel vorgestellten Themen, Rahmenwerke und Methoden zu erfahren.
Ressourcen-Leitfaden
📄 Retrieval-verstärkte Generierung für wissensintensive NLP-Aufgaben (Original RAG-Papier)
👩🍳 Erste Schritte mit RAG in DSPy(Formulierung)
👩🍳 Einfache RAG in LlamaIndex(Formulierung)
📝 Fortschrittliche RAG-Technologie(Blogbeitrag)
📒 Agentenbasierte RAG mit mehreren Dokumentenagenten(Notebook)
📝 Übersicht über die RAG-Bewertung(Blogbeitrag)
📄 Bewertung der Generierung von Abrufverbesserungen: ein Überblick(Akademische Arbeiten)