Chunk Overlap (RAG)
iaDéfinition
Le Chunk Overlap (chevauchement de chunks) est un parametre du decoupage documentaire (chunking) dans les pipelines RAG qui specifie le nombre de tokens ou caracteres qui se repetent entre deux chunks consecutifs. Par exemple, avec une taille de chunk de 512 tokens et un overlap de 128 tokens, le chunk 2 commence 128 tokens avant la fin du chunk 1, et ainsi de suite. La necessite du chunk overlap : lors d'un decoupage strict sans chevauchement, des informations importantes peuvent se retrouver 'coupees' a la frontiere entre deux chunks, les rendant incomprehensibles en isolation. Par exemple, si une definition sur 3 phrases se trouve a cheval sur deux chunks, aucun des deux chunks ne contient la definition complete. Le chunk overlap garantit que ces informations frontieres sont presentes dans au moins un chunk complet. Les valeurs recommandees : en pratique, un overlap de 10-20% de la taille du chunk est standard (e.g. 100-200 tokens d'overlap pour des chunks de 1000 tokens). Une valeur trop faible rate les contextes aux frontieres; une valeur trop elevee augmente le nombre de chunks et les couts d'embedding et de retrieval, avec des diminishing returns. Interaction avec les strategies de chunking : le chunk overlap s'applique principalement au Fixed-Size Chunking et au Sliding Window Chunking. Le Semantic Chunking (qui decoupe aux frontieres semantiques comme les paragraphes) necessite moins d'overlap car les frontieres sont naturellement coherentes. Le Hierarchical Chunking (chunks a plusieurs granularites) est une autre approche pour eviter la perte de contexte frontalier. L'impact mesurable sur la qualite RAG : des etudes empiriques montrent qu'un overlap de 10-15% ameliore les scores de QA de 3-7% comparativement a un chunking sans overlap, en particulier pour les questions dont la reponse chevauche les frontieres de chunks. En revanche, augmenter l'overlap au-dela de 25% apporte peu de benefice supplementaire et augmente significativement le nombre de chunks et les couts.
Configuration Chunk Overlap avec LangChain
from langchain.text_splitter import RecursiveCharacterTextSplitter
# Configuration standard : 1000 chars, 200 chars d'overlap (20%)
splitter = RecursiveCharacterTextSplitter(
chunk_size=1000, # Taille max du chunk en caracteres
chunk_overlap=200, # Chevauchement (20%)
length_function=len, # ou tiktoken.encoding_for_model('gpt-4').encode
separators=['\n\n', '\n', '. ', ' ', ''] # Ordre de priorite de split
)
chunks = splitter.split_text(document_text)
print(f'{len(chunks)} chunks | overlap: {splitter.chunk_overlap}')Impact overlap sur le nombre de chunks
| Chunk size | Overlap | Chunks (10K tokens doc) |
|---|---|---|
| 512 | 0 (0%) | 20 |
| 512 | 64 (12.5%) | 23 |
| 512 | 128 (25%) | 27 |
| 512 | 256 (50%) | 40 |
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h