PageIndex:三步把长PDF接进你的AI问答
【免费下载链接】PageIndex📑 PageIndex: Document Index for Vectorless, Reasoning-based RAG项目地址: https://gitcode.com/GitHub_Trending/pa/PageIndex
200页的PDF里要查一个参数,总不能从第一页翻到最后一页。PageIndex 是一个无向量数据库的文档索引框架,先把长文档变成树状"目录",再由 AI 在树上推理定位章节,省去搭向量库的麻烦。
🎯 它到底在解决什么问题
传统向量 RAG(检索增强生成)把文档切成碎片、按语义相似度找,但相似不等于相关,你要的东西未必"长得像"你的问题。PageIndex 不切块,它先把整份文档变成一棵层级树索引,每个节点是一个章节,带摘要和页码范围,模型在树上推理:先判断该进哪个章节,再读那一节原文。整条检索路径都有章节和页码引用,答案可以逐条核对。
🛠️ 从零到跑通
- 环境与克隆:本地需要 Python 3.8+,先拿到代码:
git clone https://gitcode.com/GitHub_Trending/pa/PageIndex cd PageIndex- 安装依赖:依赖版本都已固定,一条命令装完:
pip3 install --upgrade -r requirements.txt- 核心配置与生成:在根目录建一个
.env文件写入OPENAI_API_KEY(索引由 LLM 生成,换其他厂商可改 config.yaml 里的 model),然后跑一份 PDF:
python3 run_pageindex.py --pdf_path /path/to/document.pdf跑完会输出一个接近"目录"的树结构 JSON,这就是后面问答依赖的索引。文档很长、想快速看结构,加--flash参数:纯启发式提取、不消耗 LLM,摘要才交给模型生成。
🔌 接入客户端
索引建好后,把它接进你天天用的 AI 客户端:
- 在 PageIndex 的开发者页面创建账号,拿到 MCP 服务端点和 API 密钥。
- 打开 Claude 桌面版,进入 设置 → Developer → MCP Servers,新增一个服务器。
- 填入服务端点和密钥,保存并重启客户端,Claude 就能调用 PageIndex 的检索工具。
- 在 Cursor 里打开设置搜索 "MCP",用同一套端点信息新增一条配置。
- 连接成功后,直接在对话里上传 PDF 提问,不用再切别的工具。
📊 落地场景速览
财报分析:问题——200页的 SEC 报告里 EBITDA 调整项在哪、依据是什么。操作——把问题丢给 PageIndex,它先在目录树上锁定 MD&A 和附注两个节点,再读这些章节的原文。结果——回答自带章节和页码引用,翻到对应页就能逐条核对。
技术手册查询:问题——某个 API 参数的默认值是多少、写在哪个章节。操作——用本地生成的树索引让模型按节点查找,不用扫全文。结果——直接返回参数说明和所在章节号,上下文比整段搜索结果完整得多。
🕳️ 调优与常见坑
- 章节太密或摘要被截断时,调 config.yaml 里的
max_page_num_each_node(默认10页)和max_token_num_each_node(默认20000 tokens)两个阈值。 - 目录检测默认只看前 20 页(
toc_check_page_num),目录藏在更深的文档要调大它,否则可能漏识别目录。 - Markdown 模式靠
#数量定层级,而普通转换工具从 PDF 转出的文件层级往往已丢失,直接跑 PDF 模式更稳。
📚 延伸阅读
- 树状搜索教程:搜索示例
- 多文档搜索教程:多文档检索
- RAG入门notebook:RAG示例
你现在可以把长 PDF 放进 Claude 或 Cursor,直接提问,答案里会带着页码引用。
【免费下载链接】PageIndex📑 PageIndex: Document Index for Vectorless, Reasoning-based RAG项目地址: https://gitcode.com/GitHub_Trending/pa/PageIndex
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考