Bild

Was ist RAG?

Eine RAG-Anwendung (Retrieval-Augmented Generation) basiert auf einer mehrstufigen Architektur, die es ermöglicht, dynamisch auf externe Wissensquellen zuzugreifen und diese mit einem leistungsstarken Generierungsmodell zu kombinieren.
Die Architektur lässt sich in zwei Hauptphasen unterteilen: Datenimport und Anwortgenerierung.

Diese Architektur kombiniert die Stärken von Such- und Abruftechniken mit den fortschrittlichen Generierungsfähigkeiten moderner Sprachmodelle. Sie ermöglicht es, dass das System nicht nur auf vortrainiertem Wissen basiert, sondern auch auf dynamisch abgerufene, hochrelevante Informationen zugreift, um qualitativ hochwertige Antworten zu liefern.

RAG - Architektur (Import der Dokumente / User-Query)
RAG - Architektur (Pahse 1: Import der Dokumente / Phase 2: User-Query)

Phase 1: Import der Dokumente, Chunking und Embedding (Datenimport):

Zunächst werden die relevanten Dokumente oder Datensätze in das System importiert. Dieser Schritt umfasst die Sammlung und Aufbereitung der Daten aus verschiedenen Quellen, z.B.Textdateien (pdf, html, doc, exl) oder Datenbanken.

Chunking:
Die importierten Dokumente werden dann in kleinere, handhabbare Einheiten (Chunks) unterteilt. Diese kleineren Abschnitte ermöglichen es, gezielt nach spezifischen Informationen zu suchen und erhöhen die Effizienz des Abrufprozesses.

Embedding:
Nach dem Chunking werden die Textabschnitte durch Embedding in numerische Vektoren umgewandelt. Embedding ist der Prozess, bei dem jedes Chunk eine mathematische Repräsentation erhält, die die semantische Bedeutung des Textes erfasst. Diese Vektoren helfen dem System, die Ähnlichkeit und Relevanz von Informationen zu messen und gezielt passende Chunks zu identifizieren.

Phase 2: User-Query (Antwortgenerierung)

Abrufphase:
Nachdem die Dokumente in Chunks unterteilt und als Vektoren eingebettet wurden, erfolgt der Abruf relevanter Informationen. Bei einer Anfrage sucht das System die Chunks, die semantisch am meisten mit der Eingabe übereinstimmen, und extrahiert diese als Basis für die Antwort.

Generierungsphase:
Schließlich verwendet das Generierungsmodell die abgerufenen, relevanten Chunks, um eine präzise, kohärente Antwort zu erzeugen. Dabei wird das Wissen aus den abgerufenen Informationen mit der Sprachgenerierungsfähigkeit des Modells kombiniert.