VectifyAI / PageIndex
VectifyAI/PageIndex
📑 PageIndex:面向无向量、基于推理的RAG系统的文档索引工具。
项目概览
项目概述
PageIndex 是一个开源的、无向量(Vectorless)的检索增强生成(RAG)引擎,由 VectifyAI 开发。它摒弃了传统 RAG 中依赖向量数据库和文本分块(Chunking)的做法,转而通过构建文档的层级树状索引,并利用大语言模型(LLM)的推理能力进行上下文感知的检索。PageIndex 旨在模拟人类专家阅读和提取复杂文档知识的方式,提供可追溯、可解释的检索结果。该项目在金融文档问答基准 FinanceBench 上取得了 98.7% 的准确率,显著优于传统向量 RAG 方案。
核心功能
- 无向量数据库:不依赖向量相似度搜索,而是利用文档结构和 LLM 推理进行检索。
- 无文本分块:文档按自然章节组织,而非人工切块。
- 可追溯与可解释:检索由推理驱动,并基于明确的页面和章节引用,结果可追溯、可解释。
- 上下文感知检索:检索结果依赖于完整上下文(如对话历史和领域知识),并易于融入新上下文。
- 类人检索:模拟人类专家在复杂文档中导航和提取知识的方式。
- 层级树索引:将长文档转换为类似“目录”的语义树结构,优化用于 LLM 和 AI 代理。
- 多部署选项:支持自托管、云服务和私有化部署(企业版)。
- PageIndex Flash:预览功能,可在数秒内生成树结构,无需 LLM(仅用于摘要)。
- Markdown 支持:支持从 Markdown 文件生成树结构。
适用与不适用场景
适用场景:
- 长篇幅专业文档的检索增强生成,如财务报告、法律文件、监管文件、技术手册、医学文献、学术教科书等。
- 需要高精度、可解释检索结果的场景,如金融分析、法律研究、医疗咨询等。
- 需要上下文感知检索的对话式 AI 应用。
- 希望避免向量数据库和分块复杂性的 RAG 应用。
不适用场景:
- 对检索速度要求极高、且文档结构简单的场景(传统向量 RAG 可能更合适)。
- 需要处理大量短文本或非结构化数据的场景。
- 对成本敏感且无法承担 LLM 推理开销的场景。
- 需要实时处理超大规模文档库的场景(需结合 PageIndex File System 等扩展方案)。
技术架构与依赖
- 编程语言:Python
- 核心依赖:LiteLLM(多 LLM 支持)、OpenAI Agents SDK(可选,用于代理示例)、标准 PDF 解析库。
- 架构:PageIndex 将 PDF 文档转换为层级树结构(类似目录),每个节点包含标题、节点 ID、起始/结束索引和摘要。检索时,LLM 通过树搜索进行推理,实现上下文感知的检索。
- 部署模式:自托管(开源仓库)、云服务(增强 OCR 和树构建)、企业版(VPC/本地部署)。
安装与快速开始
- 克隆仓库:
git clone https://github.com/VectifyAI/PageIndex.git cd PageIndex - 安装依赖:
pip3 install --upgrade -r requirements.txt - 设置 LLM API 密钥:在根目录创建
.env文件,添加你的 LLM API 密钥(如 OpenAI):OPENAI_API_KEY=your_openai_key_here - 生成 PageIndex 树结构:
或使用 Markdown 文件:python3 run_pageindex.py --pdf_path /path/to/your/document.pdfpython3 run_pageindex.py --md_path /path/to/your/document.md
典型使用方法
- 生成树结构:使用
run_pageindex.py脚本,可指定 PDF 或 Markdown 文件,并可通过可选参数调整模型、目录检查页数、每节点最大页数等。 - PageIndex Flash:使用
--flash参数快速生成树结构,--optimize可优化树结构。 - Agentic Vectorless RAG 示例:运行
examples/agentic_vectorless_rag_demo.py,需先安装openai-agents。 - Notebook 示例:提供
cookbook/pageindex_RAG_simple.ipynb和cookbook/vision_RAG_pageindex.ipynb,可在 Colab 中运行。 - API 和 MCP:可通过 PageIndex Developer 集成 API 或 MCP 服务。
配置与部署要点
- 自托管:使用标准 PDF 解析,适合简单 PDF。复杂 PDF 建议使用云服务或企业版。
- 云服务:提供增强 OCR、树构建和检索,可通过 MCP 或 API 集成。
- 企业版:支持 VPC 或本地部署,需联系销售。
- 环境变量:通过
.env文件配置 LLM API 密钥。 - 可选参数:
--model、--toc-check-pages、--max-pages-per-node、--max-tokens-per-node、--if-add-node-id、--if-add-node-summary、--if-add-doc-description等。 - Markdown 模式:使用
#标题层级,需确保格式正确;从 PDF/HTML 转换的 Markdown 不推荐使用。
限制、风险与许可证
- 许可证:MIT License。
- 限制:自托管版本使用标准 PDF 解析,对复杂 PDF 效果有限;Markdown 模式依赖标题层级,转换工具可能丢失层级。
- 风险:依赖 LLM 推理,可能产生较高成本;检索准确性受 LLM 能力影响。
- 其他:仓库资料未提供更多限制信息。
官方链接
- GitHub 仓库:https://github.com/VectifyAI/PageIndex
- 官方网站:https://vectify.ai/pageindex
- 文档:https://docs.pageindex.ai
- 开发者中心:https://pageindex.ai/developer
- 博客:https://pageindex.ai/blog
- Chat 平台:https://chat.pageindex.ai
- Discord:https://discord.com/invite/VuXuf29EUj
信息来源和分析时间
- 信息来源:GitHub 仓库 README、官方文档、博客、发布页面。
- 分析时间:2026年7月10日(基于最新发布版本 v0.3.0.dev3 的日期)。