Einleitung
Es fühlt sich oft wie reine Magie an: Sie stellen einer KI eine komplexe Frage zu internen Unternehmensrichtlinien, alten Verträgen oder spezifischen Rechnungen, und innerhalb weniger Sekunden liefert das System die präzise Antwort. Viele fragen sich, wie dies technisch möglich ist. Wie kann eine Maschine "verstehen", was in Tausenden von PDF-Seiten steht, und genau die Information finden, die Sie gerade benötigen?
Dies ist keine Magie und wir möchten darauf eingehen.
Grundlagen
Um einen großen Datenbestand erfolgreich und schnell abfragen zu können, reicht ein einfaches Sprachmodell wie ChatGPT allein nicht aus. Es ist ein Zusammenspiel verschiedener spezialisierter Werkzeuge notwendig. Man kann sich dies wie eine Montagelinie in einer Fabrik vorstellen, wo jede Station eine spezifische Aufgabe hat.
Die wesentlichen Bestandteile sind:
| Werkzeug | Funktion | Einfache Erklärung |
| 1. LLM (Large Language Model) | Führt eine Vorhersage aus und kann Text ausgeben. | Das "Gehirn", das die endgültige Antwort formuliert (z.B. GPT-4). Es versteht Sprache, kennt aber Ihre privaten Dokumente nicht. |
| 2. Embedding Model | Verwandelt Text in Vektoren (lange Zahlenreihen). | Der "Übersetzer", der menschliche Sprache in eine Sprache verwandelt, die Computer mathematisch vergleichen können (z.B. [0.303, -0.911, 0.123 ...]). |
| 3. Document Parser | Transformiert verschiedene Dokumentformate in reinen Text. | Der "Leser", der PDFs, Word-Dateien oder Bilder öffnet und den geschriebenen Text herauszieht. |
| 4. Chunker | Teilt lange Textstücke (oft logisch) in kleinere Abschnitte. | Der "Zerkleinerer", der ein 100-Seiten-Dokument in handliche, thematisch passende Häppchen aufteilt. |
| 5. Vektordatenbank | Speichert Vektoren und Inhalte für eine schnelle Suche. | Das "Super-Gedächtnis", eine spezialisierte Datenbank, die darauf ausgelegt ist, ähnliche Zahlenreihen extrem schnell zu finden. |
Alle diese Tools sind notwendig, um erfolgreich große Datenmengen abzufragen. Fehlt eines, bricht der Prozess zusammen.
Die Funktion
Wie funktioniert dies nun in der Praxis? Der Prozess lässt sich in zwei Phasen unterteilen: Das Vorbereiten der Daten (Ingestion) und das tatsächliche Abfragen (Retrieval).
Phase A: Die Vorbereitung der Dokumente
Zuerst müssen Ihre Dokumente, z.B. PDF-Rechnungen, fit für die KI gemacht werden. Da KI selbst nur sehr schwer Binärdaten (wie ein rohes PDF-Bild) lesen kann, ist der erste Schritt immer die Konvertierung in reinen Text. Wenn wir über traditionelle KI (LLMs) reden, sind diese auf Text trainiert und können aus diesem Grund auch nur Text verstehen.
Jedes Dokument, das Sie irgendwo hochladen (z.B. auch in ChatGPT), wird zuerst im Hintergrund in Text konvertiert, oft via OCR (Texterkennung) oder einem allgemeinen Document Parser, ganz ohne dass Sie es sehen.
Hier ist ein Beispiel wie es funktioniert. Nehmen wir folgende fiktive PDF-Rechnung:
Diese wird vom Document Parser in folgenden Textbaustein umgewandelt:
Wenn dies geschehen ist, wird das Dokument durch Chunking in kleinere Abschnitte ausgeschnitten. Um die KI später nicht mit langen, unnötigen Informationen zu überschütten, teilt man jeden Text in kleine Abschnitte auf – oft logisch aufgebaut nach spezifischen Überschriften oder Absätzen – damit das LLM später nur die wirklich notwendigen Informationen vorliegen hat.
Aus dem obigen langen Text könnte der Chunker folgende 3 logische Abschnitte machen:
- Chunk 1 (Stammdaten): "Absender: Bytes Commerce GmbH, Musterstraße 1, 12345 Musterstadt. Rechnung Nr. 2023-55."
- Chunk 2 (Leistungen): "Rechnungsposten: 1x Server Wartung für 500 Euro. 2x Software Lizenz für je 150 Euro."
- Chunk 3 (Summen): "Rechnungssumme Netto: 800 Euro. Umsatzsteuer 19%: 152 Euro. Gesamtbetrag: 952 Euro."
Nun passiert der entscheidende Schritt: Die jeweiligen Abschnitte werden durch ein Embedding Modell in Vektoren verwandelt.
Warum Vektoren? Der mathematische Trick für Ähnlichkeit
Ein Vektor ist im Grunde nur eine Liste von Zahlen. Aber warum machen wir das? Computer können die Bedeutung von Wörtern nicht "fühlen", wie wir es tun. Aber sie sind exzellent in Mathematik.
Das Embedding-Modell platziert jeden Textabschnitt in einem riesigen, imaginären, mehrdimensionalen Raum. Stellen Sie sich ein Koordinatensystem nicht nur mit zwei Achsen (Höhe und Breite) vor, sondern mit Hunderten oder Tausenden von Achsen. Jede Achse steht für eine winzige Nuance von Bedeutung (z.B. "Ist es technisch?", "Ist es eine Adresse?", "Geht es um Geld?").
Wenn zwei Textabschnitte inhaltlich ähnlich sind (z.B. beide handeln von Firmensitzen), landen ihre Vektoren in diesem riesigen Raum mathematisch sehr nah beieinander. Handeln sie von völlig unterschiedlichen Dingen, liegen sie weit auseinander. Die Vektordatenbank kann später einfach die "Distanz" zwischen diesen Punkten messen, um Ähnlichkeit zu finden.
Ein solcher Vektor für unseren "Chunk 1 (Stammdaten)" sieht dann beispielsweise so aus (nur viel länger):
[-0.124, 0.845, 0.331, -0.562, ...]
Nun werden unsere Beispiel-Chunks in eine Vektordatenbank abgespeichert. Dies kann man sich wie eine Hochleistungs-Exceltabelle vorstellen.
Unsere gefüllte Vektordatenbank sieht nun so aus:
| ID | Inhalt (Der lesbare Text) | Vektor (Die mathematische Bedeutung) | Metadaten (Zusatzinfos) |
| 1 | "Absender: Bytes Commerce GmbH, Musterstraße 1, 12345 Musterstadt..." | [-0.12, 0.84, 0.33, ...] | Quelle: Rechnung_2023-55.pdf, Seite: 1 |
| 2 | "Rechnungsposten: 1x Server Wartung für 500 Euro..." | [ 0.55, -0.21, 0.78, ...] | Quelle: Rechnung_2023-55.pdf, Seite: 1 |
| 3 | "Gesamtbetrag: 952 Euro. Umsatzsteuer 19%..." | [ 0.61, -0.11, -0.45, ...] | Quelle: Rechnung_2023-55.pdf, Seite: 1 |
Diese Daten liegen nun fertig vor. Die Vorbereitung ist abgeschlossen.
Phase B: Die Abfrage (Retrieval)
Nun kann die Vektordatenbank effektiv genutzt werden. Dies funktioniert wie folgt:
Sie stellen einer KI eine Frage nach Informationen. Oft wird Ihr "Prompt" (Ihre Eingabe) zuerst logisch optimiert. Das System wandelt Ihre umgangssprachliche Frage in eine Form um, die wahrscheinlicher in einem Dokument vorkommt.
Beispiel:
- Ihre Frage: "Wo ist ihr unternehmen?"
- Optimierte Anfrage: "Standort Unternehmen Bytes Commerce Adresse"
Dies geschieht, damit präzisere Informationen gefunden werden können.
Nun wird diese optimierte Frage "Standort Unternehmen Bytes Commerce Adresse" wiederum von genau demselben Embedding Modell in einen Vektor verwandelt. Und schon passiert die Magie:
Wir haben nun folgenden "Frage-Vektor": [-0.110, 0.820, 0.315, -0.580, ...]
Jetzt können wir die Vektorenspalte unserer zuvor erstellten Datenbank abfragen. Die Datenbank vergleicht den Frage-Vektor mathematisch mit allen Vektoren in der Tabelle (siehe Tabelle oben).
Hier wird nun eine beliebige Anzahl an Einträgen zurückgegeben, bei denen die mathematische Ähnlichkeit der Vektoren zur Frage am höchsten ist (die "nächsten Nachbarn" im oben beschriebenen mehrdimensionalen Raum).
In unserem Beispiel würde die Datenbank feststellen, dass der Vektor von ID 1 ([-0.12, 0.84, ...]) mathematisch extrem nah am Frage-Vektor liegt. Die Vektoren von ID 2 und ID 3 sind weiter entfernt.
Die Datenbank übergibt nun den reinen Inhalt der gefundenen Top-Treffer (z.B. die besten 5 Einträge) an das Large Language Modell (LLM).
Das LLM erhält also folgenden Kontext: "Nutze die folgenden Informationen, um die Frage zu beantworten: 'Absender: Bytes Commerce GmbH, Musterstraße 1, 12345 Musterstadt...'"
Und nun weiß das Sprachmodell im besten Fall die Antwort auf Ihre Frage, da es durch logische mathematische Prozesse die ähnlichsten Inhalte zu Ihrer Frage finden konnte. Es antwortet Ihnen: "Das Unternehmen Bytes Commerce GmbH befindet sich in der Musterstraße 1 in 12345 Musterstadt."
Fazit
Diesen gesamten Prozess nennt man RAG (Retrieval Augmented Generation). Es ermöglicht es der KI, Dokumente zu durchsuchen, indem es die Technik moderner Sprachmodelle mit modernen mathematischen Prozessen (Vektoren) und spezialisierten Datenbankschemen kombiniert.
Es ist keine Zauberei, sondern eine effektive Anwendung von Mathematik und Informatik, um Wissen zugänglich zu machen.