Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Chunk Overlap (RAG)

ia

Dé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 sizeOverlapChunks (10K tokens doc)
5120 (0%)20
51264 (12.5%)23
512128 (25%)27
512256 (50%)40

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis