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

收藏
最新工具
暗壳AI
暗壳AI

家居AIGC营销与导购工具,它号称“一人即团队”,能够快速生成渲...

UntitledPen
UntitledPen

一个可以生成真实人声旁白的工具,也就是能够在一个平台上编写、编辑...

PageAI
PageAI

一款AI网站生成工具,就像一个小型创意工作室一样,能在短时间内根...

Seedance AI
Seedance AI

字节跳动推出的一款强大的视频生成工具,借助 Seedance 1...

ChatPs
ChatPs

ChatPs 是一款为 Photoshop 设计的插件,它背后是...

趣丸千音
趣丸千音

一个AI语音创作平台,专注提供一站式智能语音解决方案。集成文本转...

太极神器 TAICHI-flet
太极神器 TAICHI-flet

基于flet的一款多功能娱乐软件,实现了浏览图片、音乐、小说、各...

YIKM
YIKM

一个能在线玩小霸王、红白机、街机、FC 等经典游戏的地方,像《魂...

Bridgely
Bridgely

基于AI的实时通用翻译浏览器扩展,支持 60 多种语言,包括 W...

美团NoCode
美团NoCode

美团推出的一款对话式AI编程智能体产品,是一款不需要编程背景和经...