Chunking à Taille Fixe : Rapide et Fiable
Maîtrisez les bases : implémentez le chunking à taille fixe avec chevauchements pour des performances RAG cohérentes et prévisibles.
Pourquoi la taille fixe ?
Avantages :
- ✅ Simple à implémenter
- ✅ Nombre de chunks prévisible
- ✅ Rapide (pas d'IA nécessaire)
- ✅ Fonctionne pour tout contenu
Inconvénients :
- ❌ Coupe les phrases
- ❌ Ignore la sémantique
Implémentation de base
DEVELOPERpythondef fixed_chunk(text, chunk_size=500, overlap=50): chunks = [] start = 0 while start < len(text): end = start + chunk_size chunk = text[start:end] chunks.append(chunk) start += chunk_size - overlap # Avancer avec chevauchement return chunks
Avec limites de phrases
Mieux : ne pas couper en milieu de phrase :
DEVELOPERpythonimport re def chunk_by_tokens(text, chunk_size=500, overlap=50): # Diviser en phrases sentences = re.split(r'(?<=[.!?])\s+', text) chunks = [] current_chunk = [] current_size = 0 for sentence in sentences: sentence_size = len(sentence) if current_size + sentence_size > chunk_size and current_chunk: # Sauvegarder le chunk actuel chunks.append(' '.join(current_chunk)) # Commencer un nouveau chunk avec chevauchement overlap_sentences = current_chunk[-2:] if len(current_chunk) > 1 else current_chunk current_chunk = overlap_sentences + [sentence] current_size = sum(len(s) for s in current_chunk) else: current_chunk.append(sentence) current_size += sentence_size if current_chunk: chunks.append(' '.join(current_chunk)) return chunks
Implémentation LangChain
DEVELOPERpythonfrom langchain.text_splitter import RecursiveCharacterTextSplitter splitter = RecursiveCharacterTextSplitter( chunk_size=500, chunk_overlap=50, separators=["\n\n", "\n", ". ", " ", ""] ) chunks = splitter.split_text(long_text)
Choisir la taille de chunk
Petits chunks (200-300) :
- Récupération plus précise
- Mais moins de contexte
Chunks moyens (500-800) :
- Équilibré (recommandé)
Grands chunks (1000+) :
- Plus de contexte
- Mais récupération bruyante
Testez sur vos données !
Le chunking à taille fixe est éprouvé. Commencez ici, optimisez plus tard si nécessaire.
Tags
Articles connexes
Stratégies de Chunking : Optimiser la Segmentation des Documents
Maîtrisez les techniques de découpage de documents pour améliorer la qualité de la récupération. Apprenez les tailles de chunks, les chevauchements, les divisions sémantiques et les stratégies avancées.
Découpage Sémantique pour une Meilleure Récupération
Divisez les documents intelligemment en fonction du sens, pas seulement de la longueur. Apprenez les techniques de découpage sémantique pour le RAG.
Récupération de Document Parent : Contexte Sans Bruit
Recherchez dans de petits fragments, récupérez les documents complets : le meilleur de la précision et du contexte pour les systèmes RAG.