VectifyAI/PageIndex

📑 PageIndex: Document Index for Vectorless, Reasoning-based RAG

PageIndex – 无向量、基于推理的检索增强生成

是什么 – PageIndex 是一个开源的 RAG 引擎,用从文档布局构建的 层次化树索引 替代了传统的向量存储 + 分块流程。在查询时,LLM 会遍历该树,利用其自身推理能力(以及完整的对话上下文)定位最相关的部分。结果是,无需任何向量数据库,即可实现 可追溯、可解释、上下文感知 的检索步骤。


核心理念

概念 PageIndex 的实现方式
索引构建 将 PDF(或其他文本密集型文档)解析为反映文档逻辑结构(章节、节、标题)的树。轻量级 LLM 模型(index=)对每个节点进行摘要;树本身由布局生成,而非嵌入向量。
检索 提出问题后,chat 模型(chat=)在树上进行推理,逐步选择节点,如同人类读者一样。模型可看到完整的对话历史、领域知识和任何外部上下文,因此相关性由推理驱动,而非单纯相似性。
无向量 / 无分块 由于索引是确定性的树,无需向量数据库、相似性搜索或固定大小的分块。
可解释性 模型在树中行进的路径是可见的,可提供清晰的引用(本地为页面级,云端为行级)。

快速开始(本地模式)

pip install -U pageindex
import os
from pageindex import PageIndexClient

os.environ["OPENAI_API_KEY"] = "your-openai-key"

client = PageIndexClient(
    index="gpt-5.6-luna",   # 用于构建树的低成本模型
    chat="gpt-5.6-sol",    # 执行推理搜索的模型
)

# 上传 PDF 并获取文档标识符
doc_id = client.submit_document("report.pdf")['doc_id']

# 提问 – 客户端会自动为您遍历树
answer = client.chat("2023 年的运营利润率是多少?", doc_id=doc_id)
print(answer)

相同的 SDK 通过设置 index="cloud" 并提供 PAGEINDEX_API_KEY,也可用于 PageIndex Cloud。

主要特性

  • 基于树的索引,反映文档的逻辑层级。
  • LLM 驱动的搜索:模型决定下一步探索哪个节点,支持多步推理。
  • 本地与云端模式 – 可在本地部署整个流程,或由 PageIndex 的托管服务处理 OCR、图像理解及大规模语料库(文件系统层)。
  • 成本效益高:索引成本 ≈ $0.001/页;查询成本与文档长度无关,因为仅将访问过的节点发送给模型。
  • 可追溯引用 – 每个回答均可回溯至精确页面(本地)或行(云端)。
  • 即插即用 SDK,支持流式传输、多文档搜索,以及 OpenAI/Claude 代理框架的预构建工具。

基准测试与性能(如 README 所述)

  • 索引构建 – $0.001/页,PDF 页数从 9 到 1,098 页,耗时 13 秒至 4.5 分钟。
  • 查询成本 – 在 52 页时比将整份 PDF 输入模型便宜 2.1 倍,在 420 页时便宜 16.6 倍;超过约 800 页时,全 PDF 方法会超出上下文窗口。
  • 准确率 – 在 FinanceBench QA 基准测试中,PageIndex 达到 98.7% 的准确率,远高于向量 RAG 的典型 ~50%。
  • OSS 基准测试 – 附带的 PageIndex-OSS-Benchmark 仓库对 34 份 PDF(共 1,945 页)中的 62 个查找问题进行评估,展示了模型大小与每查询成本之间的清晰权衡曲线。

典型应用场景

  • 财务报告、监管文件、法律合同 – 相关性依赖领域知识和多步推理。
  • 技术手册与医学文献 – 长篇结构化文档,需要精确引用。
  • 企业知识库 – 尤其适用于无需管理向量数据库即可实现可解释检索的场景。

许可与贡献

该仓库为开源项目(README 未列出具体许可证,请查看仓库中的 LICENSE 文件)。欢迎通过拉取请求贡献代码;项目还提供商业云服务,用于 OCR、图像理解及大规模索引。

更多信息


PageIndex 让您像人类阅读一样从巨大而复杂的 PDF 中检索信息,无需向量或不透明的相似性分数的开销。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目