PageIndex : un système open-source d'indexation PDF pour une recherche plus précise et logique
Qu'est-ce que PageIndex ?
PageIndex est un système d'indexation de documents PDF open source qui améliore la précision de recherche des longs documents professionnels et les capacités de raisonnement des LLM. Il transforme les documents PDF en une structure arborescente hiérarchisée, remplaçant la recherche traditionnelle par similarité sémantique du RAG vectoriel, permettant ainsi une recherche plus précise et plus logique.
Les fonctionnalités principales de PageIndex incluent la transformation des documents en une structure arborescente similaire à un sommaire intelligent, offrant un positionnement précis des pages, évitant le découpage arbitraire, et s'adaptant aux documents très longs, traitant facilement des contenus de plusieurs centaines voire milliers de pages.
Le principe de fonctionnement consiste à transformer les documents PDF en une structure d'arbre sémantique, combinant l'analyse des requêtes, la sélection de documents, la sélection de nœuds et la génération de contenu, pour finalement fournir des réponses précises. Contrairement aux systèmes dépendant de bases de données vectorielles ou de méthodes de découpage traditionnelles, PageIndex est entièrement gratuit et open source. Il est particulièrement adapté au traitement des rapports financiers, des documents réglementaires, des manuels académiques, des documents juridiques ou techniques, ainsi que de tout document dépassant les limites de contexte des LLM.

Fonctionnalités principales de PageIndex
Traitement de documents :Capable de traiter de longs documents, en particulier des documents professionnels, en construisant une structure d'arbre de recherche pour préparer la génération augmentée par récupération (RAG) basée sur le raisonnement.
Extraction et traitement du sommaire
Peut extraire le contenu du sommaire du document, en gérant les différentes situations concernant la présence ou l'absence de numéros de page.
Convertit le sommaire dans un format JSON spécifique pour faciliter le traitement ultérieur.
Traitement des numéros de page :Ajoute des index physiques aux éléments du sommaire, gère les cas de numéros de page manquants ou incorrects, et répare les éléments de sommaire incorrects par plusieurs tentatives.
Traitement des nœuds :Traite récursivement les grands nœuds en les divisant en nœuds plus petits pour respecter les limites de nombre de tokens et de pages.
Vérification et correction :Vérifie l'exactitude du sommaire, calcule le taux de précision et corrige les résultats inexacts.
Caractéristiques de PageIndex
Structure arborescente hiérarchique : permet au LLM de parcourir logiquement le document, comme un sommaire intelligent optimisé pour les LLM.
Références de pages précises : chaque nœud contient son résumé et les index physiques des pages de début/fin, permettant une recherche précise.
Pas de découpage arbitraire : n'utilise pas de découpage arbitraire, les nœuds suivent la structure naturelle du document.
Prise en charge des documents à grande échelle : conçu pour traiter sans effort des documents de plusieurs centaines voire milliers de pages.
Cas d'utilisation de PageIndex
Domaine financier
Analyse des rapports financiers : localisation rapide des données et indicateurs financiers clés.
Interprétation des documents réglementaires : recherche précise des clauses réglementaires pour garantir la conformité.
Domaine juridique
Recherche dans les documents juridiques : recherche efficace des clauses juridiques et de la jurisprudence.
Révision de contrats : localisation rapide des clauses clés dans les contrats.
Recherche académique
Recherche d'articles académiques : localisation rapide des résultats de recherche et du soutien théorique.
Apprentissage avec des manuels : localisation aisée de chapitres spécifiques et points de connaissance.
Documentation technique
Manuels techniques : recherche rapide des procédures opérationnelles et des paramètres techniques.
Documentation de projet : recherche efficace des informations clés du projet.
En entreprise
Rapports internes : localisation rapide du contenu clé dans de longs rapports.
Gestion de la base de connaissances : amélioration du partage des connaissances et de l'efficacité de recherche.
Domaine médical
Recherche dans la littérature médicale : localisation rapide des résultats de recherche et des méthodes de traitement.
Guides cliniques : localisation précise des guides de pratiques cliniques.
Domaine éducatif
Supports de cours en ligne : recherche rapide du contenu clé des cours.
Supports de révision d'examens : localisation efficace des points essentiels à réviser.
Organismes gouvernementaux
Interprétation des documents politiques : recherche rapide des clauses politiques.
Recherche d'informations publiques : amélioration de l'efficacité des services publics.
Comment utiliser PageIndex
1. Installer les dépendances
pip3 install -r requirements.txt
2. Configurer la clé API Openai
Créez un fichier .env dans le répertoire racine et ajoutez votre clé API :
CHATGPT_API_KEY=your_openai_key_here
3. Exécuter PageIndex sur un PDF
python3 run_pageindex.py --pdf_path /path/to/your/document.pdf
Vous pouvez également personnaliser le processus de traitement avec des paramètres optionnels supplémentaires, par exemple :
--model OpenAI model to use (default: gpt-4o-2024-11-20) --toc-check-pages Pages to check for table of contents (default: 20) --max-pages-per-node Max pages per node (default: 10) --max-tokens-per-node Max tokens per node (default: 20000) --if-add-node-id Add node ID (yes/no, default: yes) --if-add-node-summary Add node summary (yes/no, default: no) --if-add-doc-description Add doc description (yes/no, default: yes)
Github :https://github.com/VectifyAI/PageIndex
Site officiel du projet :https://vectify.ai/pageindex
Assistant scénario▸
Apps AI
Actualités AI 