Chatten mit den eigenen Dokumenten? Genau das funktioniert mit Retrieval-Augmented Generation – kurz RAG. In unserem Blogbeitrag stellen wir diese Technologie vor, die Large Language Models (LLM) mit der Suche nach Informationen kombiniert.
- Einführung in Retrieval-Augmented Generation (RAG)
- Die Funktionsweise von Retrieval-Augmented Generation
- Semantischen Suche als Bestandteil des Retrieval-Prozess
- Generation-Prozess in Retrieval-Augmented Generation
- Implementierung von Retrieval-Augmented Generation in der Praxis
- Vorteile der RAG-Architektur
- Weitere Anwendungsmöglichkeiten
Die digitale Welt unterliegt einem stetigen Wandel, der auch die Interaktionsformen zwischen Unternehmen und ihren Kunden beeinflusst. Die Technologie von RAG wird stetig weiterentwickelt und bietet großes Potenzial, die Funktionalität von Chatbots und Self-Service-Plattformen grundlegend zu verbessern.
Einführung in Retrieval-Augmented Generation (RAG)
Retrieval-Augmented Generation ist eine innovative Technologie, die sich mit der Generierung von Text auf Basis von vorab abgerufenen Informationen beschäftigt. Anstatt Text nur durch ein neuronales Netzwerk zu erzeugen, kombiniert RAG die Stärken von Suchmaschinen und Sprachmodellen.
Der Prozess besteht darin, dass ein Modell
- Informationen sucht (Retrieve): Zunächst durchsucht das System eine Datenbank, ein Dokumentenarchiv oder andere Wissensquellen, um relevante Informationen zu einer gestellten Frage oder einem Problem zu finden.
-
mit Wissen anreichert (Augment): Der Augmented-Teil der Architektur stellt sicher, dass die Generierung auf zusätzlichem, externem Wissen basiert, das vom Retriever bereitgestellt wird. Dadurch wird die Antwort nicht nur durch das interne Wissen des Modells, sondern auch durch aktuelle und kontextspezifische Informationen aus externen Quellen erweitert, was relevanteren Ergebnissen führt.
- und Antworten erstellt (Generate): Anschließend formuliert es eine verständliche, kontextuell passende Antwort, indem es die gefundenen Informationen in natürlicher Sprache aufbereitet.
Warum ist RAG so leistungsfähig?
Im Vergleich zu einem LLM (Large Language Model), dessen Informationsgenerierung auf der Analyse einer umfangreichen Datenmenge basiert und gelegentlich zu unpräzisen Ergebnissen führt, hat die RAG-Technik viele Vorteile:
- Präzision: Die RAG-Technik umfasst die Generierung von Antworten aus einer vorgegebenen Menge an Texten, was die Konsistenz und Verlässlichkeit der Ergebnisse verbessert.
- Kontextsensitivität: Anders als herkömmliche KI-Modelle liefert RAG kontextsensitive Antworten mit höherer Genauigkeit und Qualität.
- Flexibilität: Die Methode kombiniert die Stärke eines datenbankgestützten Suchsystems mit den sprachlichen Fähigkeiten eines generativen KI-Modells.
Was bedeutet RAG für den Anwender und die Anwenderin?
- Die Anwenderin bzw. der Anwender erhält keine Liste von Links oder Daten, sondern eine gut formulierte Antwort.
- Die Antwort ist genauer, weil RAG nur die Informationen verwendet, die wirklich relevant sind.
- Für den Nutzer fühlt sich so an, als ob er mit einem echten Menschen spricht.
Beispiel: Stellen Sie sich vor, Sie haben einen riesigen Informationsbestand an E-Books, Broschüren, Betriebsanleitungen und Whitepapern zum Thema Solarzellen. An diesen Datenbestand können Sie nun die Frage richten: „Wie funktionieren Solarzellen?“. Daraufhin erhalten Sie eine natürliche, verständliche Antwort auf Ihre Frage.
Die Funktionsweise von Retrieval-Augmented Generation
Die Architektur von RAG besteht aus zwei Hauptkomponenten: dem Retrieval-Modul und dem Generierungs-Modul. Das Retrieval-Modul durchsucht eine Datenbank oder einen Wissensspeicher nach relevanten Informationen, während das Generierungs-Modul diese Informationen zusammen mit dem vorliegenden Kontext nutzt, um eine präzise und kohärente Antwort zu formulieren.
Der Retrieval-Prozess in RAG startet mit der Einreichung einer Frage an das Modell. Daraufhin wird die Anfrage an eine Suchmaschine oder einen Wissensspeicher weitergeleitet, um relevante Dokumente oder Daten abzurufen, die wiederum die Grundlage für die nachfolgende Antwortgenerierung bilden.
Der Generation-Prozess in RAG wird aktiviert, sobald die relevanten Informationen abgerufen wurden. Das Generierungs-Modul greift diese Informationen auf, um eine Antwort zu erstellen. Der entscheidende Vorteil von RAG besteht darin, dass es den Kontext der Anfrage versteht und gleichzeitig präzise, auf Fakten basierende Informationen liefert, die aus der abgerufenen Quelle stammen.
Semantischen Suche als Bestandteil des Retrieval-Prozess
Die Anfrage eines Benutzers wird zunächst technisch als Vektor dargestellt, wobei die Zuordnung von Textabschnitten zu Vektoren durch eigens dafür entwickelte Large Language Models erfolgt. Der Vektor repräsentiert somit die Position des Textes im Raum des Modells. Man spricht hier von “Embedding“. Das heißt, Daten werden in einen Raum eingebettet und als Vektor in diesem Raum dargestellt. Embedding wurde von Forschern (Tomáš Mikolov et al.) bei Google im Jahr 2013 entwickelt und ermöglicht eine Ähnlichkeit von Wörtern zu berechnen.
Reduziert auf drei Dimensionen lässt sich dies wie folgt visualisieren: Die Begriffe, die sich beispielsweise auf das Thema “Buchhaltung” beziehen, befinden sich im oberen linken Quadranten, während sich Begriffe und Texte zum Thema “Passwort” im rechten unteren Quadranten befinden. Diese abstrakte Darstellung verdeutlicht die Position der Begriffe im Raum. In einem weiteren Schritt kann durch die Messung des Abstandes die Ähnlichkeit bestimmt werden. Der Begriff “Konto” ist demnach in der Nähe der Begriffe rund um “Buchhaltung” zu finden, da sein mathematischer Abstand kürzer ist. Solche Modelle rechnen typischerweise mit Vektoren in über 1000 Dimensionen, was mathematisch problemlos zu berechnen ist, wenngleich sich dies in der Vorstellung als schwierig erweisen kann.
Die Suche nach zugehörigen Artikeln bzw. Textabschnitten, die zur Frage des Benutzers passen, erfolgt unter Verwendung dieser Abstandsberechnungen. Der entscheidende Vorteil dieser Methode besteht darin, dass auch ähnlich passende Artikel gefunden werden können, die rein vom Wortstamm her nicht miteinander in Verbindung stehen.
Generation-Prozess in Retrieval-Augmented Generation
Im Generierungsmodul wird eine Antwort in natürlicher Sprache aus der Frage des Benutzers, den in der Datenbank gespeicherten Inhalten, die als Kontext für die Frage dienen, und der Grundlage des Prompts generiert. Da viele LLMs mehrsprachig sind, können die Antworten auch in der vom Benutzer angegebenen Sprache zurückgegeben werden. Zusätzlich zu der vom LLM generierten Antwort können die zuvor in der Datenbank gefundenen Textpassagen als weitere Hilfestellung ausgegeben werden. In unserem Beispiel des Scopevisio Smart Assistant wird auf den entsprechenden Hilfeartikel verlinkt.
Implementierung von Retrieval-Augmented Generation in der Praxis
Neben der konventionellen Suche nach Begriffen in den Artikeln der Online-Hilfe, verwendet die Scopevisio einen Chatbot, der natürlichsprachliche Anfragen entgegennehmen kann. Mithilfe der beschriebenen RAG-Technologie generiert der Chatbot eine Antwort mit Querverweisen auf die verwendeten Hilfetexte. Der Smart Assistant ist unter https://help.scopevisio.com verfügbar und findet sich rechts unten im Fenster unter dem blauen Chat-Icon.
Vorteile der RAG-Architektur
Die Hauptvorteile liegen im eingeschränkten Kontext. Gerade bei Anwendungen in einem domänenspezifischen Kontext spielt die RAG-Technologie ihre Vorteile aus. Die Antworten werden ausschließlich aus den bereitgestellten Datenquellen generiert. Diese können unter Umständen auch sehr unternehmensspezifische Inhalte enthalten, die bei der Verwendung eines LLM ohne weiteren Kontext nicht verarbeitet werden könnten. Im Falle von Scopevisio werden Inhalte aus der öffentlich verfügbaren Online-Hilfe verwendet. Daher kann ein LLM verwendet werden, das von einem der großen Anbieter zur Verfügung gestellt wird. Sollen Daten verarbeitet werden, für die man kein öffentlich verfügbares Modell nutzen möchte, muss auf ein eigenes gehostetes Modell zurückgegriffen werden. Auf der Plattform https://huggingface.co/ findet sich für jede Anwendung ein geeignetes Modell. Hier muss jedoch der Nutzen klar dem Aufwand für den Betrieb eines eigenen Modells gegenübergestellt werden. Der Betrieb eines eigenen vortrainierten Modells erfordert je nach Modell eine gewisse Rechenleistung.
Weitere Anwendungsmöglichkeiten
Grundsätzlich können die Anwendungsmöglichkeiten durch die einfache Art der Informationsbereitstellung relativ schnell erweitert werden.
Wenn z.B. alle unternehmensinternen Dokumente zum Onboarding neuer Mitarbeiter, zur Urlaubsplanung, zur Raumplanung etc. in einer Datenbank vorliegen, kann ein LLM (das in diesem Fall selbst gehostet wird, da interne Daten verwendet werden) z.B. alle Fragen zur Raumbelegung einfach und zuverlässig beantworten.