PageIndex localise la réponse dans la structure du document via un Reasoning Tree, au lieu de rechercher des passages similaires. Développé par VectifyAI et open-source, il améliore précision, explicabilité et scalabilité sur documents structurés. Découvrez comment et quand l adopter pour vos chatbots documentaires.
Besoin d'aide ? Découvrez les solutions de notre agence Openai GPT.
Pourquoi le RAG classique échoue sur documents structurés
Le pipeline RAG échoue souvent parce qu’il découpe arbitrairement le document et confond similarité et pertinence, ce qui casse le contexte, réduit l’explicabilité et pose des problèmes de scalabilité. Le concept RAG (Retrieval-Augmented Generation) décrit par Lewis et al., 2020, améliore les réponses générales, mais montre ses limites sur des documents structurés et volumineux.
Découpage arbitraire et perte de contexte
- Le découpage classique segmente le texte en chunks de taille fixe.
- Cette approche écrase les tableaux, les notes de bas de page et les références croisées qui nécessitent une continuité contextuelle pour être interprétés correctement.
- Impact en production : erreurs d’interprétation des chiffres, reprises erronées de clauses contractuelles, et réponses incohérentes sur des passages dépendants d’un en-tête ou d’une légende.
Similarité != Pertinence
- Les retrievers basés sur similarité lexicale ramènent des passages proches sur le plan wording, pas forcément répondant à la question.
- Exemple contractuel : Une clause évoquant « responsabilité » peut être similaire lexicalement sans contenir la limitation de garantie recherchée.
- Impact en production : réponses fausses mais convaincantes, augmentation des vérifications manuelles et perte de confiance utilisateur.
Boîte noire et manque d’auditabilité
- Les étapes de scoring et de fusion des passages sont souvent opaques, rendant difficile la traçabilité des sources.
- Impact réglementaire : en finance, droit ou santé, impossibilité d’auditer une réponse peut entraîner non-conformité, sanctions ou retrait de produit.
Scalabilité et bruit sur documents longs
- Sur manuels, normes ou contrats de plusieurs centaines de pages, le retriever ramène beaucoup de bruit — passages superficiellement proches mais non pertinents.
- Impact en production : coûts de calcul et stockage qui grimpent, latence augmentée, et dégradation du taux de bonne réponse sur corpus très volumineux.
| Problème | Symptôme | Cause technique | Conséquence produit | Manifestation dans le chatbot |
| Découpage arbitraire | Réponses hors contexte | Chunks fixes coupant tables/notes | Errances sémantiques, revues manuelles | Réponses incohérentes ou contradictoires |
| Similarité ≠ Pertinence | Réponses plausibles mais incorrectes | Matching lexical sans compréhension | Perte de confiance, coût de vérification | Informations non pertinentes citées comme sources |
| Boîte noire | Impossibilité d’audit | Scoring/fusion non traçables | Risque réglementaire et commercial | Impossible d’expliquer l’origine d’une réponse |
| Scalabilité | Latence et bruit | Volume de passages récupérés élevé | Coûts opérationnels élevés, dégradation perf. | Réponses lentes et moins précises sur longs docs |
Qu est ce que PageIndex et quel est son principe
PageIndex remplace la recherche par similarité par une navigation structurée du document via un Reasoning Tree qui indexe sections et sous-sections pour localiser là où un expert lirait.
Idée du Reasoning Tree. Arborescence logique du document qui représente la hiérarchie réelle des idées (chapitres, sections, sous-sections). Arbre conçu pour permettre un parcours raisonné : on descend vers les nœuds pertinents plutôt que d’agréger des passages similaires. Arbre qui encode des points d’entrée explicites et des points de décision (questions/indices) pour guider la lecture automatique.
Navigation versus retrieval par similarité. La recherche par similarité (embedding + nearest neighbors) renvoie des fragments proches sémantiquement mais souvent hors-contexte et redondants. La navigation structurelle cible les emplacements que consulterait un expert, réduisant le bruit et les faux positifs. La méthode priorise contexte hiérarchique plutôt que proximité vectorielle pure.
Pourquoi c’est plus explicable et précis sur documents structurés. La navigation fournit un chemin interprétable (quel chapitre, quelle section) et permet de justifier les réponses par la position documentaire. La précision augmente sur les documents à structure claire car l’index comprend les relations parent/enfant, évitant la fusion de sections disjointes qui se ressemblent sémantiquement.
Auteur et source. Projet porté par VectifyAI et publié en open-source. Référez-vous au dépôt GitHub officiel du projet pour les détails techniques, exemples d’implémentation et limitations.
Voici deux exemples concrets :
- Recherche d’une clause contractuelle référencée : Navigation directe vers « Article 7 → Sous-section B » permettant d’extraire la clause exacte et sa portée temporelle.
- Renseignement dans un manuel technique : Descente contrôlée vers « Chapitre 4 → Maintenance → Étapes 2-4 » pour récupérer la procédure complète sans mélanger avec des pages d’aperçu.
Checklist opérationnelle pour savoir si PageIndex convient :
- Document avec structure hiérarchique claire (chapitres, sections).
- Présence d’une table des matières ou d’un sommaire exploitable.
- Besoin d’explicabilité et de traçabilité des sources.
- Cas d’usage où le contexte de section change le sens (contrats, manuels, normes).
Comment construire et interroger un Reasoning Tree
On construit le Reasoning Tree en parsant la table des matières et les en-têtes pour créer des nœuds hiérarchiques, puis on effectue une recherche par navigation guidée par la question plutôt qu une recherche de similarité.
Phase de construction — points clés.
- Parser le document : Extraire la table des matières et tous les en-têtes (H1, H2, H3). Permet de définir la hiérarchie des sections.
- Créer des nœuds avec métadonnées : Pour chaque nœud stocker titre, position (offset), résumé (first/lead sentences), et nombre de tokens estimés.
- Gérer éléments non hiérarchiques : Détecter tableaux, figures, annexes ; les marquer comme nœuds spéciaux avec heuristiques de résumé (captions + valeurs clés).
Stratégies pour garder le contexte.
- Agglomération de paragraphes liés : Combiner paragraphes courts voisins si le saut d’en-tête est absent, pour éviter perte de sens.
- Heuristiques tables/figures : Extraire légende, colonnes clés, et ajouter un mini-FAQ si valeurs numériques importantes.
Phase de recherche — algorithme.
- Tree Search guidé par la question : Commencer à la racine, scorer enfants par pertinence probabiliste (LLM score ou modèle léger de pertinence) + heuristiques (présence mots-clés, entités, dates).
- Scoring des nœuds : Combiner score sémantique P(relevant|node,question) et score contextuel (proximité section, densité d’informations).
- Itération avec LLM : Interroger le LLM pour décider de descendre dans un sous-nœud ou d’extraire le texte complet du nœud courant.
Interaction LLM — prompts types.
- Prompt de navigation : « Résume en 1 phrase si ce nœud répond à la question X. Puis indique si on doit explorer les enfants. »
- Prompt d’extraction : « Donne les faits essentiels de ce nœud et cite les phrases sources (offsets). »
- Règle pratique : Demander d’explorer un sous-nœud quand score d’incertitude > seuil (p.ex. 0.4) et/ou contenu estimé utile > coût token.
# Parsing to nodes (pseudocode)
def parse_to_nodes(document):
toc = extract_toc(document)
nodes = []
for entry in toc:
content = extract_section(document, entry)
nodes.append({
"title": entry.title,
"offset": entry.offset,
"summary": summarize_lead(content),
"tokens": estimate_tokens(content),
"type": detect_type(content) # text/table/figure
})
return build_tree_from_nodes(nodes)
# Basic tree traversal
def traverse(node, question, llm):
score = llm.score_relevance(node.summary, question)
if score < threshold and node.children:
for child in node.children:
result = traverse(child, question, llm)
if result: return result
if score >= threshold:
return llm.extract_facts(node.content, question)
return None
# ask(document, question)
def ask(document, question, llm):
tree = parse_to_nodes(document)
return traverse(tree.root, question, llm)| Étapes RAG | Étapes PageIndex (Reasoning Tree) |
| Indexer par embeddings; recherche par similarité; concaténation de passages puis prompt. | Parser hiérarchie; créer nœuds riches en métadonnées; navigation guidée par la question; extraction ciblée. |
| Fort coût de tokens en extraction large; risque d’hallucination par mélange de passages. | Réduction des tokens consultés; meilleure traçabilité source; décision itérative pour descendre dans l’arbre. |
Quand adopter PageIndex et comment l industrialiser
Adoptez PageIndex pour documents structurés et critiques où explicabilité et précision sont nécessaires. Conservez RAG pour recherches libres sur corpus hétérogènes.
PageIndex privilégie une navigation arborescente et explicable du contenu, utile lorsque l’intégrité de la réponse prime sur la créativité. RAG reste pertinent pour exploration large et discovery sur corpus très variés (voir Lewis et al., 2020 pour les fondements du RAG).
Cas d’usage prioritaires :
- Contrats et accords : Pour extraire clauses exactes et fournir preuves de source.
- Manuels techniques : Pour guider diagnostics, procédures et suivre versions.
- Réglementations : Pour assurer conformité avec auditable trace des extraits.
- FAQ d’entreprise : Pour réponses consistantes et maintenance centralisée.
- Knowledge bases hiérarchiques : Pour navigation par topic, sections et pages.
Indicateurs à mesurer pendant un pilote :
- Précision de la réponse (exact-match / answer span) : Objectif initial >90% sur corpus critique.
- Taux de hallucination : Mesure des réponses non sourcées; objectif <5% en production.
- Latence end-to-end : Objectif <1s pour lookup, <2s pour réponse finale selon SLA.
- Coût API par 1000 requêtes : Estimation et seuil d’alerte financier.
- Facilité d’audit : Temps pour retrouver la source (cible <10s par requête).
Plan d’adoption pragmatique en 5 étapes :
- Sélection du corpus pilote : Choisir 1–3 types documents représentatifs et critiques.
- Construction du tree : Définir granularité (page, section, paragraphe) et métadonnées.
- Intégration LLM et UI : Connecter le moteur de navigation au modèle et interface utilisateur.
- Métriques et tests utilisateur : Lancer scénarios réels, A/B contre RAG, collecte KPIs.
- Montée en charge : Automatiser ingestion, monitoring, versionning et plans de rollback.
Contraintes et limites à surveiller :
- Documents non structurés : Scans et texte libre réduisent l’efficacité du tree.
- Dépendance au LLM pour la navigation : Le modèle peut mal interpréter intention sans règles claires.
- Coûts d’indexation et maintenance : Réindexation fréquente pour documents vivants.
| Entrées nécessaires | Métriques cibles | Ressources | Étapes | Livrables |
| Corpus échantillon (100–1000 doc), schéma tree | Exact-match ≥90%, Hallucination ≤5%, Latence ≤2s | 1 architecte IA, 1 dev backend, 1 product owner, infra cloud | Sélection → Indexation → Intégration → Tests → Scale | Index pilote, dashboard KPIs, rapport utilisateur, playbook d’exploitation |
Prêt à adopter PageIndex pour vos documents ?
PageIndex propose un changement de paradigme : naviguer la structure d un document via un Reasoning Tree plutôt que de rechercher des passages similaires. Cela corrige les problèmes récurrents du RAG classique : perte de contexte, réponses hors sujet, opacité et mauvaise scalabilité sur documents longs. Pour vous, l avantage concret se traduit par des réponses plus précises, traçables et adaptées aux contextes métiers critiques. Lancez un pilote sur un corpus structuré, mesurez précision et hallucinations, et vous pourrez rapidement améliorer la confiance utilisateur et la conformité de vos chatbots documentaires.
FAQ
A propos de l’auteur
Franck Scandolera — expert & formateur en Tracking avancé server-side, Analytics Engineering, Automatisation No/Low Code (n8n) et intégration IA en entreprise. Responsable de l agence webAnalyste et de l organisme de formation Formations Analytics. J ai accompagné Logis Hôtel, Yelloh Village, BazarChic, Fédération Française de Football, Texdecor sur analytics, intégration IA et solutions de recherche documentaire. Dispo pour aider les entreprises => contactez moi.

