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

收藏
最新工具
选品酷BigTracker
选品酷BigTracker

一款由BQool比酷尔科技公司开发的专为寻找亚马逊爆款的卖家量身...

云知改写
云知改写

一个基于先进深度语义分析、智能 AI 及文本处理技术开发的论文查...

Remove.photos
Remove.photos

一款免费的图片背景去除工具,能 00% 自动在3秒内去除图片背景...

VideoIdeas Ai
VideoIdeas Ai

一个为 YouTube博主量身定制的视频内容生成工具。它能在短时...

OnePPT
OnePPT

一款创新型AIPPT智能生成工具,提供智能写作、PPT生成、模板...

Hugo
Hugo

一个使用 Go 语言开发的开源静态网站生成器,速度快,灵活性高。...

企鹅读伴
企鹅读伴

腾讯SSV数字支教实验室推出的AI阅读教育产品,由腾讯混元大模型...

Krillin AI
Krillin AI

一款本地的视频翻译、配音和语音克隆的工具,适用于哔哩哔哩、小红书...

Lovart AI
Lovart AI

一个全球首个适用于设计目的的自适应设计AI智能体平台,能将创意转...

ByeCode
ByeCode

一个新一代AI无代码开发平台,通过可视化拖拽组件,用户无需编码即...