Ruft Lappen
Mit Bing Image Creator erstelltes Bild

Retrieval Augmented Generation (RAG) ist ein entscheidendes Werkzeug bei der Verwendung großer Sprachmodelle (LLM). Mit RAG können LLMs externe Dokumente in ihre Antworten integrieren und sich so besser an den Benutzeranforderungen orientieren. Diese Funktion ist besonders in Bereichen von Vorteil, in denen LLMs traditionell scheitern, insbesondere wenn es auf Faktizität ankommt.

Seit der Einführung von chatgpt und ähnlichen LLMs ist eine Vielzahl von RAG-Tools und -Bibliotheken entstanden. Hier erfahren Sie, was Sie über die Funktionsweise von RAG wissen müssen und wie Sie es mit ChatGPT, Claude oder einem LLM Ihrer Wahl nutzen können.

Die Vorteile von RAG

Wenn Sie mit einem großen Sprachmodell interagieren, greift es auf das in seinen Trainingsdaten eingebettete Wissen zurück, um eine Antwort zu formulieren. Allerdings übersteigt die Menge der Trainingsdaten häufig die Parameter des Modells, was zu Antworten führt, die möglicherweise nicht ganz genau sind. Darüber hinaus können die vielfältigen Informationen, die im Training verwendet werden, dazu führen, dass das LLM Details vermischt, was zu plausiblen, aber falschen Antworten führt, ein Phänomen, das als „Halluzinationen“ bekannt ist.

In manchen Fällen möchten Sie vielleicht, dass das LLM Informationen verwendet, die nicht in seinen Trainingsdaten enthalten sind, wie zum Beispiel einen aktuellen Nachrichtenartikel, eine wissenschaftliche Arbeit oder proprietäre Unternehmensdokumente. Hier kommt Retrieval Augmented Generation ins Spiel.

Dieser Prozess erhöht die Genauigkeit des Modells und ermöglicht es ihm, Antworten auf der Grundlage der bereitgestellten Inhalte zu formulieren. Experimente zeigen, dass RAG Halluzinationen deutlich reduziert. Es erweist sich auch bei Anwendungen als vorteilhaft, die aktuelle oder kundenspezifische Informationen erfordern, die nicht im Trainingsdatensatz enthalten sind.

Vereinfacht ausgedrückt lässt sich der Unterschied zwischen einem Standard-LLM und einem RAG-fähigen LLM mit der Beantwortung von Fragen durch zwei Personen vergleichen. Ersteres ist wie eine Person, die aus dem Gedächtnis antwortet, während letzteres jemand ist, dem Dokumente zur Verfügung gestellt werden, die er lesen und Fragen basierend auf ihrem Inhalt beantworten kann.

So funktioniert RAG

RAG arbeitet nach einem einfachen Prinzip. Es identifiziert ein oder mehrere Dokumente, die für Ihre Anfrage relevant sind, integriert sie in Ihre Eingabeaufforderung und ändert die Eingabeaufforderung so, dass sie Anweisungen für das Modell enthält, seine Antworten auf diese Dokumente zu stützen.

Sie können RAG manuell implementieren, indem Sie den Inhalt eines Dokuments in Ihre Eingabeaufforderung kopieren und das Modell anweisen, Antworten auf der Grundlage dieses Dokuments zu formulieren.

Eine RAG-Pipeline automatisiert diesen Prozess für mehr Effizienz. Es beginnt damit, die Eingabeaufforderungen des Benutzers mit einer Datenbank von Dokumenten zu vergleichen und diejenigen abzurufen, die für das Thema am relevantesten sind. Die Pipeline integriert dann ihren Inhalt in die Eingabeaufforderung und fügt Anweisungen hinzu, um sicherzustellen, dass das LLM den Inhalt des Dokuments einhält.

Was benötigen Sie für eine RAG-Pipeline?

Llm-Chatbot-Einbettungsdatenbank
Verwendung von Einbettungen und einer Vektordatenbank zum Abrufen relevanter Dokumente

Während Retrieval Augmented Generation ein intuitives Konzept ist, erfordert seine Umsetzung die nahtlose Integration mehrerer Komponenten.

Zunächst benötigen Sie das primäre Sprachmodell, das Antworten generiert. Daneben ist ein Einbettungsmodell erforderlich, um sowohl Dokumente als auch Benutzereingaben in numerische Listen oder „Einbettungen“ zu kodieren, die ihren semantischen Inhalt darstellen.

Siehe auch  „Game of Thrones“-Autor und andere Autoren verklagen ChatGPT-Ersteller wegen Urheberrechten

Als nächstes ist eine Vektordatenbank erforderlich, um diese Dokumenteinbettungen zu speichern und bei jedem Eingang einer Benutzeranfrage die relevantesten abzurufen. In manchen Fällen ist auch ein Ranking-Modell von Vorteil, um die Reihenfolge der von der Vektordatenbank bereitgestellten Dokumente weiter zu verfeinern.

Für bestimmte Anwendungen möchten Sie möglicherweise einen zusätzlichen Mechanismus integrieren, der die Benutzeraufforderung in mehrere Teile segmentiert. Jedes dieser Segmente erfordert seine eigene Einbettung und Dokumente, wodurch die Präzision und Relevanz der generierten Antworten erhöht wird.

So starten Sie mit RAG ohne Code

Rag Lamaindex
No-Code-RAG mit LlamaIndex und ChatGPT (Quelle: LlamaIndex-Blog)

LlamaIndex hat kürzlich ein Open-Source-Tool veröffentlicht, mit dem Sie eine einfache RAG-Anwendung fast ohne Codierung entwickeln können. Während die Nutzung derzeit auf die Verwendung einer einzelnen Datei beschränkt ist, könnten zukünftige Verbesserungen die Unterstützung mehrerer Dateien und Vektordatenbanken umfassen.

Das Projekt mit dem Namen RAGsbasiert auf dem Streamlit-Webanwendungs-Framework und LlamaIndex, einer robusten Python-Bibliothek, die besonders für RAG nützlich ist. Wenn Sie mit GitHub und Python vertraut sind, ist die Installation unkompliziert: Klonen Sie einfach das Repository, führen Sie den Installationsbefehl aus und fügen Sie Ihr OpenAI-API-Token zur Konfigurationsdatei hinzu, wie im Readme-Dokument angegeben.

RAGs sind derzeit für die Arbeit mit OpenAI-Modellen konfiguriert. Sie können den Code jedoch ändern, um andere Modelle wie Anthropic Claude, Cohere-Modelle oder Open-Source-Modelle wie Llama 2 zu verwenden, die auf Ihren Servern gehostet werden. LlamaIndex unterstützt alle diese Modelle.

Für die erste Ausführung der Anwendung müssen Sie Ihren RAG-Agenten einrichten. Dazu gehört die Festlegung der Einstellungen, einschließlich der Dateien, der Größe der Blöcke, in die Sie Ihre Datei aufteilen möchten, und der Anzahl der Blöcke, die für jede Eingabeaufforderung abgerufen werden sollen.

Siehe auch  ChatGPT kostet täglich 5,80 Crore Rupien, der Hersteller könnte 2024 bankrott gehen: Bericht

Chunking spielt bei RAG eine entscheidende Rolle. Bei der Verarbeitung einer großen Datei, beispielsweise eines Buchs oder einer mehrseitigen Forschungsarbeit, ist es notwendig, diese in überschaubare Teile, beispielsweise 500 Token, aufzuteilen. Dadurch kann der RAG-Agent den spezifischen Teil des Dokuments finden, der für Ihre Eingabeaufforderung relevant ist. Nach Abschluss dieser Schritte erstellt die Anwendung eine Konfigurationsdatei für Ihren RAG-Agenten und verwendet diese zum Ausführen des Codes. RAGs dienen als wertvolles Werkzeug, um mit der Retrieval-Erweiterung zu beginnen und darauf aufzubauen. Den vollständigen Leitfaden finden Sie hier Hier.

Anzeige
Nina Weber
Nina Weber is a renowned Journalist, who worked for many German Newspaper's Tech coloumns like Die Zukunft, Handelsblatt. She is a contributing Journalist for futuriq.de. She works as a editor also as a fact checker for futuriq.de. Her Bachelor degree in Humanties with Major in Digital Anthropology gave her a solid background for journalism. Know more about her here.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein