À propos du projet

PageIndex est un moteur de génération augmentée par récupération (RAG) open source qui remplace la recherche de similarité vectorielle par un index arborescent hiérarchique et le raisonnement d'un LLM. Le projet soutient que la similarité n'est pas la même chose que la pertinence, et que la pertinence sur des documents professionnels longs nécessite du raisonnement plutôt qu'une recherche d'embeddings. Comment ça fonctionne : la récupération se fait en deux étapes. Premièrement, une étape d'indexation génère un index sous forme d'arbre pour chaque document. Deuxièmement, une étape de récupération effectue une recherche agente dans cet arbre en utilisant le raisonnement du LLM, similaire à la façon dont un expert humain navigue dans un long rapport. Le README indique que la structure arborescente est extraite de la mise en page du document sans LLM, le modèle d'index ne faisant que résumer et affiner cet arbre, de sorte qu'un modèle de base serait suffisant au moment de l'indexation. Le modèle de chat, qui effectue la recherche dans l'arbre, est celui pour lequel le README recommande d'utiliser le meilleur modèle disponible. Installation et utilisation : le SDK s'installe avec pip install -U pageindex. Un PageIndexClient est configuré avec un modèle d'index et un modèle de chat, un document est soumis pour obtenir un doc_id, et les questions sont posées via client.chat(). Le README mentionne un mode local qui exécute l'indexation, la récupération et le chat sur la machine de l'utilisateur avec leur propre clé LLM, et un mode cloud qui pointe le même client vers PageIndex Cloud à l'aide d'une clé API. Le mode cloud est décrit comme prenant en charge l'analyse, l'OCR, la compréhension d'images, la construction d'index arborescents et le stockage géré, avec des citations au niveau des lignes et un serveur MCP, tandis que le mode local est positionné pour les PDFs riches en texte et les workflows locaux avec des citations au niveau des pages. Le README décrit également l'intégration avec des frameworks d'agents tels que le OpenAI Agents SDK et le Claude Agent SDK, ainsi qu'une couche PageIndex File System permettant de raisonner sur un corpus entier plutôt que sur un seul document. Les benchmarks rapportés dans le README incluent un coût d'indexation local d'environ 0,001 $ par page, des temps d'indexation d'environ 13 secondes à 4,5 minutes pour des documents allant de 9 à 1 098 pages, une comparaison affirmant que l'entrée PDF native coûte 2,1 fois plus cher à 52 pages et 16,6 fois plus cher à 420 pages, et une précision rapportée de 98,7 % sur FinanceBench. Ces chiffres proviennent de la documentation et du dépôt de référence du projet et ne sont pas vérifiés indépendamment ici. Les cas d'utilisation cibles mentionnés dans le README comprennent les rapports financiers, les documents juridiques, les dépôts réglementaires, les manuels techniques, la littérature médicale et les manuels académiques.