PageIndex
无向量、基于推理的 RAG 检索框架,通过构建文档层级树索引让 LLM 进行推理式检索,模拟人类专家翻阅文档的路径。亮点是完全抛弃向量数据库和 chunking,改用结构化索引+LLM 推理实现上下文感知的精准召回,在 FinanceBench 上达到 98.7% 准确率。支持自托管、MCP 和 API 集成,适合金融报告、法律文档等长文档分析场景。
README
PageIndex: 无向量、基于推理的 RAG
基于推理的 RAG ◦ 无需向量数据库或分块 ◦ 上下文感知 ◦ 类人检索
🌐 首页 • 🖥️ 聊天平台 • 🔌 MCP 与 API • 📖 文档 • 💬 Discord • ✉️ 联系我们
📢 更新
- 🔥 智能体驱动的无向量 RAG — 一个使用自托管 PageIndex 和 OpenAI Agents SDK 的简单 智能体、无向量 RAG 示例。
- 将 PageIndex 扩展到百万级文档 — PageIndex 文件系统是一个文件级树状层,让 PageIndex 能对整个语料库(而非单个文档)进行推理,从而实现大规模文档搜索。
- PageIndex Chat — 面向专业长文档的类人文档分析代理平台。也可通过 MCP 或 API 使用。
- PageIndex 框架 — 深入解读 PageIndex:一个 智能体驱动的上下文树状索引,使 LLM 能够对长文档执行 基于推理的上下文感知检索。
📑 PageIndex 简介
你是否对长专业文档的向量数据库检索精度感到沮丧?传统的基于向量的 RAG 依赖语义相似度而非真正的相关性。但相似度≠相关性——检索中我们真正需要的是相关性,而这需要推理。在处理需要领域知识和多步推理的专业文档时,相似度搜索往往力不从心。
受 AlphaGo 启发,我们提出了 PageIndex——一个无向量、基于推理的 RAG 系统,它从长文档中构建层次化树状索引,并利用 LLM 推理该索引,实现智能体驱动的上下文感知检索。 它模拟了人类专家通过树搜索在复杂文档中导航和提取知识的方式,使 LLM 能够思考并推理到最相关的文档章节。PageIndex 分两步进行检索:
- 生成文档的“目录”树状结构索引
- 通过树搜索执行基于推理的检索
🎯 核心特性
与传统的基于向量的 RAG 相比,PageIndex 具有以下特点:
- 无需向量数据库:利用文档结构和 LLM 推理进行检索,而非向量相似度搜索。
- 无需分块:文档按自然章节组织,而非人工分块。
- 更好的可解释性与可追溯性:检索基于推理,可追溯且可解释,附带页面和章节引用。告别不透明、近似的向量搜索("氛围检索")。
- 上下文感知检索:检索依赖你的完整上下文(例如对话历史和领域知识),并能轻松融入新上下文。
- 类人检索:模拟人类专家在复杂文档中导航和提取知识的方式。
PageIndex 驱动了一个基于推理的 RAG 系统,在 FinanceBench 上达到了最先进的 98.7% 准确率,在专业文档分析方面表现出优于基于向量的 RAG 解决方案的性能。详情请参见我们的博文。
📍 探索 PageIndex
想了解更多,请参阅对 PageIndex 框架的详细介绍。可查看本 GitHub 仓库的开源代码,以及食谱、教程和博客获取更多使用指南和示例。
PageIndex 服务可作为类 ChatGPT 的聊天平台使用,也可通过 MCP 或 API 集成。
🛠️ 部署选项
- 自托管——使用本开源仓库在本地运行(使用标准 PDF 解析)。
- 云服务——生产级流水线,具备增强的 OCR、树构建和检索功能,以获得最佳效果。立即通过我们的聊天平台试用,或通过 MCP 或 API 集成。
- 企业版——私有部署或本地部署。联系我们或预约演示了解更多详情。
🧪 快速上手
- 🔥 智能体驱动的无向量 RAG (最新) — 一个简单但完整的智能体无向量 RAG示例,使用 自托管 PageIndex 和 OpenAI Agents SDK。
- 试试无向量 RAG 笔记本——一个最小的实操示例,使用 PageIndex 进行基于推理的 RAG。
- 查看基于视觉的无向量 RAG——无需 OCR;一个最小的、基于视觉且推理原生的 RAG 流水线,可直接基于页面图像工作。
🌲 PageIndex 树结构
PageIndex 可以将长篇 PDF 文档转换为语义化的树结构,类似于_"目录"_但针对大语言模型的使用进行了优化。非常适合:财务报告、监管文件、学术教材、法律或技术手册,以及任何超出 LLM 上下文长度的文档。
以下是 PageIndex 树结构的一个示例。另可查看更多示例文档和生成的树结构。
...
{
"title": "金融稳定",
"node_id": "0006",
"start_index": 21,
"end_index": 22,
"summary": "美联储...",
"nodes": [
{
"title": "监控金融脆弱性",
"node_id": "0007",
"start_index": 22,
"end_index": 28,
"summary": "美联储的监控..."
},
{
"title": "国内与国际合作与协调",
"node_id": "0008",
"start_index": 28,
"end_index": 31,
"summary": "2023年,美联储合作..."
}
]
}
...
你可以使用本开源仓库生成 PageIndex 树结构;或者使用我们的 API 以获得更高质量的结果,这得益于我们增强的 OCR 和树构建流水线。
⚙️ 包使用说明
注意: 本包使用标准 PDF 解析。对于复杂 PDF 的使用场景,我们的云服务(通过 MCP 和 API)提供增强的 OCR、树构建和检索功能。
你可以按照以下步骤从 PDF 文档生成 PageIndex 树。
1. 安装依赖
pip3 install --upgrade -r requirements.txt
2. 设置 LLM API 密钥
在根目录下创建一个 .env 文件,填入你的 LLM API 密钥。通过 LiteLLM 支持多种 LLM:
OPENAI_API_KEY=你的_openai_key_在这里
3. 为 PDF 生成 PageIndex 结构
python3 run_pageindex.py --pdf_path /path/to/your/document.pdf
可选参数
你可以通过额外的可选参数自定义处理过程:
--model LLM 模型(默认:gpt-4o-2024-11-20)
--toc-check-pages 检查目录的页数(默认:20)
--max-pages-per-node 每个节点的最大页数(默认:10)
--max-tokens-per-node 每个节点的最大 token 数(默认:20000)
--if-add-node-id 是否添加节点 ID(yes/no,默认:yes)
--if-add-node-summary 是否添加节点摘要(yes/no,默认:yes)
--if-add-doc-description 是否添加文档描述(yes/no,默认:yes)
Markdown 支持
我们还提供了 PageIndex 的 Markdown 支持。你可以使用 `--md_path` 参数为 Markdown 文件生成树结构。
python3 run_pageindex.py --md_path /path/to/your/document.md
注意:在此模式中,我们使用 "#" 来确定节点标题及其级别。例如,"##" 为级别 2,"###" 为级别 3,依此类推。请确保 Markdown 文件格式正确。如果你的 Markdown 文件是从 PDF 或 HTML 转换而来,我们不推荐使用此模式,因为现有的大多数转换工具无法保留原始层次结构。建议改用我们的 PageIndex OCR(旨在保留原始层次结构)将 PDF 转换为 Markdown 文件,然后使用此模式。
智能体驱动的无向量 RAG:一个示例
关于使用 PageIndex 与 OpenAI Agents SDK 的简单、端到端**智能体驱动的无向量 RAG** 示例,请参见 examples/agentic_vectorless_rag_demo.py。
# 安装可选依赖
pip3 install openai-agents
# 运行演示
python3 examples/agentic_vectorless_rag_demo.py
📈 案例研究:PageIndex 领跑金融问答基准
Mafin 2.5 是一个基于 PageIndex 的金融文档分析推理型 RAG 系统。它在 FinanceBench 基准上取得了最先进的 98.7% 准确率,显著优于传统的基于向量的 RAG 系统。
PageIndex 的层次化索引和推理驱动的检索,能够从复杂的财务报告(如 SEC 文件和盈利披露文档)中精确导航并提取相关上下文。
查看完整的基准测试结果和我们的博文,了解详细的对比和性能指标。
🧭 资源
⭐ 支持我们
如果你喜欢我们的项目,请给我们一个星标 🌟。谢谢!
请引用本作品为:
Mingtian Zhang, Yu Tang and PageIndex Team,
"PageIndex: Next-Generation Vectorless, Reasoning-based RAG",
PageIndex Blog, Sep 2025.
或使用 BibTeX 引用。@article{zhang2025pageindex,
author = {Mingtian Zhang and Yu Tang and PageIndex Team},
title = {PageIndex: Next-Generation Vectorless, Reasoning-based RAG},
journal = {PageIndex Blog},
year = {2025},
month = {September},
note = {https://pageindex.ai/blog/pageindex-intro},
}
与我们联系
© 2026 Vectify AI