Retour au blog
Technologie

RAG bien fait : stratégies de découpage sémantique

Scabera Team
9 min de lecture
2024-12-05

La précision du RAG est déterminée avant que le modèle ne voie un seul token. Elle est déterminée au moment de l'indexation, par la façon dont vous découpez vos documents. Un modèle auquel on fournit un contexte parfaitement pertinent produira des sorties précises. Un modèle auquel on fournit un contexte bruité, fragmenté ou mal aligné hallucine — avec assurance et à grande échelle. La stratégie de découpage est la partie du pipeline de récupération que la plupart des implémentations RAG d'entreprise font mal, puis qu'elles passent des mois à essayer de compenser par de l'ingénierie de prompt.

Ce billet couvre quatre approches de découpage, dans quels cas chacune l'emporte, et la réalité des benchmarks qui devrait tempérer à la fois l'optimisme et la sur-ingénierie.

Découpage à taille fixe : rapide, simple, inadapté

La stratégie de découpage par défaut dans la plupart des frameworks RAG — LangChain, LlamaIndex et leurs dérivés — est le découpage à taille fixe avec chevauchement. Typiquement : fenêtres de 512 tokens, chevauchement de 50 tokens, séparation sur des espaces blancs ou des limites de phrases dans la mesure du possible. C'est la méthode par défaut parce qu'elle est rapide, prévisible et sans dépendances. Vous pouvez indexer un corpus de 10 000 documents en une nuit sans infrastructure spécialisée.

Le problème est que les frontières sémantiques ne s'alignent pas avec les comptages de tokens. Une fenêtre de 512 tokens se termine là où elle se termine — pas là où la logique du document se termine. Dans un contrat juridique, une clause d'exception critique peut commencer au token 480 d'un fragment et se poursuivre dans le suivant. Ni l'un ni l'autre ne contient la clause complète. Une requête de récupération portant sur les « exigences de préavis de résiliation » peut correspondre faiblement aux deux fragments, ne récupérer aucun des deux comme premier résultat, et manquer complètement la réponse. Ou elle récupère les deux, et le modèle voit deux fragments incomplets qui se contredisent quand ils sont lus hors contexte.

Le chevauchement de 50 tokens est conçu pour atténuer ce problème. Ce n'est pas suffisant. Cinquante tokens de contenu répété réduisent les pires découpages aux frontières, mais ne résolvent pas le problème fondamental : la frontière du fragment a été tracée par le nombre de tokens, non par le sens. Pour des documents structurés et homogènes — courtes entrées de FAQ, fiches de spécifications produit avec un formatage cohérent — le découpage à taille fixe est souvent adéquat. Pour tout ce qui est plus complexe, c'est une source d'erreurs de récupération qui s'accumulent silencieusement.

Découpage sémantique : définition et cas où il l'emporte

Le découpage sémantique remplace les comptages fixes de tokens par une détection de sujets basée sur les embeddings. L'algorithme encode chaque phrase (ou petit paragraphe) sous forme de vecteur, puis calcule la similarité entre les phrases adjacentes. Lorsque la similarité tombe en dessous d'un seuil — indiquant une transition thématique — une frontière de fragment est insérée. Le résultat est des fragments correspondant à des sujets ou des arguments discrets plutôt qu'à des fenêtres de texte arbitraires.

L'implémentation nécessite un modèle d'embedding de phrases s'exécutant au moment de l'indexation. Les options vont des modèles légers optimisés pour la rapidité aux modèles multilingues plus grands optimisés pour la précision. L'indexation est 3 à 5 fois plus lente que le découpage à taille fixe car chaque phrase nécessite un passage d'inférence d'embedding. Pour un grand corpus, il s'agit d'un coût significatif — tant en calcul qu'en latence d'indexation pour les nouveaux documents.

Les gains de précision sont réels, mais ils ne sont pas uniformes. Le découpage sémantique l'emporte le plus nettement sur les documents longs et hétérogènes : contrats juridiques, rapports financiers, recommandations cliniques, documentation de politique. Ces documents contiennent un contenu dense et varié où un seul sujet peut s'étendre sur quelques paragraphes avant de changer abruptement. Le découpage à taille fixe fragmente ces sujets arbitrairement. Le découpage sémantique les préserve comme des unités récupérables discrètes.

Un exemple concret : un accord-cadre de services de 40 pages contient 22 dispositions juridiques distinctes. Le découpage à taille fixe à 512 tokens produit environ 80 fragments, dont beaucoup chevauchent deux dispositions. Le découpage sémantique produit environ 30 fragments, chacun correspondant à une ou deux dispositions connexes. Les requêtes de récupération portant sur des dispositions spécifiques atteignent le bon fragment en premier avec le découpage sémantique dans 70 à 80 % des cas, contre 40 à 55 % pour le découpage à taille fixe — un écart significatif quand chaque erreur de récupération est une hallucination potentielle.

Récupération parent-enfant : le meilleur des deux

La récupération parent-enfant est une stratégie hybride qui répond à une vraie tension dans la conception du découpage : les petits fragments récupèrent avec précision, les grands fragments fournissent un contexte cohérent. Vous voulez les deux. Vous pouvez avoir les deux.

L'approche : indexez des fragments enfants à grain fin (128 à 256 tokens) pour la récupération. Stockez leurs fragments parents (512 à 1024 tokens) pour la livraison du contexte. Au moment de la requête, la récupération s'exécute sur l'index des fragments enfants — petits fragments, correspondance précise. Lorsqu'un fragment enfant est récupéré, le système retourne son fragment parent comme contexte transmis au modèle.

L'exemple concret : un document de politique d'emploi comporte une section sur les droits aux congés qui s'étend sur six paragraphes. Le découpage à taille fixe crée deux fragments de 512 tokens, tous deux contenant des parties de la politique. L'indexation parent-enfant crée huit fragments enfants de 128 tokens à partir de cette section — un par paragraphe — et un seul fragment parent contenant les six paragraphes.

Une requête portant sur les « règles de report du congé parental » récupère le fragment enfant spécifique de 128 tokens traitant du report. Mais le contexte transmis au modèle est le fragment parent de 512 tokens — la section complète sur les droits aux congés, avec la clause de report dans son contexte approprié. Le modèle génère à partir d'un contexte complet. L'utilisateur obtient une réponse à la fois précise et cohérente.

La surcharge d'indexation est d'environ 2 fois celle du découpage à taille fixe : vous maintenez deux index, exécutez l'inférence d'embedding à deux granularités et avez besoin d'un mappage entre les fragments enfants et parents. Pour les bases de connaissances d'entreprise où la précision de la récupération a un impact mesurable sur l'activité, cette surcharge est presque toujours justifiée.

Réalité des benchmarks 2026

Le constat honnête, que l'écosystème des outils RAG a été lent à reconnaître : pour les collections de documents homogènes, l'avantage du découpage sémantique est plus modeste que ses partisans ne le prétendent.

Des benchmarks récents sur BEIR — la suite d'évaluation standard de la recherche d'information — et des benchmarks spécifiques au RAG émergents montrent que pour les types de documents structurés et prévisibles (FAQs produit, wikis techniques, bases de connaissances structurées avec un formatage cohérent), le découpage à taille fixe avec chevauchement de 50 tokens se situe à quelques points de pourcentage du découpage sémantique sur les métriques de récupération standard (NDCG@10, MRR). L'écart est réel, mais souvent pas assez important pour justifier la surcharge d'indexation.

Les gains du découpage sémantique se concentrent sur les documents longs et hétérogènes — les types juridiques, financiers et de politique décrits ci-dessus. Si votre base de connaissances se compose principalement de documents courts et structurés avec un formatage cohérent, le découpage à taille fixe est un choix défendable. Si votre base de connaissances contient un mélange de contenus longs et structurellement variés, le découpage sémantique ou la récupération parent-enfant améliorera significativement la précision.

L'implication pratique : ne choisissez pas une stratégie de découpage en fonction de ce qui paraît le plus sophistiqué. Commencez par analyser votre corpus de documents. Si 80 % de vos documents sont structurés et homogènes, le découpage à taille fixe avec chevauchement est probablement suffisant. Si 40 % sont des documents longs et hétérogènes qui contiennent la plupart des connaissances critiques pour l'entreprise, le découpage sémantique sera rentabilisé.

Découpage adapté au domaine

La limite de toutes les approches à stratégie unique est que les bases de connaissances d'entreprise réelles ne sont pas homogènes. Elles contiennent des contrats juridiques, de la documentation produit, des politiques RH, des rapports financiers, des runbooks d'ingénierie et des communications clients — chacun ayant des propriétés structurelles différentes et des stratégies de découpage optimales différentes.

Le découpage adapté au domaine applique une classification des documents avant le découpage. Un classifieur identifie le type de document — juridique, technique, politique, financier — et sélectionne la stratégie de découpage appropriée pour ce type. Les contrats juridiques bénéficient d'un découpage sémantique au niveau des clauses car la clause est l'unité atomique de sens juridique. La documentation produit bénéficie d'une récupération parent-enfant avec des fragments enfants au niveau des fonctionnalités car les utilisateurs interrogent des fonctionnalités spécifiques mais ont besoin d'un contexte au niveau de la section. Les politiques RH bénéficient d'un découpage à taille fixe avec détection de chevauchement sémantique car elles sont généralement bien structurées et courtes.

Scabera applique la classification des documents au moment de l'indexation pour attribuer à chaque document sa stratégie de découpage appropriée. Le classifieur s'exécute sur les métadonnées du document (nom de fichier, répertoire source, format du document) combinées à un échantillon de contenu léger. La classification ajoute environ 50 ms par document au moment de l'indexation — une surcharge négligeable pour l'amélioration de la précision qu'elle permet.

Le résultat est une base de connaissances où chaque document est découpé de manière optimale pour son type plutôt que contraint dans une stratégie universelle. Les systèmes RAG d'entreprise qui gèrent des bases de connaissances véritablement diversifiées — et la plupart des bases de connaissances d'entreprise le sont — ont besoin de cette approche adaptative. Le découpage à taille fixe appliqué uniformément à un corpus mixte est l'une des causes les plus fréquentes de sous-performance inexpliquée de la récupération dans les déploiements RAG d'entreprise. C'est aussi l'une des plus faciles à corriger une fois la cause profonde identifiée.

Prêt à synchroniser vos connaissances ?

Déployez une IA d'entreprise avec des citations obligatoires et un déploiement air-gap.