Direkt zum Inhalt

Was ist Retrieval Augmented Generation (RAG)?

Erfahre, wie Retrieval Augmented Generation (RAG) große Sprachmodelle durch die Integration von externen Datenquellen verbessert.
Aktualisierte 14. März 2025  · 6 Min. Lesezeit

Große Sprachmodelle (LLMs) wie GPT-4 haben erstaunliche Fortschritte gebracht, aber sie haben auch ihre Grenzen - veraltetes Wissen, Halluzinationen und generische Antworten. Das ist ein Problem, das wir mit Retrieval Augmented Generation (RAG) lösen können.

In diesem Blog erkläre ich, wie RAG funktioniert, warum es für KI-Anwendungen ein entscheidender Faktor ist und wie Unternehmen es nutzen, um intelligentere und zuverlässigere Systeme zu schaffen.

Was ist RAG?

Retrieval Augmented Generation (RAG) ist eine Technik, die LLMs verbessert, indem sie mit externen Datenquellen verknüpft werden. Durch die Kombination der generativen Fähigkeiten von Modellen wie GPT-4 mit präzisen Mechanismen zur Informationsbeschaffung ermöglicht RAG KI-Systemen, genauere und kontextbezogene Antworten zu geben.

LLMs sind leistungsstark, haben aber auch ihre Grenzen:

  • Begrenzte Kenntnisse: LLMs können nur Antworten auf der Grundlage ihrer Trainingsdaten generieren, die möglicherweise veraltet sind oder keine domänenspezifischen Informationen enthalten.
  • Halluzinationen: Diese Modelle liefern manchmal plausibel klingende, aber falsche Informationen.
  • Allgemeine Antworten: Ohne Zugang zu externen Quellen können LLMs vage oder ungenaue Antworten geben.

RAG löst diese Probleme, indem es Modellen ermöglicht, aktuelle und domänenspezifische Informationen aus strukturierten und unstrukturierten Datenquellen wie Datenbanken, Dokumentationen und APIs abzurufen.

Warum die RAG zur Verbesserung der LLMs nutzen? Ein Beispiel

Um besser zu verdeutlichen, was RAG ist und wie die Technik funktioniert, lass uns ein Szenario betrachten, mit dem viele Unternehmen heute konfrontiert sind.

Stell dir vor, du bist eine Führungskraft in einem Elektronikunternehmen, das Geräte wie Smartphones und Laptops verkauft. Du möchtest einen Chatbot für den Kundensupport deines Unternehmens erstellen, um Nutzeranfragen zu Produktspezifikationen, Fehlerbehebung, Garantieinformationen und mehr zu beantworten.

Du möchtest die Fähigkeiten von LLMs wie GPT-3 oder GPT-4 nutzen, um deinen Chatbot zu betreiben.

Große Sprachmodelle haben jedoch die folgenden Einschränkungen, die zu einem ineffizienten Kundenerlebnis führen:

Mangel an spezifischen Informationen

Sprachmodelle sind darauf beschränkt, generische Antworten auf der Grundlage ihrer Trainingsdaten zu geben. Wenn Nutzer/innen spezielle Fragen zu der Software stellen, die du verkaufst, oder wenn sie Fragen zur Fehlerbehebung haben, kann ein herkömmlicher LLM möglicherweise keine genauen Antworten geben.

Das liegt daran, dass sie nicht für die spezifischen Daten deines Unternehmens geschult wurden. Außerdem haben die Trainingsdaten dieser Modelle einen Stichtag, was ihre Fähigkeit einschränkt, aktuelle Antworten zu geben.

Halluzinationen

LLMs können "halluzinieren", das heißt, sie neigen dazu, selbstbewusst falsche Antworten zu geben, die auf eingebildeten Fakten basieren. Diese Algorithmen können auch Antworten geben, die nicht zum Thema passen, wenn sie keine genaue Antwort auf die Anfrage des Nutzers haben, was zu einem schlechten Kundenerlebnis führt.

Allgemeine Antworten

Sprachmodelle liefern oft generische Antworten, die nicht auf bestimmte Kontexte zugeschnitten sind. Dies kann in einem Kundensupport-Szenario ein großer Nachteil sein, da individuelle Nutzerpräferenzen in der Regel erforderlich sind, um ein personalisiertes Kundenerlebnis zu ermöglichen.

RAG überbrückt diese Lücken effektiv, indem es dir eine Möglichkeit bietet, die allgemeine Wissensbasis der LLMs mit der Möglichkeit zu verbinden, auf spezifische Informationen zuzugreifen, wie z.B. die Daten in deiner Produktdatenbank und den Benutzerhandbüchern. Diese Methodik ermöglicht sehr genaue und zuverlässige Antworten, die auf die Bedürfnisse deines Unternehmens zugeschnitten sind.

Wie funktioniert die RAG?

Jetzt, wo du weißt, was RAG ist, schauen wir uns die Schritte an, die nötig sind, um diesen Rahmen einzurichten:

Schritt 1: Datenerhebung

Du musst zunächst alle Daten sammeln, die du für deine Bewerbung brauchst. Im Falle eines Chatbots für den Kundensupport eines Elektronikunternehmens kann dies Benutzerhandbücher, eine Produktdatenbank und eine Liste von FAQs umfassen.

Schritt 2: Daten-Chunking

Beim Data Chunking werden deine Daten in kleinere, besser handhabbare Teile zerlegt. Wenn du zum Beispiel ein umfangreiches 100-seitiges Benutzerhandbuch hast, könntest du es in verschiedene Abschnitte unterteilen, die jeweils unterschiedliche Kundenfragen beantworten.

Auf diese Weise konzentriert sich jedes Datenpaket auf ein bestimmtes Thema. Wenn eine Information aus dem Quelldatensatz abgerufen wird, ist es wahrscheinlicher, dass sie direkt auf die Anfrage des Nutzers anwendbar ist, da wir vermeiden, irrelevante Informationen aus ganzen Dokumenten einzubeziehen.

Dies verbessert auch die Effizienz, da das System schnell die wichtigsten Informationen abrufen kann, anstatt ganze Dokumente zu verarbeiten.

Schritt 3: Dokument-Einbettungen

Nachdem die Quelldaten nun in kleinere Teile zerlegt wurden, müssen sie in eine Vektordarstellung umgewandelt werden. Dabei werden Textdaten in Einbettungen umgewandelt, d.h. in numerische Darstellungen, die die semantische Bedeutung des Textes erfassen.

Mit einfachen Worten: Die Dokumenteneinbettung ermöglicht es dem System, Benutzeranfragen zu verstehen und sie mit relevanten Informationen im Quelldatensatz abzugleichen, und zwar auf der Grundlage der Bedeutung des Textes und nicht durch einen einfachen Wort-zu-Wort-Vergleich. Diese Methode stellt sicher, dass die Antworten relevant und auf die Anfrage des Nutzers abgestimmt sind.

Wenn du mehr darüber erfahren möchtest, wie Textdaten in Vektordarstellungen umgewandelt werden, empfehlen wir dir unser Tutorial über Texteinbettungen mit der OpenAI API.

Schritt 4: Umgang mit Benutzeranfragen

Wenn eine Benutzeranfrage in das System eingeht, muss sie auch in eine Einbettung oder Vektordarstellung umgewandelt werden. Sowohl für die Einbettung der Dokumente als auch für die Einbettung der Abfragen muss das gleiche Modell verwendet werden, um die Einheitlichkeit zwischen beiden zu gewährleisten.

Sobald die Abfrage in eine Einbettung umgewandelt ist, vergleicht das System die Abfrageeinbettung mit den Dokumenteneinbettungen. Sie identifiziert und findet die Chunks, deren Einbettungen der Abfrage am ähnlichsten sind, indem sie Maße wie die Kosinusähnlichkeit und die euklidische Distanz verwendet.

Diese Chunks werden als die relevantesten für die Anfrage des Nutzers angesehen.

Schritt 5: Antworten generieren mit einem LLM

Die abgerufenen Textabschnitte werden zusammen mit der ursprünglichen Benutzeranfrage in ein Sprachmodell eingegeben. Der Algorithmus nutzt diese Informationen, um über ein Chat-Interface eine schlüssige Antwort auf die Fragen des Nutzers zu geben.

Hier ist ein vereinfachtes Flussdiagramm, das zusammenfasst, wie die RAG funktioniert:

Flussdiagramm, das beschreibt, wie die RAG funktioniert.

Bild vom Autor

Um die Schritte, die zur Erstellung von Antworten mit LLMs erforderlich sind, nahtlos durchzuführen, kannst du ein Daten-Framework wie LlamaIndex verwenden.

Diese Lösung ermöglicht es dir, deine eigenen LLM-Anwendungen zu entwickeln, indem du den Informationsfluss von externen Datenquellen zu Sprachmodellen wie GPT-3 effizient verwaltest. Wenn du mehr über dieses Framework erfahren möchtest und wie du damit LLM-basierte Anwendungen erstellen kannst, lies unser Tutorial zu LlamaIndex.

Praktische Anwendungen der RAG

Wir wissen jetzt, dass RAG es LLMs ermöglicht, kohärente Antworten auf der Grundlage von Informationen außerhalb ihrer Trainingsdaten zu bilden. Ein solches System hat eine Vielzahl von Anwendungsfällen, die die organisatorische Effizienz und das Nutzererlebnis verbessern. Abgesehen von dem Kunden-Chatbot-Beispiel, das wir weiter oben im Artikel gesehen haben, gibt es hier einige praktische Anwendungen von RAG:

Text-Zusammenfassung

RAG kann Inhalte aus externen Quellen nutzen, um genaue Zusammenfassungen zu erstellen, was zu einer erheblichen Zeitersparnis führt. Zum Beispiel sind Manager und Führungskräfte vielbeschäftigte Menschen, die keine Zeit haben, umfangreiche Berichte zu lesen.

Mit einer RAG-gestützten Anwendung können sie schnell auf die wichtigsten Erkenntnisse aus Textdaten zugreifen und Entscheidungen effizienter treffen, anstatt lange Dokumente lesen zu müssen.

Personalisierte Empfehlungen

Mit RAG-Systemen können Kundendaten wie frühere Einkäufe und Bewertungen analysiert werden, um Produktempfehlungen zu erstellen. Das steigert das Gesamterlebnis der Nutzerinnen und Nutzer und generiert letztendlich mehr Umsatz für das Unternehmen.

RAG-Anwendungen können zum Beispiel genutzt werden, um bessere Filme auf Streaming-Plattformen zu empfehlen, die auf der Sehgeschichte und den Bewertungen des Nutzers/der Nutzerin basieren. Sie können auch verwendet werden, um schriftliche Bewertungen auf E-Commerce-Plattformen zu analysieren.

Da LLMs die Semantik von Textdaten besonders gut verstehen, können RAG-Systeme den Nutzern personalisierte Vorschläge machen, die differenzierter sind als die eines herkömmlichen Empfehlungssystems.

Business Intelligence

Unternehmen treffen ihre Geschäftsentscheidungen in der Regel, indem sie das Verhalten ihrer Konkurrenten im Auge behalten und Markttrends analysieren. Dies geschieht durch die sorgfältige Analyse von Daten, die in Geschäftsberichten, Jahresabschlüssen und Marktforschungsunterlagen enthalten sind.

Mit einer RAG-Anwendung müssen Unternehmen diese Dokumente nicht mehr manuell analysieren und Trends in ihnen erkennen. Stattdessen kann ein LLM eingesetzt werden, um effizient aussagekräftige Erkenntnisse zu gewinnen und den Marktforschungsprozess zu verbessern.

Herausforderungen und bewährte Praktiken bei der Umsetzung von RAG-Systemen

RAG-Anwendungen ermöglichen es uns zwar, die Lücke zwischen Information Retrieval und natürlicher Sprachverarbeitung zu schließen, ihre Umsetzung stellt uns jedoch vor einige besondere Herausforderungen. In diesem Abschnitt befassen wir uns mit den Schwierigkeiten, die bei der Erstellung von RAG-Anwendungen auftreten, und erörtern, wie sie entschärft werden können.

Komplexität der Integration

Es kann schwierig sein, ein Retrievalsystem in ein LLM zu integrieren. Diese Komplexität nimmt zu, wenn es mehrere Quellen für externe Daten in unterschiedlichen Formaten gibt. Daten, die in ein RAG-System eingespeist werden, müssen konsistent sein, und die erzeugten Einbettungen müssen über alle Datenquellen hinweg einheitlich sein.

Um diese Herausforderung zu meistern, können separate Module entwickelt werden, die verschiedene Datenquellen unabhängig voneinander verarbeiten. Die Daten in den einzelnen Modulen können dann vorverarbeitet werden, damit sie einheitlich sind, und es kann ein standardisiertes Modell verwendet werden, um sicherzustellen, dass die Einbettungen ein einheitliches Format haben.

Skalierbarkeit

Je größer die Datenmenge wird, desto schwieriger wird es, die Effizienz des RAG-Systems aufrechtzuerhalten. Es müssen viele komplexe Operationen durchgeführt werden, wie z. B. das Erzeugen von Einbettungen, das Vergleichen der Bedeutung verschiedener Textstücke und das Abrufen von Daten in Echtzeit.

Diese Aufgaben sind rechenintensiv und können das System mit zunehmender Größe der Quelldaten verlangsamen.

Um dieser Herausforderung zu begegnen, kannst du die Rechenlast auf verschiedene Server verteilen und in eine robuste Hardware-Infrastruktur investieren. Um die Antwortzeit zu verbessern, kann es auch von Vorteil sein, häufig gestellte Anfragen zu cachen.

Die Implementierung von Vektordatenbanken kann auch das Problem der Skalierbarkeit in RAG-Systemen entschärfen. Mit diesen Datenbanken kannst du einfach mit Einbettungen umgehen und schnell die Vektoren finden, die am besten mit der jeweiligen Abfrage übereinstimmen.

Wenn du mehr über die Implementierung von Vektordatenbanken in einer RAG-Anwendung erfahren möchtest, kannst du dir unsere Live-Sitzung mit dem Titel Retrieval Augmented Generation with GPT and Milvus ansehen. Dieses Tutorial bietet eine Schritt-für-Schritt-Anleitung zur Kombination von Milvus, einer Open-Source-Vektordatenbank, mit GPT-Modellen.

Datenqualität

Die Wirksamkeit eines RAG-Systems hängt stark von der Qualität der Daten ab, die in das System eingespeist werden. Wenn der Quellinhalt, auf den die Anwendung zugreift, schlecht ist, werden die Antworten ungenau sein.

Unternehmen müssen in einen sorgfältigen Prozess der Inhaltskuratierung und Feinabstimmung investieren. Es ist notwendig, die Datenquellen zu verfeinern, um ihre Qualität zu verbessern. Bei kommerziellen Anwendungen kann es von Vorteil sein, einen Fachexperten hinzuzuziehen, der den Datensatz vor der Verwendung in einem RAG-System überprüft und eventuelle Informationslücken füllt.

Schlussgedanken

RAG ist derzeit die bekannteste Technik, um die Sprachfähigkeiten von LLMs zusammen mit einer spezialisierten Datenbank zu nutzen. Diese Systeme befassen sich mit einigen der dringendsten Herausforderungen bei der Arbeit mit Sprachmodellen und stellen eine innovative Lösung im Bereich der Verarbeitung natürlicher Sprache dar.

Doch wie jede andere Technologie haben auch RAG-Anwendungen ihre Grenzen - vor allem, weil sie von der Qualität der Eingabedaten abhängen. Um das Beste aus den RAG-Systemen herauszuholen, ist es wichtig, die menschliche Aufsicht in den Prozess einzubeziehen.

Um die Zuverlässigkeit dieser Lösungen zu gewährleisten, ist eine sorgfältige Aufbereitung der Datenquellen zusammen mit Expertenwissen unerlässlich.

Wenn du tiefer in die Welt von RAG eintauchen und verstehen möchtest, wie du damit effektive KI-Anwendungen erstellen kannst, kannst du dir unser Live-Training zum Erstellen von KI-Anwendungen mit LangChain ansehen. In diesem Tutorium lernst du LangChain kennen, eine Bibliothek, die die Implementierung von RAG-Systemen in realen Szenarien ermöglicht.

FAQs

Welche Arten von Daten kann die RAG abrufen?

RAG kann strukturierte und unstrukturierte Daten abrufen, darunter Produkthandbücher, Kundensupportdokumente, Rechtstexte und API-Informationen in Echtzeit.

Kann RAG mit jedem LLM integriert werden?

Ja, RAG kann mit verschiedenen Sprachmodellen implementiert werden, darunter die GPT-Modelle von OpenAI, BERT-basierte Modelle und andere Transformer-Architekturen.

Kann RAG für Echtzeitanwendungen genutzt werden?

Ja, RAG kann in Echtzeitanwendungen wie Kundenservice-Chatbots und KI-Assistenten eingesetzt werden, aber die Leistung hängt von einer effizienten Abfrage und Antwortgenerierung ab.

Wie ist die RAG im Vergleich zur Feinabstimmung eines LLM?

RAG bietet dynamische Aktualisierungen, ohne dass das Modell neu trainiert werden muss, was es anpassungsfähiger an neue Informationen macht, wohingegen die Feinabstimmung ein erneutes Training auf spezifischen Daten erfordert.

Benötigt die RAG einen bestimmten Datenbanktyp für den Abruf?

Nein, RAG kann mit verschiedenen Datenspeicherlösungen arbeiten, darunter SQL-Datenbanken, NoSQL-Datenbanken und Vektordatenbanken wie FAISS und Milvus.


Natassha Selvaraj's photo
Author
Natassha Selvaraj
LinkedIn
Twitter

Natassha ist eine Datenberaterin, die an der Schnittstelle von Datenwissenschaft und Marketing arbeitet. Sie ist davon überzeugt, dass Daten, wenn sie klug genutzt werden, Einzelpersonen und Organisationen zu enormem Wachstum inspirieren können. Als Autodidaktin liebt Natassha es, Artikel zu schreiben, die anderen Data Science-Anwärtern den Einstieg in die Branche erleichtern. Ihre Artikel auf ihrem persönlichen Blog und in externen Publikationen werden durchschnittlich 200.000 Mal pro Monat aufgerufen.

FAQs zu Retrieval Augmented Generation (RAG)

Was ist Retrieval Augmented Generation (RAG)?

RAG ist eine Technik, die die Fähigkeiten von vortrainierten großen Sprachmodellen (LLMs) mit externen Datenquellen kombiniert und so nuanciertere und genauere KI-Antworten ermöglicht.

Warum ist die RAG wichtig, um die Funktionalität der LLMs zu verbessern?

Die RAG geht auf die wichtigsten Einschränkungen von LLMs ein, wie z.B. ihre Tendenz, allgemeine Antworten zu geben, falsche Antworten (Halluzinationen) zu erzeugen und spezifische Informationen zu vermissen. Durch die Integration von LLMs mit spezifischen externen Daten ermöglicht die RAG präzisere, zuverlässigere und kontextspezifische Antworten.

Wie funktioniert die RAG? Was sind die Schritte bei der Umsetzung?

RAG umfasst mehrere Schritte: Datenerfassung, Datenchunking, Dokumenteneinbettung, Bearbeitung von Nutzeranfragen und Generierung von Antworten mithilfe eines LLM. Dieser Prozess stellt sicher, dass das System die Benutzeranfragen genau mit den relevanten Informationen aus externen Datenquellen abgleicht.

Welche Herausforderungen gibt es bei der Einführung von RAG-Systemen und wie können sie bewältigt werden?

Zu den Herausforderungen gehören die Komplexität der Integration, die Skalierbarkeit und die Datenqualität. Die Lösung besteht darin, separate Module für verschiedene Datenquellen zu erstellen, in eine robuste Infrastruktur zu investieren und eine sorgfältige Kuratierung und Feinabstimmung der Inhalte sicherzustellen.

Kann RAG mit anderen Sprachmodellen als GPT-3 oder GPT-4 integriert werden?

Ja, RAG kann mit verschiedenen Sprachmodellen arbeiten, solange diese in der Lage sind, Sprache zu verstehen und zu generieren. Die Wirksamkeit hängt von den spezifischen Stärken des Modells ab.

Was unterscheidet die RAG von herkömmlichen Suchmaschinen oder Datenbanken?

RAG kombiniert die Suchfunktionen von Suchmaschinen mit dem differenzierten Verständnis und der Antwortgenerierung von Sprachmodellen und liefert kontextbewusste und detaillierte Antworten, anstatt nur Dokumente abzurufen.

Themen

Beginne noch heute mit LLMs!

Kurs

Large Language Models (LLMs) Concepts

2 hr
48.2K
Discover the full potential of LLMs with our conceptual course covering LLM applications, training methodologies, ethical considerations, and latest research.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Mehr anzeigenMehr anzeigen