Découpage de documents en chunks (Chunking pour débutants)
Technique consistant à diviser de grands documents (PDF, livres, articles longs) en petits blocs textuels logiques (chunks de 300 à 500 tokens) avec chevauchement (Overlap). Assure une haute précision de recherche et évite la perte de contexte aux interfaces.
1. Aperçu du concept et de sa finalité
Lorsqu'un débutant crée son premier chatbot pour répondre aux questions basées sur des instructions PDF, la première idée naïve est souvent : « Je vais simplement prendre le manuel de 200 pages du lave-linge et l'ingérer tel quel dans la base ».
Mais cela ne fonctionne pas ainsi :
- Si vous injectez le fichier entier d'un bloc, le vecteur obtenu sera flou, comme une photo prise dans le brouillard.
- Si vous découpez le fichier phrase par phrase, le modèle trouvera bien la ligne « Appuyez sur le bouton B », mais il ignorera à quel programme de lavage elle se rapporte, car le nom du programme figurait dans la phrase précédente.
Le Chunking (découpage en fragments) est l'art de diviser un grand texte monolithique en « portions d'information » de taille idéale.
Analogie pratique : c'est le secret d'ingénierie principal qui détermine à 90 % la qualité des réponses de votre bot d'entreprise.
2. Modèle mental du découpage avec chevauchement (Overlap)
Observez comment le chevauchement fonctionne à la jonction de deux fragments :
┌─────────────────────────────────────────────────────────────┐
│ MÉCANIQUE DE CHUNKING AVEC RECOUVREMENT │
├─────────────────────────────────────────────────────────────┤
│ 📄 CHUNK 1 (500 tokens) : │
│ «...Pour activer le mode sécurité, tournez l'interrupteur│
│ dans le sens des aiguilles d'une montre jusqu'à la │
│ butée. [DÉBUT DU RECOUVREMENT : │
│ Après cela, maintenez impérativement le bouton rouge │
│ pendant 3 secondes]» │
├─────────────────────────────────────────────────────────────┤
│ ▲ │
│ │ (50 tokens partagés) │
│ ▼ │
├─────────────────────────────────────────────────────────────┤
│ 📄 CHUNK 2 (500 tokens) : │
│ "[FIN DU RECOUVREMENT : Après cela, maintenez │
│ impérativement le bouton rouge pendant 3 secondes]. │
│ Assurez-vous que le voyant vert s'est mis à clignoter..."│
└─────────────────────────────────────────────────────────────┘
Grâce à ce chevauchement, même si l'utilisateur demande : « Combien de secondes faut-il maintenir le bouton rouge ? », le système retrouvera à la fois le Fragment 1 et le Fragment 2 !
3. Les trois principales stratégies de découpage
- Chunking à taille fixe (Fixed-size) : la méthode la plus simple — couper strictement tous les 500 caractères. Rapide, mais risque parfois de scinder des mots ou des phrases en deux.
- Chunking sémantique par paragraphes : le texte est découpé selon les doubles sauts de ligne
\n\nou les points finaux, préservant l'intégrité de chaque idée distincte. - Chunking Markdown par titres (
#,##,###) : le meilleur choix pour la documentation technique. Chaque sous-section devient un chunk distinct, tout en conservant le titre de la section parente.
4. Conclusion pratique
Si votre bot répond par bribes ou ne comprend pas le contexte, vous avez presque certainement découpé le texte trop finement. Augmentez la taille du chunk de 200 à 600 tokens et ajoutez 10 % de chevauchement — la précision des réponses augmentera instantanément !
FAQ: Découpage de documents en chunks (Chunking pour débutants)
Termes associés
Stratégies de découpage (Chunking)
Méthodologie de décomposition de documents volumineux et de bases de code en fragments autonomes sur le plan informationnel (chunks) pour la génération d'embeddings vectoriels et une recherche précise dans les systèmes RAG.
AST Chunking for Codebases
Méthodologie de découpage intelligent des fichiers de code pour la recherche vectorielle, basée exclusivement sur les limites syntaxiques du langage de programmation (Tree-sitter), plutôt que sur un découpage par nombre fixe de lignes ou de caractères.
Bases de données vectorielles (Vector DBs & ANN Search)
SGBD spécialisées et extensions (Qdrant, pgvector, Milvus, Chroma, Turso), optimisées pour le stockage de millions de vecteurs multidimensionnels et la recherche approximative des plus proches voisins (Approximate Nearest Neighbors) ultra-rapide.