Schritt 03 von 22
Chunking
Dokumente in Abschnitte teilen, die klein genug zum Einbetten und Abrufen sind. Chunks, die eine Tabelle oder eine Definition halbieren, liefern eine halbe Antwort. Das Chunking legt die Einheit fest, die das Modell tatsächlich sieht.
Von Sheela · Geprüft am 19. Okt. 2026 · So testen wir
So triffst du die Wahl
- Beginne mit strukturbewusstem Teilen (nach Überschrift oder Abschnitt), bevor du etwas Raffiniertes versuchst.
- Behalte etwas Überlappung und hänge an jeden Chunk den Dokumenttitel und den Abschnitt an.
- Miss das Retrieval vor und nach einer Änderung; die Chunk-Größe ist eine Einstellung zum Testen, keine Glaubensfrage.
Worauf du achten solltest
Die Fragen, die die Optionen unterscheiden, nach Wichtigkeit geordnet.
01
Zuerst strukturbewusst teilen
Wer an Überschriften, Abschnitten und Listengrenzen teilt, hält eine Definition oder einen Ablauf in einem Stück. Dafür braucht es Struktur vom Parser, deshalb schlagen Chunker, die ein geparstes Dokument lesen (Doclings HybridChunker, by_title von Unstructured, Splitter nach Markdown-Überschriften), meist das Teilen von Rohtext. Fang hier an, bevor du etwas Raffiniertes versuchst.
02
Größe in den Tokens deines Embedding-Modells gemessen
Embedding-Modelle schneiden Eingaben jenseits ihres Token-Limits ab, oft stillschweigend, deshalb sollten Chunk-Grenzen mit demselben Tokenizer gezählt werden, den das Modell nutzt. Zeichenbasierte Grenzen (max_characters bei Unstructured, der Standard-Splitter von LangChain) nähern das nur an. Doclings HybridChunker und die Token-Splitter in LangChain, LlamaIndex und Chonkie nehmen direkt einen Tokenizer entgegen.
03
Kontext bei jedem Chunk
Ein Chunk, der sagt "die Frist beträgt 30 Tage", ist nutzlos, wenn man nicht weiß, zu welcher Richtlinie er gehört. Nimm lieber Chunker, die Dokumenttitel, Überschriftenpfad und Bildunterschriften als Metadaten anhängen oder vor dem Einbetten dem Text voranstellen. Eine kleine Überlappung hilft, wenn ein Satz über eine Grenze reicht, ersetzt aber keine Überschriften.
04
Tabellen und Code als Einheiten behandelt
Allgemeine Text-Splitter schneiden Tabellen mitten in der Zeile und Funktionen mitten im Rumpf. Achte auf tabellenbewusste Optionen, etwa wenn Docling die Kopfzeile einer Tabelle in jedem Teil wiederholt oder Unstructured Tabellen in eigene Chunks auslagert, und auf Code-Splitter, die der Syntax folgen (LangChain, LlamaIndex, der Python-AST-Splitter von Haystack).
05
Sei skeptisch bei semantischem Chunking
Semantische Chunker teilen dort, wo die Embedding-Ähnlichkeit zwischen Sätzen abfällt. Eine Studie von Forschern bei Vectara aus 2024 fand, dass der zusätzliche Rechenaufwand keine beständigen Gewinne gegenüber Chunks fester Größe brachte, und eine Studie zu acht Strategien vom August 2026 fand, dass die beste Methode je nach Embedding-Modell, Datensatz und Metrik wechselte. Probier es erst aus, nachdem du eine einfache Basislinie gemessen hast. Es gibt keine öffentliche Rangliste für Chunker; alles, was du liest, ist eine einzelne Studie oder ein Diagramm eines Anbieters.
06
Miss das Retrieval, nicht die Ästhetik der Chunks
Bau einen kleinen Testdatensatz aus echten Fragen mit den Abschnitten, die sie beantworten, und vergleiche dann den Recall bei k (wie oft der richtige Abschnitt unter den ersten k Ergebnissen ist) für jede Chunking-Einstellung. Die Chunk-Größe ist ein Parameter zum Testen, keine Glaubensfrage. Wiederhole den Test, wann immer du Parser oder Embedding-Modell wechselst.
07
Pflege und wo der Code liegt
Chunking-Code ist klein, das Risiko ist also eher Vernachlässigung als Bugs. LangChain archivierte im Mai 2026 sein Paket langchain-experimental, in dem sein SemanticChunker lag, und eine Anfrage, ihn ins Haupt-Paket der Splitter zu verschieben, wurde als nicht geplant geschlossen. Nimm lieber Chunker aus einer Bibliothek, von der du ohnehin abhängst, oder pinne Versionen.
Wie sich die Optionen unterscheiden
Die meisten Teams brauchen keine eigene Chunking-Bibliothek. Die Splitter der Frameworks (die Text-Splitter von LangChain, die Node-Parser von LlamaIndex, die Preprocessors von Haystack) decken rekursives, tokenbasiertes, überschriftenbasiertes und Code-Splitting ab und sind der vernünftige Standard, wenn du das Framework schon nutzt. Chunker, die zum Parser gehören (Doclings HybridChunker, die Strategien basic und by_title von Unstructured), haben einen Vorteil: Sie sehen die echte Struktur des Dokuments und können deshalb Abschnitte, Tabellen und Bildunterschriften zusammenhalten.
Eigene Bibliotheken wie Chonkie bieten die größte Auswahl, vom Teilen nach Tokens und Sätzen bis zu semantischem, spätem und LLM-gesteuertem Chunking, bei schlanker Installation, was hilft, wenn du Strategien testen willst, ohne das Framework zu wechseln. Late Chunking bettet zuerst das ganze Dokument ein und fasst dann die Token-Vektoren pro Chunk zusammen, sodass der Vektor jedes Chunks den umgebenden Kontext mitträgt; dafür braucht es ein Embedding-Modell mit langem Kontext, das Ausgaben auf Token-Ebene bereitstellt.
6 Tools im Vergleich
Sortiert nach unserer Bewertung. Öffne einen Testbericht für Quellen, Preise und das vollständige Fazit.
| Tool | Bewertung | Unser Fazit | Ideal für | Preis |
|---|---|---|---|---|
| DoclingRepo | 4.5/5 | Docling ist der Open-Source-Parser, der Tabellen richtig erkennt, und der, dessen Sicherheitsreleases du dir nicht sparen kannst. | Teams, die selbst gehostetes RAG über PDFs und Office-Dokumente mit komplexen Tabellen bauen. | Kostenlos und Open Source unter der MIT-Lizenz. |
| LlamaIndexRepo | 4.3/5 | Immer noch ein tiefes Toolkit für dokumentenlastiges RAG, aber sein Hersteller sagt inzwischen offen, dass das Framework nicht mehr seine Priorität ist. | Python-Entwickler, die RAG oder Dokumenten-Agenten über große, vielfältige Datenquellen bauen. | Framework kostenlos unter MIT. LlamaParse (bezahlte Cloud): Free mit 10k Credits, Starter 50 $/Monat (40k Credits), Pro 500 $/Monat (400k Credits), Enterprise nach Vereinbarung; 1.000 Credits = 1,25 $. |
| LangChainRepo | 4.2/5 | Immer noch die breiteste Integrationsbibliothek für LLM-Apps, seit 1.0 deutlich aufgeräumter und nicht mehr die automatische Standardwahl, die sie einmal war. | Teams, die Agenten mit vielen Anbieter- und Datenintegrationen bauen und später zu eigenen LangGraph-Workflows wachsen könnten. | Kostenlos und Open Source unter der MIT-Lizenz. LangSmith ist separat: Developer kostenlos für einen Platz, Plus 39 $/Platz/Monat, Enterprise nach Vereinbarung. |
| HaystackRepo | 4.2/5 | Ein Framework für Leute, die ihr RAG-System lesen wollen, statt ihm zu vertrauen, um den Preis, mehr von der Verdrahtung selbst zu schreiben. | Engineering-Teams, die wartbare RAG- und Agenten-Pipelines für die Produktion in Python bauen. | Kostenlos und Open Source unter der Apache-2.0-Lizenz. deepset Studio ist für einen Nutzer kostenlos; die Haystack Enterprise Platform wird individuell bepreist. |
| UnstructuredRepo | 3.8/5 | Immer noch das breiteste Netz für ausgefallene Dateiformate, aber die Macher veröffentlichen inzwischen selbst die Zahlen, die zeigen, warum du stattdessen sie bezahlen solltest. | Teams, die ETL-Pipelines bauen, die viele Dokumentformate für RAG verarbeiten. | Bibliothek kostenlos unter Apache 2.0. Gehostete Plattform: 10.000 Seiten kostenlos, danach 0,015 $ pro Seite; Business-Plan mit VPC oder dediziertem Deployment, Preis auf Anfrage. |
| ChonkieRepo | 3.7/5 | Eine aufgeräumte Chunking-Bibliothek mitten in der Neufassung: v1.7 funktioniert heute, aber das meiste, was sie auszeichnet, soll in v2 wegfallen. | Teams, die einen schlanken Schritt für rekursives oder Code-Chunking brauchen und eine baldige Migration auf v2 hinnehmen können. | Kostenlos und Open Source unter der MIT-Lizenz. |
Im direkten Vergleich
Die Spezifikationen, die für diesen Schritt zählen. Geprüft am 19. Okt. 2026; prüf sie auf der Website des Anbieters, bevor du dich festlegst.
| Tool | Strategien | Größe nach Tokens | Strukturbewusst | Sprache | Lizenz |
|---|---|---|---|---|---|
| Docling | Hierarchisch, hybrid, zeilenbasiert | Ja (Hugging Face oder tiktoken) | Volles Layout; wiederholt Tabellenköpfe | Python | MIT |
| LlamaIndex | Satz, Token, semantisch, hierarchisch | Ja (TokenTextSplitter) | Markdown, HTML, JSON, Code | Python | MIT |
| LangChain | Rekursiv, Zeichen, Token, Code | Ja (tiktoken und andere) | Markdown, HTML, JSON-Überschriften | Python | MIT |
| Haystack | Rekursiv, hierarchisch, Embedding | Über den Token-Splitter von Chonkie | Markdown-Überschriften, Python-AST, CSV | Python | Apache 2.0 |
| Unstructured | basic, by_title | Nein (Zeichengrenzen) | Elementtypen, Abschnitte, Seiten | Python | Apache 2.0 |
| Chonkie | Token, rekursiv, semantisch, late, LLM | Ja | Markdown-Rezept, Code, Tabellen | Python; REST-Server | MIT |
Wo diese Stufe hingehört
- Mit deinen Dokumenten chatten: Wir würden mit Chonkie anfangen.
- Kundensupport-Agent: Wir würden mit Chonkie anfangen.
- Coding-Agent: Wir würden mit LlamaIndex anfangen.
- Recherche und Knowledge Graph: Wir würden mit Chonkie anfangen.
- Assistent mit Langzeitgedächtnis: Wir würden mit Chonkie anfangen.
- Sprachagent: Wir würden mit Chonkie anfangen.
- Private KI auf dem eigenen Gerät: Wir würden mit Chonkie anfangen.
- Dein eigenes feinabgestimmtes Modell: Wir würden mit Chonkie anfangen.
Quellen für diesen Leitfaden
- LangChain text splitters
- Sunsetting langchain-experimental (GitHub issue #87)
- LlamaIndex node parser modules
- Docling chunking concepts
- Unstructured chunking
- Haystack preprocessors
- feyninc/chonkie on GitHub
- Is Semantic Chunking Worth the Computational Cost? (arXiv)
- Chunking strategies study, August 2026 (arXiv)
- Late Chunking (Jina AI, arXiv)