Lektion 3 von 6·10 Min Lesezeit

Chunking-Strategien

Chunking — das Aufteilen von Dokumenten in kleinere Abschnitte — ist der am meisten unterschätzte Schritt einer RAG-Pipeline. Schlechtes Chunking = schlechte Retrieval-Ergebnisse, egal wie gut Ihr Embedding-Modell ist.

Warum Chunking?

LLMs haben begrenzte Context-Windows. Auch wenn moderne Modelle 200K+ Tokens verarbeiten können, gilt: Je gezielter der Kontext, desto besser die Antwort. Ein Chunk sollte eine inhaltlich zusammenhängende Informationseinheit sein.

Die vier Chunking-Strategien

1. Fixed-Size Chunking

Text wird in gleich große Blöcke geteilt (z. B. 512 Tokens).

  • ✅ Einfach zu implementieren
  • ✅ Vorhersagbare Chunk-Größen
  • ❌ Zerreißt Sätze und Absätze
  • ❌ Kontext geht an Chunk-Grenzen verloren

2. Recursive Character Splitting

Text wird hierarchisch geteilt: zuerst an Überschriften, dann Absätzen, dann Sätzen.

  • ✅ Respektiert Dokumentstruktur
  • ✅ Bessere semantische Kohärenz
  • ❌ Variable Chunk-Größen
  • Best Practice: LangChain's RecursiveCharacterTextSplitter

3. Semantic Chunking

Embeddings benachbarter Absätze werden verglichen. Wenn die Ähnlichkeit unter einen Schwellenwert fällt, wird ein neuer Chunk gestartet.

  • ✅ Inhaltlich kohärente Chunks
  • ✅ Passt sich automatisch an
  • ❌ Höherer Rechenaufwand
  • ❌ Schwellenwert muss kalibriert werden

4. Document-Aware Chunking

Nutzt die Struktur des Dokuments: Überschriften, Tabellen, Listen werden als natürliche Grenzen verwendet.

  • ✅ Ideal für strukturierte Dokumente (Markdown, HTML, LaTeX)
  • ❌ Unstrukturierte Texte profitieren wenig

Overlap — Der Rettungsanker

Chunks sollten sich um 10–20 % überlappen, damit Kontext an den Grenzen nicht verloren geht.

Beispiel: Bei 512 Tokens pro Chunk und 64 Tokens Overlap enthält jeder Chunk die letzten 64 Tokens des vorherigen.

Metadata-Enrichment

Jeder Chunk sollte Metadaten mitführen:

  • Quelldokument: Dateiname, URL, Autor
  • Position: Kapitel, Seitenzahl, Abschnitt
  • Zeitstempel: Erstellungs- und Änderungsdatum
  • Tags: Thema, Abteilung, Vertraulichkeitsstufe

Praxis-Tipp: Starten Sie mit Recursive Character Splitting (chunk_size=512, overlap=64). Testen Sie dann mit echten Queries und optimieren Sie iterativ. Die perfekte Chunk-Größe hängt von Ihren Dokumenten ab.