PageIndex:一个开源PDF文档索引系统,可实现更精准、更逻辑化的检索

PageIndex是什么?

PageIndex 是一个开源的PDF文档索引系统,只要提升长篇专业文档的检索准确性和LLM的推理能力。它通过将PDF文档转化为层次化的树状结构,取代了传统的向量 RAG 语义相似度搜索,从而实现更精准、更逻辑化的检索。

PageIndex核心功能包括将文档转化为类似智能目录的树状结构,提供精准的页面定位,避免随意分块,并适配超长文档,轻松处理数百甚至上千页的内容。

工作原理是将 PDF 文档转化为语义树结构,结合查询分析、文档选择、节点选择和内容生成,最终提供准确的回答。与依赖向量数据库或传统分块方式的系统不同,PageIndex 完全免费且开源。它特别适合处理金融报告、监管文件、学术教科书、法律或技术手册,以及任何超出LLM上下文限制的文档。

PageIndex:一个开源PDF文档索引系统.webp

PageIndex核心功能

  • 文档处理:能够处理长文档,尤其是专业文档,通过构建搜索树结构来为基于推理的检索增强生成(RAG)做好准备。

  • 目录提取与处理

  • 可以从文档中提取目录内容,处理目录中有无页码的不同情况。

  • 对目录进行转换,将其转换为特定的 JSON 格式,方便后续处理。

  • 页码处理:为目录项添加物理索引,处理页码缺失或不正确的情况,通过多次尝试修复不正确的目录项。

  • 节点处理:对大节点进行递归处理,将其拆分为更小的节点,以满足 token 数量和页面数量的限制。

  • 验证修复:验证目录的准确性,计算准确率,并对不准确的结果进行修复。

PageIndex特点

  • 层次树结构:使 LLM 能够逻辑性地遍历文档,就像一个智能的、为 LLM 优化的目录。

  • 精确页面引用:每个节点包含其摘要和开始/结束页面的物理索引,实现精准检索。

  • 无任意分块:不使用任意分块,节点遵循文档的自然结构。

  • 支持大规模文档:设计用于轻松处理数百甚至上千页的文档。

PageIndex适用场景

金融领域

  • 财务报告分析:快速定位关键财务数据和指标。

  • 监管文件解读:精准查找法规条款,确保合规。

法律领域

  • 法律文件检索:高效查找法律条款和案例。

  • 合同审查:快速定位合同中的关键条款。

学术研究

  • 学术论文检索:快速找到研究结果和理论支持。

  • 教科书学习:便捷定位特定章节和知识点。

技术文档

  • 技术手册:快速查找操作步骤和技术参数。

  • 项目文档:高效检索项目中的关键信息。

企业内部

  • 内部报告:快速定位长篇报告中的关键内容。

  • 知识库管理:提升知识共享和检索效率。

医疗领域

  • 医学文献检索:快速找到研究结果和治疗方法。

  • 临床指南:精准定位临床操作指南。

教育领域

  • 在线课程资料:快速查找课程重点内容。

  • 考试复习资料:高效定位复习要点。

政府机构

  • 政策文件解读:快速查找政策条款。

  • 公共信息检索:提升公共服务效率。

PageIndex使用方法

1. 安装依赖项

pip3 install -r requirements.txt

2. 设置 Openai API 密钥

在根目录创建一个 .env 文件并添加你的 API 密钥:

CHATGPT_API_KEY=your_openai_key_here

3. 对 PDF 运行 PageIndex

python3 run_pageindex.py --pdf_path /path/to/your/document.pdf

还可以通过额外的可选参数自定义处理过程,例如:

--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

项目官网:https://vectify.ai/pageindex

收藏
最新工具
NB Map
NB Map

灰色执照做的免费在线三维地图生成工具。它能根据真实地形数据,做出...

Oldswf
Oldswf

专门提供经典Flash小游戏的网站,收录了超过5万多不同类型的游...

AutoClip
AutoClip

一款AI智能视频切片工具,能自动下载B站视频、剪辑精彩片段并生成...

EdClub
EdClub

一个提供高品质课程的学习平台,EdClub主要提供打字学习、词汇...

Resource Boy
Resource Boy

一个提供高质量免费样机等设计资源的网站,有很多素材,像材质、笔刷...

AlternativeTo
AlternativeTo

一个众包软件推荐平台,可以帮用户找到更好的应用和服务。你可以搜各...

DaYin.page
DaYin.page

一个强大、免费、易用的在线习题打印生成器网站,可以一键生成数学题...

Mobile Phone Museum
Mobile Phone Museum

一个非营利组织的手机博物馆,目的是存档和保存移动技术,并扩大对移...

BlackACE黑桃A
BlackACE黑桃A

一款可以将网站转换为安卓APP的工具,它可以够帮助个人开发者、创...

Aluo AI
Aluo AI

电商AI图片编辑平台,30 秒就能做出专业的商品图片,它能自动扣...