Ein RAG-System ist nur so gut wie die Textstücke, die es findet. Keine Chunking-Methode ist für alle Dokumente die beste. Wie gut die Antworten werden, hängt stark davon ab, wie gezielt die Daten aufbereitet werden.
Was ist RAG?
Sprachmodelle wie GPT, Claude oder Gemini wissen viel, aber nichts über Deine internen Handbücher, Verträge oder Preislisten. Hier setzt Retrieval-Augmented Generation (RAG) an: Bevor das Modell antwortet, sucht das System die passenden Stellen in Deinen eigenen Dokumenten heraus und gibt sie dem Modell als Grundlage mit. Die Antworten stützen sich dann auf Deine Inhalte und können die Quelle nennen. Das Modell greift seltener auf allgemeines Wissen oder erfundene Details zurück, ganz ausschließen lässt sich das aber nicht.
Um das Thema zu verstehen, habe ich mit RT-Vector ein eigenes, lokales RAG-System gebaut: Dokumente hochladen, verarbeiten lassen und anschließend mit ihrem Inhalt chatten.
Die Pipeline: vom PDF zur Antwort
Jedes Dokument durchläuft in RT-Vector dieselben Stationen:
- 01ParsingDocling liest PDF-, Word-, Text- und Markdown-Dateien samt Layout
- 02ChunkingText wird in Abschnitte geteilt
- 03EmbeddingsAbschnitte werden zu Vektoren
- 04SucheVektor- & Hybridsuche in PostgreSQL
- 05AntwortSprachmodell antwortet auf Basis der Treffer
- Parsing: Docling analysiert Dokumente mit Machine Learning und erkennt neben dem Text auch das Layout, also Überschriften, Tabellen und Absätze.
- Embeddings: Das Modell multilingual-e5-large übersetzt jeden Abschnitt in einen Vektor mit 1.024 Dimensionen. Das ist eine Art Bedeutungs-Fingerabdruck, der auch mehrsprachig funktioniert.
- Speicherung & Suche: Dokumente, Abschnitte und Vektoren liegen in der Datenbank PostgreSQL mit pgvector, einer Erweiterung für Vektoren. So sind Vektor- und Hybridsuche in einer einzigen Datenbank möglich.
- Reranking: bge-reranker-base sortiert die gefundenen Treffer noch einmal nach Relevanz, bevor sie beim Sprachmodell landen.
- Antwort: Welches Sprachmodell antwortet, ist konfigurierbar: OpenAI, Anthropic Claude, Google Gemini, Azure OpenAI oder lokal über Ollama.
Chunking: der unterschätzte Schritt
Ein Sprachmodell kann nicht ganze Aktenordner auf einmal verarbeiten, und die Suche findet keine „Dokumente“, sondern einzelne Abschnitte. Wie diese Abschnitte geschnitten werden, nennt man Chunking. Schneidet man zu klein, fehlt der Zusammenhang. Schneidet man zu grob oder an der falschen Stelle, landen irrelevante Informationen im Kontext.
§ 4 Kündigung. Der Vertrag kann mit einer Frist von drei Monaten zum Quartalsende gekündigt werden. § 5 Haftung. Die Haftung ist auf Vorsatz und grobe Fahrlässigkeit beschränkt …
§ 4 Kündigung. Der Vertrag kann mit einer Frist von drei Monaten zum Quartalsende gekündigt werden. § 5 Haftung. Die Haftung ist auf Vorsatz und grobe Fahrlässigkeit beschränkt …
RT-Vector bietet deshalb neun Chunking-Methoden zur Auswahl, von fester Größe über Sätze und Absätze bis zur Satzerkennung mit NLTK (Natural Language Toolkit, eine Python-Bibliothek zur Sprachverarbeitung):
- Hybrid (Docling)
- Fixed
- Sentence
- Paragraph
- Sliding Window
- Recursive
- Token
- Markdown Header
- NLTK Sentence
Eine Chunk-Vorschau vergleicht vor dem Upload alle Methoden und hebt die entstehenden Abschnitte farbig im Originaltext hervor. So sieht man sofort, ob eine Methode Tabellen, Paragrafen oder Listen sinnvoll trennt.
Modular RAG: mehr als „suchen und antworten“
Eine einfache RAG-Pipeline sucht einmal und antwortet. In RT-Vector steckt eine modulare RAG-Pipeline, die je nach Frage unterschiedlich vorgeht:
Gespräche werden gespeichert und lassen sich fortsetzen. Der Assistent kennt also den bisherigen Gesprächsverlauf.
Evaluierung statt Bauchgefühl
Damit ich mich nicht blind auf eine Standard-Einstellung verlasse, gehörte zum Projekt eine eigene Evaluierungs-Pipeline. Darin habe ich drei Chunking-Strategien auf einem öffentlichen Benchmark aus wissenschaftlichen Papern gegeneinander antreten lassen, bewertet von einem zweiten Sprachmodell.
Das strukturbewusste Docling Hybrid lag in drei von vier Kennzahlen vorn, nur bei der inhaltlichen Richtigkeit der Antworten schnitt die Variante Docling Hierarchical etwas besser ab. Der rein textbasierte Splitter von LangChain landete insgesamt hinten. Ich vermute, dass er Tabellen mitten im Inhalt zerschneidet, in denen bei wissenschaftlichen Papern viele Antworten stecken; belegt hat die Auswertung das nicht. Versuchsaufbau, Kennzahlen und die vollständige Ergebnistabelle stehen in der Fallstudie zu RT-Vector.
In meinem Test hat die Chunking-Methode die Kennzahlen sichtbar verschoben, um zwei bis fünf Hundertstel, und keine Methode lag in allen Kennzahlen vorn. Es war ein einzelner Lauf; belastbare Aussagen für Deine Dokumente liefert erst ein eigener Test. Wer ein RAG-System baut, sollte die Aufbereitung an die eigenen Dokumente anpassen und das Ergebnis messen.
Was das für Dein Unternehmen heißt
Wenn Du einen Dokumenten-Chat oder KI-Assistenten auf Basis Deiner eigenen Daten planst, lohnt sich ein Blick auf diese Punkte:
- Erst die Dokumente verstehen. Verträge, Handbücher und Tabellen sind unterschiedlich aufgebaut und brauchen oft unterschiedliches Chunking.
- Mit echten Fragen testen. Eine kleine Sammlung typischer Fragen aus Deinem Alltag zeigt schnell, ob das System die richtigen Stellen findet.
- Messen statt raten. Kennzahlen, etwa aus dem Bewertungswerkzeug Ragas, machen Verbesserungen sichtbar und vergleichbar.
- Modell und Ort bewusst wählen. Ob Cloud-Modell oder lokal betrieben, hängt von Datenschutz, Kosten und Qualität ab.
Wenn Du prüfen willst, ob ein RAG-System für Deine Dokumente sinnvoll ist, findest Du hier meine KI-Leistungen. Architektur und alle Ergebnisse stehen in der ausführlichen Fallstudie zu RT-Vector.