VectifyAI/PageIndex 是一个很有意思的 RAG 项目。它不从“再建一个向量库”开始,而是把长文档先整理成类似目录的树状结构,再让 LLM 沿着这棵树做推理式检索。
项目地址:VectifyAI/PageIndex
截至本文整理时,GitHub 页面显示项目约有 31.8k stars、2.7k forks,许可证为 MIT。README 给它的定位是:Vectorless, Reasoning-based RAG,也就是无向量库、基于推理的 RAG。
它想解决什么问题
传统 RAG 的常见路径是:切块、向量化、写入向量数据库,再用相似度搜索召回片段。这套方法简单、通用,也很成熟,但在长篇专业文档里容易遇到几个问题:
- 相似度不等于真正相关。
- 文档结构被切块打散,章节关系丢失。
- 召回结果可解释性弱,很难说明为什么命中这一段。
- 对财报、监管文件、法律文书、技术手册这类材料,问题往往需要跨章节推理。
PageIndex 的思路是反过来:先把文档组织成语义树,再让模型像人类读目录、翻章节、逐层定位一样查找相关内容。
PageIndex 的基本工作流
README 里把 PageIndex 的检索分成两步:
- 为文档生成类似
Table-of-Contents的树状结构索引。 - 通过树搜索做 reasoning-based retrieval。
这棵树不是简单的文件目录,而是面向 LLM 使用的文档结构。节点里会有标题、页码范围、摘要、子节点等信息。这样模型在回答问题时,不必一开始就面对大量零散 chunk,而是可以先判断应该进入哪个章节,再继续向下搜索。
这种方式更适合结构清晰但内容很长的文档,例如:
- 金融报告和 SEC filings。
- 监管材料和合规文档。
- 学术教材和论文。
- 法律文件。
- 技术手册和产品文档。
- 超过模型上下文窗口的大型 PDF。
和传统向量 RAG 的差异
PageIndex 的核心卖点可以概括成五点。
第一,不需要 Vector DB。它依赖文档结构和 LLM 推理来定位内容,而不是只做向量相似度搜索。
第二,不做传统 chunking。文档会按自然章节组织,而不是被切成固定长度片段。
第三,可解释性更强。检索路径可以对应到页码、章节和树节点,比“向量相似度命中某段文本”更容易追踪。
第四,检索是上下文感知的。问题、对话历史、领域背景都可以影响树搜索路径。
第五,更接近人类专家读文档的方式。人通常不是把整本文档切成小块再算相似度,而是先看目录,再定位章节,最后读细节。
这并不意味着向量库没有价值。更准确的说法是:PageIndex 适合那些“语义相似不够,需要结构和推理参与”的长文档场景。
本地怎么跑
README 提供了本地自托管方式。先安装依赖:
|
|
然后在项目根目录创建 .env,写入 LLM API key。项目通过 LiteLLM 支持多模型:
|
|
对 PDF 生成 PageIndex 结构:
|
|
也可以处理 Markdown:
|
|
常见可选参数包括:
|
|
README 里也提醒,本地开源版本使用标准 PDF 解析。如果是复杂 PDF,项目方的云服务会提供增强 OCR、树构建和检索流程。
Agentic Vectorless RAG 示例
项目还提供了一个 agentic vectorless RAG 示例,使用自托管 PageIndex 和 OpenAI Agents SDK。安装可选依赖后运行:
|
|
这个示例的价值在于,它把 PageIndex 从“生成文档树”推进到“让 Agent 使用文档树检索”。如果你正在做企业知识库、财报问答、法规问答或技术文档 Agent,这个示例比单纯看 README 更值得跑一遍。
云服务、MCP 和 API
PageIndex 不只是一个 GitHub repo。项目页面还给了几类入口:
- 自托管:用开源代码本地运行,适合试验和可控部署。
- Chat Platform:类似 ChatGPT 的文档分析平台。
- MCP / API:方便接入现有 Agent 或自动化流程。
- Enterprise:面向私有化或本地部署。
这说明它的定位不是单纯的 demo,而是想把“推理式文档检索”做成一套可集成的文档智能基础设施。
适合哪些场景
PageIndex 比较适合这些任务:
- 长 PDF 问答。
- 财报、年报、招股书、监管文件分析。
- 法律和合规文档检索。
- 技术手册问答。
- 多章节教材或论文检索。
- 需要可解释检索路径的企业知识库。
- 给 Agent 提供结构化文档上下文。
如果你的材料本身很短、结构不明显,或者只是普通 FAQ,传统 embedding + vector DB 可能已经够用。PageIndex 的优势更容易出现在长文档、强结构、专业领域和需要推理的问题里。
需要注意什么
第一,PageIndex 仍然依赖 LLM。树构建、摘要和检索质量会受模型能力、提示词、文档解析质量影响。
第二,本地版本使用标准 PDF 解析,复杂扫描件、图表密集型 PDF、版式混乱材料可能需要 OCR 和更强的预处理。
第三,无向量库不等于零成本。树构建本身也会消耗模型调用和时间,尤其是大规模文档库。
第四,它更像是文档结构索引和推理检索框架,不是直接替代所有 RAG 技术栈。实际生产里,也可能和向量检索、关键词检索、权限控制、缓存、审计系统一起使用。
小结
PageIndex 的有趣之处在于,它把 RAG 的重点从“文本相似度召回”转向“文档结构 + LLM 推理”。对于长文档和专业文档,这个方向很值得关注。
如果你正在做企业文档问答、金融报告分析、法规检索或技术手册 Agent,可以把 PageIndex 当成一个新的 RAG 架构参考:先让文档有结构,再让模型沿着结构推理,而不是一开始就把所有内容切碎丢进向量库。
参考来源: