RAG-Systeme (Retrieval-Augmented Generation) verbessern die Qualität von KI-generierten Antworten, indem sie relevante Dokumente aus großen Wissensbasen abrufen. Doch wie werden diese Dokumente überhaupt verarbeitet und in sinnvolle Einheiten unterteilt? Drei innovative Methoden – Sliding Window Chunking, Tokenbasiertes Chunking und PDF-spezifische Verarbeitung – spielen dabei eine zentrale Rolle.
Sliding Window Chunking: Überlappende Inhalte für besseren Kontextfluss
Sliding Window Chunking ist eine intelligente Methode zur Dokumentenaufteilung, die semantische Zusammenhänge besser erhält als herkömmliche Ansätze. Statt Dokumente in starre, unabhängige Abschnitte zu zerteilen, bewegt sich ein definiertes "Fenster" durch den Text und behält dabei Teile des vorherigen Inhalts bei.
Die Methode nutzt zwei zentrale Parameter:
- Fenstergröße: Die maximale Anzahl an Zeichen oder Tokens pro Abschnitt.
- Schrittweite: Der Abstand, um den das Fenster nach jedem Abschnitt verschoben wird.
Ein konkretes Beispiel veranschaulicht das Prinzip:
Fenstergröße: 500 Zeichen
Schrittweite: 100 Zeichen
Abschnitt 1: Zeichen 1–500
Abschnitt 2: Zeichen 101–600 (überlappt mit Abschnitt 1)
Abschnitt 3: Zeichen 201–700 (überlappt mit Abschnitt 2)Durch diese Überlappung bleiben thematische Verbindungen zwischen Abschnitten erhalten, was besonders bei häufigen Kontextwechseln vorteilhaft ist. Allerdings führt das Verfahren zu einem höheren Token-Verbrauch, da identische Inhalte mehrfach verarbeitet werden. Zudem steigt die Gefahr von Redundanzen im Abrufprozess, wenn das LLM ähnliche Abschnitte mehrfach zurückgibt.
Tokenbasiertes Chunking: Effizienz durch Modellgrenzen
Moderne Sprachmodelle arbeiten nicht mit ganzen Wörtern, sondern mit Tokens – kleinsten Textbausteinen, die je nach Modell zwischen einem Zeichen und einem vollständigen Wort variieren können. Tokenbasiertes Chunking sorgt dafür, dass Dokumente im Rahmen der Modellgrenzen bleiben.
Die Methode funktioniert in drei Schritten:
- Der Text wird in Abschnitte mit einer maximalen Token-Anzahl aufgeteilt.
- Jeder Abschnitt wird in Vektoren umgewandelt.
- Die Vektoren werden in der Vektordatenbank für schnelle Suchanfragen gespeichert.
Ein besonders effizientes Format für diese Zwecke ist TOON (Token-Oriented Object Notation), das die Token-Nutzung im Vergleich zu JSON deutlich reduziert. Während JSON durch sich wiederholende Schlüsselstrukturen unnötig viele Tokens verbraucht, komprimiert TOON die Daten bei gleicher Informationsdichte.
Ein weiteres Werkzeug zur Token-Optimierung ist LLMLingua, das Benutzeranfragen oder Prompts verkürzt, ohne die Kernaussage zu verfälschen. Der Vorteil liegt in der Kostensenkung, allerdings kann eine zu aggressive Kompression die Qualität der Abfrageergebnisse beeinträchtigen.
PDF-Verarbeitung in RAG-Systemen: Vom Dokument zum Text
PDFs sind eine der häufigsten Dokumentenformen, doch ihre Struktur stellt besondere Herausforderungen an die Verarbeitung. Bevor ein RAG-System Inhalte aus PDFs nutzen kann, müssen diese in maschinell lesbaren Text umgewandelt werden. Dafür stehen im LangChain-Framework mehrere Bibliotheken zur Verfügung:
- PyPDFLoader: Ein einfacher Loader für Standard-PDFs.
- PyPDF: Eine Bibliothek zur direkten PDF-Verarbeitung.
- PyMuPDF: Eine leistungsstarke Alternative mit erweiterten Funktionen.
Doch nicht alle PDFs sind gleich – sie können enthalten:
- Gescannte Bilder (erfordern OCR-Technologie wie Tesseract)
- Mehrspaltige Layouts
- Tabellen (extrahierbar mit Camelot)
- Handschriftliche Notizen
- Doppelseitig gescannte Seiten
Diese Vielfalt macht eine sorgfältige Vorverarbeitung notwendig. Der typische Workflow für PDFs in RAG-Systemen sieht wie folgt aus:
- Konvertierung: Gescannte Inhalte werden in Text umgewandelt, Tabellen extrahiert.
- Bereinigung: Unnötige Formatierungen, Leerzeichen oder Metadaten werden entfernt.
- Chunking: Das Dokument wird in sinnvolle Abschnitte unterteilt.
- Vektorisierung: Die Abschnitte werden in numerische Vektoren umgewandelt.
- Speicherung: Die Vektoren werden in der Datenbank für schnelle Abfragen abgelegt.
Praktische Anwendung: Welche Methode wann einsetzen?
Die Wahl der richtigen Chunking-Strategie hängt stark vom Anwendungsfall ab. Sliding Window Chunking eignet sich besonders für dynamische Kontexte wie Quellcode oder technische Dokumentation, wo Zusammenhänge über mehrere Abschnitte verteilt sind. Tokenbasiertes Chunking hingegen ist ideal für Umgebungen mit strengen Token-Limits oder hohen Kosten für Embeddings.
In der Praxis werden diese Methoden oft kombiniert, um die Stärken jeder Technik zu nutzen. Beispielsweise kann ein PDF zunächst mit PyMuPDF verarbeitet, dann mit Sliding Window Chunking in überlappende Abschnitte zerlegt und schließlich mit einem lokalen Embedding-Modell in Vektoren umgewandelt werden.
Die optimale Strategie erfordert Experimentieren und kontinuierliche Anpassung an die spezifischen Anforderungen des Projekts. Mit den richtigen Werkzeugen und Methoden lassen sich RAG-Systeme jedoch deutlich effizienter und leistungsfähiger gestalten – und das bei gleichzeitig sinkenden Kosten.
KI-Zusammenfassung
RAG sistemlerinde belge parçalama ve PDF işleme teknikleriyle token tüketimini azaltın. Kayan pencere, token bazlı chunking ve TOON gibi yöntemlerle verimliliği artırın.