PageIndex:无向量推理式RAG引擎

无需向量数据库和分块,通过构建层级树索引并进行推理式检索,实现类人的上下文感知文档检索。

Star 数
★ 39k
最近更新
今天
License
MIT
主语言
Python

30 秒速览

运行形态
代码库 / SDK云服务 / SaaSMCP 服务器
可在哪里用
通用 · 跨平台OpenAI API
费用
有免费版,另有付费云服务
上手难度
低 · 几分钟可跑通
开始前需要
Python 3LiteLLM API 密钥Shell / 命令行网络访问本地文件系统
典型场景
金融分析师需要从SEC文件或财报中快速提取特定信息,进行投资研究。
不适合
  • 需要完全离线、数据不出本地的团队(云端索引与OCR需上传文档)
  • 处理扫描件或复杂版式文档的用户(本地版仅支持文本型PDF)
  • 追求稳定生产可用的团队(Flash模式仍为预览版)

这个 Agent 能做什么,适合哪些场景?

PageIndex 是一个开源的、无向量、基于推理的RAG系统,它从长文档中构建层级树状索引,并利用LLM在该索引上进行推理检索。与传统的基于向量相似度的RAG不同,PageIndex通过树搜索模拟人类专家的阅读方式,强调相关性与可解释性。该仓库提供自托管的Python包,可生成PDF或Markdown文档的树状结构,并支持标准PDF解析和可选的PageIndex Flash快速生成。项目声称在FinanceBench金融文档问答基准上达到98.7%的准确率,显著优于向量RAG方案。部署方式包括自托管、云服务(通过API/MCP)和企业私有化部署。

PageIndex将PDF或Markdown文档转换为层级树状索引(类似目录),每个节点包含标题、摘要和页码。检索时,LLM对树进行推理式搜索,返回最相关的文档部分。核心操作包括:运行run_pageindex.py生成树结构,支持--pdf_path或--md_path参数;可选--flash模式进行启发式快速生成;通过examples/agentic_vectorless_rag_demo.py演示Agentic RAG。最终输出是带有node_id、start_index、end_index和summary的JSON树结构。

  1. 金融分析师需要从SEC文件或财报中快速提取特定信息,进行投资研究。
  2. 法律团队在数千页的法规文件中查找相关条文,确保合规性。
  3. 医疗研究人员从大量学术论文中检索特定研究结果,用于文献综述。
  4. 技术文档编写者从产品手册中查找API细节,更新用户指南。
  5. 企业知识管理需要可追溯、可解释的文档检索,用于内部问答系统。

如何安装或部署这个 Agent?

从GitHub克隆仓库,安装依赖:pip3 install --upgrade -r requirements.txt。需要设置LLM API密钥,在根目录创建.env文件并添加OPENAI_API_KEY=your_key(支持LiteLLM多模型)。

如何使用这个 Agent?

使用python3 run_pageindex.py --pdf_path /path/to/document.pdf生成PDF树结构,或使用--md_path处理Markdown文件。可选参数包括--model(默认gpt-4o-2024-11-20)、--max-pages-per-node等。快速模式:python3 run_pageindex.py --flash --pdf_path ...。对于Agentic RAG,安装openai-agents并运行python3 examples/agentic_vectorless_rag_demo.py。

这个 Agent 有哪些优点和局限?

优点
  • 无向量数据库和无分块,避免了传统RAG的相似度与相关性不匹配问题。
  • 树状索引和推理式检索提供了更好的可追溯性和可解释性。
  • 在FinanceBench上达到98.7%的准确率,优于向量RAG。
  • 支持自托管、云服务和企业部署,灵活性强。
局限
  • 依赖LLM推理,导致检索延迟和成本较高,且需要API密钥。
  • 标准PDF解析对复杂版面效果有限,高质量解析需使用云服务。
  • 自托管版本仅支持PDF和Markdown,部分高级功能(如OCR)需付费。
  • 项目仍处于早期阶段,Flash模式为预览版,可能不稳定。

这个 Agent 与同类方案有什么区别?

与传统的向量数据库RAG系统(如基于FAISS或Pinecone的方案)相比,PageIndex强调推理而非相似度,声称在专业文档上准确率更高。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
PageIndex:无向量推理式RAG引擎 当前 33 · 缺口较多 代码库 / SDK免费版 + 付费版 ★ 39k 今天 Python OpenAI API
AI 银行账单自动化 48 · 缺口较多 命令行工具免费 + 模型费 ★ 627 2 个月前 Jupyter Notebook OpenAI API
可控复杂 RAG 智能体 40 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 1.6k 27 天前 Jupyter Notebook OpenAI API
CAMEL 多智能体框架 61 · 存在缺口 代码库 / SDK免费 + 模型费 ★ 18k 7 天前 Python OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
33/ 100 五分制 1.7 / 5
本评测基于 2026年8月9日 的源码;此后该项目发布了 18 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 0/29
可靠稳定 6/14
适用触发 9/18
规范维护 8/18
有效结果 7/13
证据核验 3/8
查看各维度的扣分理由
信任安全0 / 29 · 0.0/5

证据显示:仓库未提供任何权限模型、用户确认机制、数据流透明性说明、敏感数据处理策略、依赖安全审计、外部影响评估、回滚机制或来源归属。所有信任相关标准均无证据支持,故评分为0。

可靠稳定6 / 14 · 2.1/5

证据显示:代码和测试在内部逻辑上一致,测试覆盖了关键路径,但依赖版本固定(如litellm==1.84.0)且未提供依赖可用性保障;错误处理在测试中有体现,但生产环境中的失败消息未明确。因此自洽性2分,依赖可用性1分,失败消息1分。

适用触发9 / 18 · 2.5/5

证据显示:README明确了目标受众(处理长文档的专业用户)和场景(金融、法律等),能力边界(标准PDF解析,复杂PDF需云服务)有说明,但触发精度(如命令行参数)未详细说明,环境适配(如操作系统、Python版本)未明确。因此受众与场景2分,能力边界2分,触发精度1分,环境适配1分。

规范维护8 / 18 · 2.2/5

证据显示:README结构清晰,安装步骤明确,示例和FAQ存在,已知限制(如标准PDF解析)有提及,MIT许可证明确,但版本控制与变更日志缺失,维护责任未明确(未验证发布者)。因此信息架构2分,安装说明2分,命名稳定性1分,示例与FAQ 2分,已知限制1分,许可证2分,版本与变更日志0分,维护责任1分。

有效结果7 / 13 · 2.7/5

证据显示:输出为树结构JSON,可直接用于RAG,边际价值在于无需向量数据库,但成本效益未量化(如API成本、性能对比)。因此输出可用性2分,边际价值2分,成本效益1分。

证据核验3 / 8 · 1.9/5

证据显示:README声称98.7%准确率,但未提供可复现的验证步骤;跨来源佐证有限(仅提及外部基准);事实与推断未明确分离。因此声明可追溯性1分,跨来源佐证1分,事实与推断分离1分。

风险与缓解建议
  • 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
  • 未提供任何安全或隐私相关文档,使用前需自行评估数据泄露风险。
  • 依赖版本固定但未提供安全审计,建议检查依赖漏洞。
  • 性能声明(98.7%准确率)缺乏可复现的验证步骤,需谨慎对待。
证据充分度:低 评估于 2026年8月9日 审查版本 d5c4e62c2017 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.4.4 PageIndex 0.4.4 — cheaper than vector index; also runs on your Claude subscription
    发布说明摘录
    - Unified SDK: vectorless RAG. Local or cloud. Index or chat. - Faster: trees are created from layout stats. - Cheaper than vector index: LLMs only write node summaries. - Runs on your Claude subscription. Index, to chat, to agent integration, one client. Local mode needs no server, no vector DB, no PageIndex API key. ```python client = PageIndexClient() client.submit_document("report.pdf") client.chat("What does the report conclude?") ``` Highlights …
    在 GitHub 查看 ↗
  2. v0.4.3 PageIndex 0.4.3 — cheaper than vector index; also runs on your Claude subscription
    发布说明摘录
    - Unified SDK: vectorless RAG. Local or cloud. Index or chat. - Faster: trees are derived from layout stats. - Cheaper than Vector Index: LLMs only write node summaries. - Runs on your Claude subscription. Index, to chat, to agent integration, one client. Local mode needs no server, no vector DB, no PageIndex API key. ```python client = PageIndexClient() client.submit_document("report.pdf") client.chat("What does the report conclude?") ``` Highlights …
    在 GitHub 查看 ↗
  3. v0.4.2
    发布说明摘录
    PageIndex is now cheaper to build than a vector index. - The PageIndex SDK, local or cloud — vectorless, reasoning-based RAG, end to end. - Much faster indexing — the PageIndex Flash engine gets the tree from layout stats: no LLM involved for the structure generation itself, LLMs only write the node summaries, and tree expansion proposes a wave of nodes concurrently. ```python client = PageIndexClient() client.submit_document("report.pdf") client.chat("What does the report conclude?") ``` Index, to chat, to agent integration, one client. …
    在 GitHub 查看 ↗

常见问题

需要付费的云服务才能使用核心功能吗?
自托管开源版本可以免费使用,但仅支持标准PDF解析,且需要自己的LLM API。云服务提供增强OCR和更高质量的树构建,可能收费。
支持哪些LLM提供商?
通过LiteLLM支持多提供商,如OpenAI、Anthropic等,但需要设置对应的API密钥。
树结构生成后如何用于RAG?
可以使用生成树结构进行推理式检索,或参考提供的Agentic RAG示例(使用OpenAI Agents SDK)构建完整RAG流程。
如果PDF扫描件或复杂版式如何处理?
建议使用云服务或PageIndex OCR(单独提供),自托管版本可能无法准确提取文本。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents