RAG Formation · Leçon · Ingénierie de la recherche
Chunking et structure documentaire
Observer comment la taille des chunks, le chevauchement, les titres, les tableaux et les frontières documentaires modifient la recherche.
$ lesson --status
▸ course RAG Formation
▸ lesson 06 / 16
▸ phase Ingénierie de la recherche
▸ status Terminé
● build → measure → learnLeçon autonome
Apprenez la leçon complète et vérifiez votre compréhension ici.
Le contenu des 16 leçons de RAG Formation est complet. Cette page contient le contenu complet, les références locales et des exercices immédiats dans le navigateur.
Le gain concret de cette leçon
Vous comparerez deux configurations de fenêtres de source et formulerez une hypothèse de segmentation — délimitée et étayée par des preuves.
Regarder la vidéo
1 · Le modèle minimal utile
- Fragment/fenêtre : une portion délimitée du texte source. Bien traitée, elle associe un fait à son titre et à l’identité du document. Mal traitée, elle les sépare.
- Chevauchement : le texte répété au-delà de la limite dans la fenêtre suivante. Il peut préserver un fait situé à cheval sur une limite ; mais s’il est trop important, il ne produit que des preuves presque dupliquées.
- La taille des fragments est un vrai choix de conception, pas un réglage universel : Qdrant et Meilisearch indexent tous deux à environ 500 tokens par fragment, tandis que LightRAG utilise délibérément environ 1200 tokens — une fenêtre plus grande donne à son LLM d’extraction d’entités davantage de contexte par appel, ce qui signifie moins d’appels, moins coûteux, au prix de frontières d’entités plus grossières. Il n’existe pas une seule « bonne » taille de fenêtre ; la bonne taille dépend de l’usage de l’index.
- Cospatialité de la preuve et de l’identité : l’indicateur utilisé dans cette leçon : une fenêtre source contient-elle à la fois la référence du document attendu et chacun des termes factuels requis ?
- Conclusion délimitée : un résultat de fenêtre source fournit une hypothèse de segmentation, rien de plus. Il ne prouve pas que l’index actif récupère ou traite mieux les réponses.
Lecture principale : récupération par fenêtre de phrases avec LlamaIndex. Observez comment une fenêtre récupérée peut restaurer le contexte local autour d’un fait sans perdre la trace de sa source.
2 · Exécuter une expérience contrôlée sur les fenêtres sources
L’outil hors ligne chunk_lab.py ne touche qu’à deux éléments : le corpus Markdown synthétique et eval_set.yaml. Il ne contacte jamais Docker, ne lit aucun secret, n’appelle pas l’API et ne réindexe rien.
cd demo
python3 chunk_lab.py --question q24 --profile chunk --output-dir reports/lesson-06-chunk-profile
python3 chunk_lab.py --question q24 --profile graph --output-dir reports/lesson-06-graph-profile
--profile chunk et --profile graph sont des préréglages, pas des chiffres arbitraires : ils correspondent aux tailles de fenêtre réelles d’environ 500 tokens (Qdrant/Meilisearch) et 1200 tokens (LightRAG) de la section 1, converties en caractères. Le chevauchement reste fixé à 200 caractères dans les deux cas : la seule variable modifiée est la taille de la fenêtre. Comparez ensuite ces fichiers de rapport :
reports/lesson-06-chunk-profile/lesson-06-q24-chunks.md
reports/lesson-06-graph-profile/lesson-06-q24-chunks.md
L’indicateur est simple : combien de fenêtres, et à quel taux, contiennent à la fois la référence attendue et chaque terme de must_include ? Un nombre plus élevé peut étayer une hypothèse de segmentation. Ce n’est pas la précision de la récupération. Attendez-vous à ce que le taux du profil graph paraisse meilleur presque par construction — une fenêtre suffisamment grande contient trivialement le document entier, ce qui est précisément le compromis à nommer dans votre conclusion, pas à présenter comme une victoire.
3 · Examiner trois formes de questions
Après q24, lancez la même expérience pour q30 et q52. Ensemble, ces trois questions représentent des formes d’échec distinctes : une recherche de révision, une réponse qui couvre deux documents et une cible de récupération factuelle.
| Question | Forme | Source(s) attendue(s) | Fait requis | Élément à inspecter |
|---|---|---|---|---|
| q24 | Recherche de révision | PR-QA-MRD-009 | 45 | L’identité V4 reste-t-elle associée au délai modifié ? |
| q30 | Multi-étapes | PR-QA-MRD-001 + PR-QA-MRD-009 | 90 jours | Quelle source porte le fait et quelle seconde source manque encore ? |
| q52 | Recherche factuelle | PR-EXM-MRD-014 | 8 heures | Le fait RTO reste-t-il associé à l’identité du plan de continuité ? |
4 · Consigner les preuves avant/après
| Question | Configuration | Nombre/taux de cospatialité | Effet de limite observé | Régression ou coût | Conclusion délimitée |
|---|---|---|---|---|---|
| q24 | profil chunk (~500 tok) | _____ | _____ | _____ | _____ |
| q24 | profil graph (~1200 tok) | _____ | _____ | _____ | _____ |
| q30 ou q52 | Choisissez une paire contrôlée | _____ | _____ | _____ | _____ |
Complétez ce modèle de phrase : « Avec le profil ___ (___ caractères, chevauchement de ___), ___ fenêtres sur ___ placent le fait requis et l’identité de la source au même endroit. Cela étaye l’hypothèse selon laquelle ___. Cela ne prouve pas la qualité de la récupération en production, et cela ne signifie pas non plus que la fenêtre plus grande soit simplement meilleure ; je pèserais ensuite cela face au coût réel d’extraction de LightRAG, puis je réindexerais et relancerais l’évaluation de la récupération. »
5 · Exercice de récupération
Cas A : Le délai apparaît dans une fenêtre, mais pas la référence du document. Quelle correction cible réellement ce risque ?
Cas B : Après avoir augmenté le chevauchement, deux fenêtres voisines répètent presque le même texte. Quel risque notez-vous ?
Cas C : Passer du profil chunk au profil graph améliore l’indicateur indirect. Quelle est la prochaine étape honnête ?
Lien avec la mission
La qualité d’une réponse issue d’une SOP dépend souvent du fait que son titre, sa version, sa date et ses exceptions apparaissent ensemble. La segmentation participe donc à la qualité des citations et de la conformité : ce n’est pas un détail d’ingestion que l’on peut configurer puis oublier.
6 · Livrable et prochaine action
- Enregistrez les deux rapports de votre comparaison contrôlée de q24.
- Complétez le tableau des preuves pour q24 et pour q30 ou q52.
- Notez une conclusion délimitée, un risque de régression et la vérification « réindexation puis récupération » que vous exécuteriez ensuite.
Prochaine étape : leçon 7 — métadonnées, filtres et limites d’accès. Conservez cette trace : elle vous indiquera si un problème de récupération commence en amont des backends de recherche.
Des questions ? Posez-les-moi. À propos des rapports, de l’indicateur indirect, d’un effet de limite ou de la prochaine expérience à exécuter en conditions réelles : je suis votre enseignant pour cette formation.