Skip to main content

Hiérarchisation des chunks (Hierarchical Chunking / Parent-Child)

POUR AGENT IAChatGPTClaude

Stratégie avancée de découpage de documents (Parent-Document Retriever) pour les systèmes RAG. Le texte est divisé en petits chunks enfants (Child Chunks) pour une recherche vectorielle ultra-précise, mais c'est le chapitre parent complet (Parent Chunk) qui est transmis au contexte du modèle afin de préserver la portée globale et de ne pas perdre le sens.

1. Aperçu du concept et de sa finalité

Lorsque vous prenez un manuel ou un code juridique pour le préparer à une base de connaissances RAG, vous êtes confronté au défi d'ingénierie le plus critique : Comment découper le texte exactement ?

Visualisons le problème concrètement :

  • Option A (Découpage fin en fragments de 2 phrases) : La recherche par mots-clés sur « amende de 5 000 UAH » fonctionnera instantanément. Mais dans ce micro-fragment, il n'est pas indiqué pour quelle infraction cette amende est due ni à qui elle doit être payée !
  • Option B (Découpage large en blocs de 10 pages) : Le contexte est complet, mais le vecteur d'un tel géant devient une bouillie grise mélangeant des centaines de sujets différents, empêchant l'algorithme de trouver une réponse précise.

La solution réside dans le Chunking Hiérarchique (Hierarchical Chunking ou Parent-Child Retriever).

D'un point de vue pratique, c'est comme utiliser une loupe et une photo panoramique : vous cherchez un détail via la lentille grossissante (le chunk enfant), mais pour comprendre où il se situe, vous reculez d'un pas et observez toute la pièce (le chunk parent).

2. Fonctionnement du couple « Parent — Enfant » (Parent-Child)

┌─────────────────────────────────────────────────────────────┐
│                 MORCEAU PARENT (Parent Chunk, 1000 mots)    │
│ « Chapitre 4. Sécurité au travail et sanctions financières... » │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ MORCEAU ENFANT #1 (100 mots) :                          │ │
│ │ « En cas de violation du port obligatoire du casier sur le chantier... » │ │
│ └─────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ MORCEAU ENFANT #2 (100 mots) : ➔ CORRESPONDANCE VECTORIELLE EXACTE ! │ │
│ │ « ...une amende de 5 000 UAH est appliquée. »           │ │
│ └─────────────────────────────────────────────────────────┘ │
└──────────────────────────────┬──────────────────────────────┘
                               │
                               ▼
     Mais c'est L'INTÉGRALITÉ DU MORCEAU PARENT #4 qui est envoyée dans le contexte du modèle ! Le modèle voit à la fois l'amende et le contexte complet !

3. Pourquoi cette méthode supplante le découpage fixe classique

  1. Précision d'extraction optimale : Les vecteurs issus de phrases courtes sont extrêmement aigus et spécifiques.
  2. Zéro hallucination due au manque de faits : Le modèle voit toujours les nuances environnantes, les exceptions aux règles (« sauf cas de force majeure ») et les titres de sections.
  3. Intégrité des tableaux logiques : Les tableaux ne sont jamais coupés en deux au milieu d'une ligne.

4. Conclusion pratique

Les frameworks modernes (LangChain ParentDocumentRetriever et LlamaIndex) prennent en charge le chunking hiérarchique nativement. Consacrez trente minutes à configurer votre schéma Parent-Child — et la précision des réponses de votre bot d'entreprise augmentera d'au moins 30 %.

/ Questions fréquentesSchema.org FAQPage

FAQ: Hiérarchisation des chunks (Hierarchical Chunking / Parent-Child)

C'est un compromis classique : si les chunks sont minuscules (100 mots), la recherche trouve parfaitement la phrase exacte, mais le modèle manque de contexte environnant pour comprendre le sens. Si les chunks sont énormes (2 000 mots), il y a assez de contexte, mais la recherche vectorielle devient « floue » et peut manquer le fait précis.
/ Liens internes
Tous les termes