PageIndex : un système open-source d'indexation PDF pour une recherche plus précise et logique 58

小编 ·

PageIndex : un système open-source d'indexation PDF pour une recherche plus précise et logique

PageIndex est un système open-source d'indexation de documents PDF conçu pour améliorer la précision de la recherche dans les longs documents professionnels et renforcer le raisonnement des LLM. En convertissant les PDF en une arborescence hiérarchique, il remplace la recherche traditionnelle par similarité sémantique vectorielle RAG et offre une récupération plus précise et plus logique.

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.

PageIndex:un système d'indexation de documents PDF open source.webp

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