Étape 03 sur 22
Découpage (chunking)
Découper les documents en passages assez petits pour être vectorisés et retrouvés. Un chunk qui coupe un tableau ou une définition en deux renvoie une demi-réponse. Le découpage fixe l'unité que le modèle voit réellement.
Par Sheela · Vérifié le 19 oct. 2026 · Notre méthode d’évaluation
Comment choisir
- Commencez par un découpage qui suit la structure (par titre ou par section) avant toute astuce.
- Gardez un léger chevauchement et joignez le titre du document et la section à chaque chunk.
- Mesurez la recherche avant et après chaque changement ; la taille des chunks est un réglage à tester, pas une conviction.
Ce qu’il faut regarder
Les questions qui départagent les options, par ordre d’importance.
01
D'abord un découpage qui suit la structure
Découper selon les titres, les sections et les limites de listes garde une définition ou une procédure d'un seul tenant. Cela suppose que l'analyseur fournisse la structure : les chunkers qui lisent un document analysé (HybridChunker de Docling, by_title d'Unstructured, découpeurs par titres Markdown) font donc généralement mieux qu'un découpage du texte brut. Commencez par là avant toute astuce.
02
Une taille mesurée en tokens de votre modèle d'embedding
Les modèles d'embedding tronquent l'entrée au-delà de leur limite de tokens, souvent sans prévenir : les limites de chunk doivent donc être comptées avec le même tokenizer que le modèle. Les limites en caractères (max_characters d'Unstructured, le découpeur par défaut de LangChain) n'en sont qu'une approximation. HybridChunker de Docling et les découpeurs par tokens de LangChain, LlamaIndex et Chonkie acceptent directement un tokenizer.
03
Le contexte joint à chaque chunk
Un chunk qui dit « la limite est de 30 jours » est inutile si l'on ne sait pas à quelle politique il appartient. Préférez les chunkers qui joignent le titre du document, le chemin des titres et les légendes en métadonnées ou les ajoutent en tête du texte avant l'embedding. Un léger chevauchement aide quand une phrase chevauche une limite, mais ne remplace pas les titres.
04
Tableaux et code traités comme des blocs
Les découpeurs de texte génériques coupent les tableaux en pleine ligne et les fonctions en plein corps. Cherchez des options qui gèrent les tableaux, comme Docling qui répète la ligne d'en-tête d'un tableau dans chaque morceau ou Unstructured qui isole les tableaux dans leurs propres chunks, et des découpeurs de code qui suivent la syntaxe (LangChain, LlamaIndex, le découpeur Python AST de Haystack).
05
Méfiez-vous du découpage sémantique
Les chunkers sémantiques coupent là où la similarité d'embedding entre phrases chute. Une étude de 2024 menée par des chercheurs de Vectara a montré que le calcul supplémentaire n'apportait pas de gains constants par rapport à des chunks de taille fixe, et une étude d'août 2026 portant sur huit stratégies a constaté que la meilleure méthode changeait selon le modèle d'embedding, le jeu de données et la métrique. Ne l'essayez qu'après avoir mesuré une référence simple. Il n'existe pas de classement public des chunkers ; tout ce que vous lirez est une étude isolée ou un graphique de fournisseur.
06
Mesurez la recherche, pas l'élégance des chunks
Constituez un petit jeu de test de vraies questions avec les passages qui y répondent, puis comparez le rappel à k (la fréquence à laquelle le bon passage figure dans les k premiers résultats) pour chaque réglage de découpage. La taille des chunks est un paramètre à tester, pas une conviction. Relancez le test chaque fois que vous changez d'analyseur ou de modèle d'embedding.
07
Maintenance et emplacement du code
Le code de découpage est petit : le risque est donc l'abandon plutôt que les bugs. LangChain a archivé en mai 2026 son paquet langchain-experimental, où se trouvait son SemanticChunker, et une demande pour le déplacer dans le paquet principal des découpeurs a été close comme non prévue. Préférez les chunkers intégrés à une bibliothèque dont vous dépendez déjà, ou figez les versions.
Ce qui distingue les options
La plupart des équipes n'ont pas besoin d'une bibliothèque de découpage séparée. Les découpeurs des frameworks (text splitters de LangChain, node parsers de LlamaIndex, preprocessors de Haystack) couvrent le découpage récursif, par tokens, par titres et pour le code, et sont le choix par défaut raisonnable si vous utilisez déjà ce framework. Les chunkers intégrés aux analyseurs (HybridChunker de Docling, stratégies basic et by_title d'Unstructured) ont un avantage : ils voient la vraie structure du document et peuvent donc garder ensemble sections, tableaux et légendes.
Les bibliothèques dédiées comme Chonkie offrent le choix le plus large, du découpage par tokens et par phrases au découpage sémantique, tardif ou piloté par un LLM, dans une installation légère, ce qui aide si vous voulez tester des stratégies sans changer de framework. Le late chunking vectorise d'abord tout le document puis regroupe les vecteurs de tokens par chunk, si bien que le vecteur de chaque chunk porte le contexte environnant ; il nécessite un modèle d'embedding à long contexte qui expose les sorties au niveau des tokens.
6 outils comparés
Classés selon notre note. Ouvrez un avis pour voir les sources, les prix et le verdict complet.
| Outil | Note | Notre verdict | Idéal pour | Prix |
|---|---|---|---|---|
| Doclingdépôt | 4.5/5 | Docling est le parseur open source qui gère bien les tableaux, et celui dont vous ne pouvez pas vous permettre de sauter les versions de sécurité. | Les équipes qui construisent du RAG auto-hébergé sur des PDF et documents Office avec des tableaux complexes. | Gratuit et open source sous la licence MIT. |
| LlamaIndexdépôt | 4.3/5 | Toujours une boîte à outils profonde pour le RAG lourd en documents, mais son créateur dit désormais clairement que le framework n'est plus sa priorité. | Les développeurs Python qui construisent du RAG ou des agents de documents sur de grandes sources de données variées. | Framework gratuit sous MIT. LlamaParse (cloud payant) : Free avec 10k crédits, Starter 50 $/mois (40k crédits), Pro 500 $/mois (400k crédits), Enterprise sur mesure ; 1 000 crédits = 1,25 $. |
| LangChaindépôt | 4.2/5 | Toujours la plus large bibliothèque d'intégrations pour les applis LLM, bien plus rangée depuis la 1.0, et plus le défaut automatique qu'il était. | Les équipes qui construisent des agents ayant besoin de nombreuses intégrations de fournisseurs et de données et pouvant grandir vers des workflows LangGraph personnalisés. | Gratuit et open source sous la licence MIT. LangSmith est séparé : Developer gratuit pour un siège, Plus 39 $/siège/mois, Enterprise sur mesure. |
| Haystackdépôt | 4.2/5 | Un framework pour les gens qui veulent lire leur système RAG plutôt que de lui faire confiance, au prix d'écrire eux-mêmes plus du câblage. | Les équipes d'ingénierie qui construisent des pipelines RAG et d'agents de production maintenables en Python. | Gratuit et open source sous la licence Apache 2.0. deepset Studio est gratuit pour un utilisateur ; la Haystack Enterprise Platform est à prix sur mesure. |
| Unstructureddépôt | 3.8/5 | Toujours le filet le plus large pour les formats de fichiers bizarres, mais ses créateurs publient désormais les chiffres montrant pourquoi vous les paieriez à la place. | Les équipes qui construisent des pipelines ETL qui ingèrent de nombreux formats de documents pour le RAG. | Bibliothèque gratuite sous Apache 2.0. Plateforme hébergée : 10 000 pages gratuites, puis 0,015 $ par page ; plan Business avec déploiement VPC ou dédié tarifé sur demande. |
| Chonkiedépôt | 3.7/5 | Une bibliothèque de découpage soignée en pleine réécriture : la v1.7 fonctionne aujourd'hui, mais l'essentiel de ce qui la distingue est programmé pour suppression en v2. | Les équipes qui ont besoin d'une étape légère de découpage récursif ou de code et peuvent accepter une migration v2 bientôt. | Gratuit et open source sous la licence MIT. |
Côte à côte
Les caractéristiques qui comptent pour cette étape. Vérifiées le 19 oct. 2026 ; confirmez-les sur le site du fournisseur avant de vous engager.
| Outil | Stratégies | Taille en tokens | Suit la structure | Langage | Licence |
|---|---|---|---|---|---|
| Docling | Hiérarchique, hybride, par lignes | Oui (Hugging Face ou tiktoken) | Mise en page complète ; répète les en-têtes de tableau | Python | MIT |
| LlamaIndex | Phrases, tokens, sémantique, hiérarchique | Oui (TokenTextSplitter) | Markdown, HTML, JSON, code | Python | MIT |
| LangChain | Récursif, caractères, tokens, code | Oui (tiktoken et autres) | Titres Markdown, HTML, JSON | Python | MIT |
| Haystack | Récursif, hiérarchique, par embedding | Via le découpeur par tokens de Chonkie | Titres Markdown, Python AST, CSV | Python | Apache 2.0 |
| Unstructured | basic, by_title | Non (limites en caractères) | Types d'éléments, sections, pages | Python | Apache 2.0 |
| Chonkie | Tokens, récursif, sémantique, tardif, LLM | Oui | Recette Markdown, code, tableaux | Python ; serveur REST | MIT |
Où s’insère cette étape
- Discuter avec vos documents : nous commencerions par Chonkie.
- Agent de service client : nous commencerions par Chonkie.
- Agent de code : nous commencerions par LlamaIndex.
- Recherche et graphe de connaissances : nous commencerions par Chonkie.
- Assistant à mémoire longue : nous commencerions par Chonkie.
- Agent vocal : nous commencerions par Chonkie.
- IA privée, sur l'appareil : nous commencerions par Chonkie.
- Votre propre modèle fine-tuné : nous commencerions par Chonkie.
Sources de ce guide
- 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)