Modèle / jeu de données
VectifyAI/PageIndex avatar
VectifyAI/PageIndex

PageIndex : RAG sans vecteurs via recherche arborescente par LLM

PageIndex : index de documents pour RAG sans vecteur et basé sur le raisonnement. Inspiré par AlphaGo, nous proposons **PageIndex**, un système RAG **sans vecteur** et **basé sur le raisonnement** qui construit un **index d'arborescence hiérarchique** à partir de documents longs et utilise des LLM pour **raisonner** *sur cet index* pour une **récupération agentique et contextuelle**.

35 654 étoiles3 143 forksPythonMIT

En bref

De quoi s’agit-il ?
Un projet Python open source qui remplace la similarité vectorielle par un index arborescent hiérarchique et le raisonnement d'un LLM pour la recherche dans de longs documents.
À qui s’adresse-t-il ?
PageIndex s adresse aux utilisateurs dont le besoin correspond exactement au README. Il ne convient pas sans vérification du contexte d exécution : lancez pip install -r requirements.txt, examinez README.md et observez pageindex sur un cas représentatif avant de retenir ce dépôt.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 1 jour.
En quel langage est-il écrit ?
Principalement Python, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Recherche sans vecteurs et basée sur le raisonnement

PageIndex est un dépôt Python pour l'indexation de documents dans la génération augmentée par récupération. Sa conception abandonne entièrement les plongements vectoriels et le découpage. Au lieu de cela, il construit un index arborescent hiérarchique à partir de longs PDF, semblable à une table des matières, et demande à un LLM de raisonner sur cet index pour trouver les sections pertinentes. Le README indique que l'approche s'inspire d'AlphaGo et tente de simuler la façon dont les experts humains naviguent dans des documents complexes.

Processus en deux étapes : construction de l'arbre et recherche arborescente

Le README décrit la recherche en deux étapes. D'abord, PageIndex génère une structure arborescente de type table des matières pour un document, avec des nœuds portant des titres, des identifiants, des plages de pages, des résumés et des nœuds enfants. Ensuite, il effectue une recherche agentique basée sur le raisonnement à travers l'arbre. La sortie s'appuie sur des références explicites de pages et de sections, ce que le projet appelle traçable et explicable. Cette structure est destinée aux longs documents professionnels tels que les rapports financiers, les dossiers juridiques et les manuels techniques.

Comparaison avec le RAG vectoriel

PageIndex liste cinq fonctionnalités clés qui le distinguent du RAG vectoriel traditionnel : pas de base vectorielle, pas de découpage, meilleure traçabilité et explicabilité, recherche sensible au contexte et recherche semblable à celle d'un humain. Le README soutient que la recherche vectorielle repose sur la similarité sémantique plutôt que sur la pertinence, et que similarité n'égale pas pertinence. PageIndex utilise la structure du document et le raisonnement d'un LLM pour obtenir des résultats dépendant du contexte complet de la requête, y compris l'historique de conversation et les connaissances du domaine.

Options de déploiement et services hébergés

Le dépôt propose trois voies de déploiement. L'auto-hébergement exécute le code open source localement avec une analyse PDF standard. Un service cloud fournit, selon le README, un pipeline de qualité production avec OCR amélioré, construction d'arbres et recherche, accessible via une plateforme de chat, MCP ou API. Le déploiement d'entreprise est disponible pour des environnements dédiés ou privés, y compris VPC et sur site. Le README note que les PDF complexes peuvent bénéficier du service cloud, mais ne donne pas de comparaison de performances entre auto-hébergement et pipeline cloud.

Utilisation du paquet et flux en ligne de commande

Pour utiliser le paquet, le README indique d'installer les dépendances avec pip3 install --upgrade -r requirements.txt, puis de créer un fichier .env à la racine avec une clé API LLM, comme OPENAI_API_KEY, avec support multi-LLM via LiteLLM. La commande principale est python3 run_pageindex.py --pdf_path /path/to/your/document.pdf. Les arguments optionnels incluent --model, --toc-check-pages, --max-pages-per-node, --max-tokens-per-node, et des drapeaux pour ajouter les identifiants de nœuds, les résumés et les descriptions de documents. Les fichiers Markdown sont pris en charge avec --md_path, et le README déconseille de convertir des PDF en Markdown avec des outils qui perdent la hiérarchie d'origine. Un mode aperçu PageIndex Flash génère des structures arborescentes heuristiquement sans LLM, le LLM n'étant utilisé que pour les résumés de nœuds ; il s'invoque avec --flash et s'affine avec --optimize.

Exemple agentique et notebooks de démarrage rapide

Un exemple complet de RAG agentique sans vecteurs se trouve dans examples/agentic_vectorless_rag_demo.py et utilise le SDK OpenAI Agents. Le README fournit deux commandes : pip3 install openai-agents et python3 examples/agentic_vectorless_rag_demo.py. Il existe aussi des notebooks pour un pipeline RAG minimal sans vecteurs et une version basée sur la vision sans OCR, qui travaille directement sur les images de pages. Ces exemples visent à montrer le chemin auto-hébergé, mais le README ne précise pas les exigences d'exécution ni la qualité de sortie attendue.

Étude de cas, écosystème et licence

Le README rapporte que Mafin 2.5, un système RAG basé sur le raisonnement propulsé par PageIndex, a atteint une précision de 98,7 % sur FinanceBench, un benchmark de questions-réponses sur documents financiers, et a surpassé les systèmes RAG vectoriels. Il renvoie vers un dépôt de benchmark et un article de blog. PageIndex est également présenté comme l'ancre d'un écosystème open source comprenant OpenKB, ChatIndex, ConDB et PageIndex MCP. Le dépôt est sous licence MIT, avec un droit d'auteur attribué à Vectify AI, 2025. La licence accorde les droits d'utiliser, copier, modifier, fusionner, publier, distribuer, sous-licencier et vendre des copies, et stipule que le logiciel est fourni tel quel, sans garantie. Le README lui-même ne décrit pas de services de support, de garanties de sécurité ou de résultats de production au-delà du benchmark rapporté.

Le périmètre réel de PageIndex

PageIndex répond au problème décrit dans le README, avec les limites que ce document expose. La présentation permet de comprendre le rôle du dépôt, mais elle ne vaut pas preuve pour les performances, la compatibilité ou la sécurité qui ne sont pas précisées. Le bon niveau de confiance vient des artefacts que le projet rend visibles et de la version examinée. Pour PageIndex, ce contrôle doit être consigné avec la version du dépôt, la commande exécutée et le résultat exact observé. Notez le fichier README.md, les paramètres réellement utilisés et la différence entre le comportement attendu et celui obtenu. Cette trace est particulièrement utile lorsque pageindex dépend d un service externe, d un système hôte ou d une autorisation locale. Elle permet de reprendre l essai sans transformer une démonstration ponctuelle en garantie générale. Les mainteneurs peuvent modifier l interface, le schéma ou les prérequis; relisez donc le README et les exemples liés avant une mise à jour. Toute décision d intégration doit rester limitée au périmètre que PageIndex documente effectivement.

Conclusion éditoriale

PageIndex s adresse aux utilisateurs dont le besoin correspond exactement au README. Il ne convient pas sans vérification du contexte d exécution : lancez pip install -r requirements.txt, examinez README.md et observez pageindex sur un cas représentatif avant de retenir ce dépôt.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté