#
Retrieval Augmented Generation (RAG)
#
Was sind LLMs?
Große Sprachmodelle, sogenannte Large Language Models (LLMs), sind statistische Modelle, die auf Basis riesiger Textmengen trainiert werden und in der Lage sind, natürliche Sprache zu verstehen und zu generieren. Sie berechnen die Wahrscheinlichkeit von Wortfolgen und können dadurch menschenähnliche Texte erzeugen, Fragen beantworten oder Zusammenfassungen erstellen.
Ein bekanntes Beispiel für eine Anwendung, die auf einem LLM basiert, ist ChatGPT von OpenAI. ChatGPT selbst ist kein eigenes Sprachmodell, sondern eine dialogorientierte Anwendung, die auf einem LLM der GPT-Reihe (z.B. GPT-4o oder GPT-4.1) aufbaut. Während LLMs die grundlegenden Sprachfähigkeiten bereitstellen, wurde ChatGPT speziell darauf optimiert, in einem Chat-Format mit Nutzern zu interagieren.
#
Limitierungen
Ein zentrales Merkmal von LLMs ist jedoch, dass ihr Wissen auf den Datenstand zum Zeitpunkt des Trainings begrenzt ist. GPT-3.5 wurde beispielsweise mit öffentlich verfügbaren Internetdaten bis September 2021 trainiert. Informationen oder Ereignisse, die danach stattfanden, sind dem Modell nicht bekannt. Zudem können LLMs nicht direkt auf unternehmensspezifische oder vertrauliche Daten zugreifen, da diese nicht Teil des Trainingsdatensatzes sind.
#
Wofür wird Retrieval Augmented Generation (RAG) genutzt?
Hier setzt Retrieval Augmented Generation (RAG) an. RAG ist ein moderner Ansatz, der die Stärken von LLMs mit der Fähigkeit kombiniert, gezielt Informationen aus externen Datenquellen abzurufen. So können aktuelle oder unternehmensspezifische Inhalte in die Textgenerierung einfließen.
Bei Kauz.ai wird RAG genutzt, um firmeneigene Daten als Wissensbasis zu verwenden. Dafür werden die relevanten Texte (beispielsweise von einer gecrawlten Website) zunächst in kleinere Abschnitte, sogenannte Chunks, unterteilt. Diese Chunks werden anschließend vektorisiert: Für jeden Chunk werden sogenannte Embeddings berechnet, die die Bedeutung der enthaltenen Wörter in Zahlen abbilden und zueinander in Beziehung setzen.
Der eigentliche Antwortprozess bei RAG besteht aus zwei Hauptschritten:
Retrieval (Abruf): Die Nutzeranfrage wird in einen Vektor umgewandelt, der die Bedeutung der Frage abbildet. Anschließend durchsucht das System die vektorisierte Datenbank nach den semantisch relevantesten Chunks. Mithilfe der Embeddings werden die Textabschnitte identifiziert, die am besten zur Anfrage passen, und abgerufen.
(Augmentierte) Generierung: Die abgerufenen, relevanten Textabschnitte werden zusammen mit der ursprünglichen Nutzeranfrage an das LLM weitergegeben. Das LLM nutzt diese zusätzlichen Informationen, um eine fundierte, kontextbezogene und präzise Antwort zu generieren. So kann das Modell auch auf Wissen zugreifen, das nicht im ursprünglichen Trainingsdatensatz enthalten war, und aktuelle oder spezifische Informationen bereitstellen.
Durch diese Kombination aus gezieltem Informationsabruf und leistungsfähiger Textgenerierung ermöglicht RAG, dass KI-Systeme wie Chatbots oder Assistenten auf unternehmensspezifische und stets aktuelle Daten zugreifen können, ohne dass das LLM selbst neu trainiert werden muss.
#
Wie funktioniert die Vektorsuche?
Um die Bedeutung von Texten und Wörtern für KI-Modelle nutzbar zu machen, werden sie in sogenannte Vektoren übersetzt. Ein Vektor ist eine Zahlenreihe, die die semantische Bedeutung eines Wortes oder Textabschnitts im Raum abbildet. In diesem Vektorraum stehen Wörter, die inhaltlich oder kontextuell ähnlich sind, auch geometrisch nahe beieinander.
Das folgende Beispiel verdeutlicht, wie solche Relationen im Vektorraum aussehen: Die Begriffe „Frau“ und „Mann“ stehen im dreidimensionalen Raum in einer ähnlichen Relation zueinander wie „Königin“ und „König“. Die Richtung und der Abstand der Vektoren zueinander spiegeln die semantischen Beziehungen wider. So ist die Differenz zwischen „Mann“ und „König“ vergleichbar mit der Differenz zwischen „Frau“ und „Königin“. Obwohl die Begriffe an unterschiedlichen Stellen im Raum liegen, bleibt die Relation zwischen ihnen erhalten.
Diese Vektoren, die die Beziehungen zwischen Wörtern festhalten, werden in Zahlen übersetzt, mit denen das System arbeiten kann. Das ist die Grundlage für die sogenannten Embeddings: Jeder Textabschnitt (Chunk) und jede Nutzeranfrage werden in einen Vektor umgewandelt.
Wenn nun ein Nutzer*innen-Input an das System weitergegeben wird, sucht das System in der Datenbank nach den Chunks, deren Embeddings die größte Übereinstimmung mit dem Input aufweisen. Diese Übereinstimmung wird durch die Nähe der Vektoren im Raum bestimmt. Die am besten passenden Chunks werden dann an das LLM weitergegeben, das daraus eine Antwort generiert. Im Chat-Frontend wird diese Antwort ausgespielt. Zusätzlich wird die Quelle der verwendeten Chunks, zum Beispiel die zugehörige URL, angezeigt, damit Nutzerinnen bei Bedarf weitere Informationen zur gestellten Frage erhalten können.
Wichtig ist: Das LLM nutzt in der Kauz.ai-Plattform für die Antwortgenerierung in diesem Prozess ausschließlich die von den aiStudio-Redakteur*innen zur Verfügung gestellten firmeneigenen Daten. So bleibt die Antwort stets aktuell und spezifisch für das jeweilige Unternehmen.