传统RAG的检索准确率让你头疼?试试这个在金融问答基准测试中达到98.7%准确率的开源项目!
前言:RAG的困境
在使用大语言模型处理企业文档时,你是否遇到过这样的问题:
-
向量检索经常"文不对题",检索到的内容看起来相似但实际不相关 -
长文档被切成碎片后,上下文信息丢失严重 -
检索结果难以解释,不知道为什么返回了这些内容 -
面对专业文档(财报、法规、技术手册),检索准确率直线下降
这些问题的根源在于:传统向量检索依赖的是"相似性"而非"相关性"。但在真实场景中,我们需要的是相关性,而相关性需要推理。
今天介绍的开源项目 PageIndex,正是为了解决这个痛点而生。
PageIndex:无向量、推理式RAG
核心理念
PageIndex的设计灵感来源于AlphaGo——通过树搜索实现智能决策。它模拟人类专家阅读复杂文档的方式:
- 先看目录
:了解文档整体结构 - 定位章节
:根据问题推理应该查看哪个部分 - 逐层深入
:在相关章节中继续细化查找 - 精准定位
:最终找到最相关的内容
工作原理
PageIndex分两步完成检索:
第一步:构建"智能目录"
将PDF文档自动转换为层级树状结构,类似"目录"但更智能:
{
"title":"账号与访问管理",
"node_id":"0009",
"start_index":6,
"end_index":6,
"summary":"本章节规定了账号申请、使用和访问控制的管理要求...",
"nodes":[
{
"title":"账号管理",
"node_id":"0010",
"nodes":[
{"title":"账号申请流程","node_id":"0011"},
{"title":"新员工账号申请","node_id":"0012"},
{"title":"权限变更申请","node_id":"0013"}
]
}
]
}
第二步:推理式树搜索
当用户提问时,LLM不是简单地做向量匹配,而是像人类专家一样推理:
"用户问的是账号申请,我应该先看'账号与访问管理'这个章节,然后进入'账号管理'子章节,最后定位到'账号申请流程'和'新员工账号申请'…"
实战案例:企业制度文档问答
让我们看一个真实的执行结果。
场景
对一份14页的《信息安全管理制度》文档进行问答。
文档结构自动解析
PageIndex首先自动构建了文档的树状结构:
📄 文档: test.pdf
├── [0000] 目录 (页码 1-5)
├── [0001] 总则 (页码 5-5)
│ ├── [0002] 目的
│ ├── [0003] 适用范围
│ ├── [0004] 术语和定义
│ └── [0005] 职责与权限
├── [0009] 账号与访问管理 (页码 6-6)
│ ├── [0010] 账号管理
│ │ ├── [0011] 账号申请流程
│ │ │ ├── [0012] 新员工账号申请
│ │ │ └── [0013] 权限变更申请
│ │ └── [0014] 账号使用规范
│ └── [0017] 访问控制
├── [0022] 数据安全管理 (页码 8-8)
├── [0033] 网络安全管理 (页码 10-10)
├── [0044] 安全事件管理 (页码 11-11)
├── [0052] 安全培训与考核 (页码 12-12)
└── [0059] 附则 (页码 13-13)
共 63 个节点
问答执行
用户提问:如何申请账号?
推理过程:
用户问题是"如何申请账号",最相关的是账号申请的具体流程和新员工账号申请的细化说明。节点0011"账号申请流程"直接描述了申请步骤、责任人和时限;节点0012"新员工账号申请"对流程进行更细化的说明;节点0010"账号管理"作为上级节点,概述了账号申请与相关管理流程,便于把握整体要求。
检索到的节点:
-
[0011] 账号申请流程 (页码 6-6) -
[0012] 新员工账号申请 (页码 6-6) -
[0010] 账号管理 (页码 6-6)
最终答案:
账号申请方式如下:
- 新员工账号
- 由人力资源部在入职当天通过OA系统提交账号申请单
- 部门负责人在4小时内完成审批并给出审批意见
- 信息技术部在1个工作日内创建账号并提供账号信息
- 权限变更(如因职责调整、临时项目、岗位晋升/调动)
- 满足上述条件时提出申请
- 普通权限由部门负责人在1个工作日内审批
整个过程可解释、可追溯,清晰展示了检索路径和推理逻辑。
PageIndex的厉害之处
1. 98.7%准确率的硬实力
在金融领域权威基准测试 FinanceBench 上,基于PageIndex的Mafin 2.5系统达到了98.7%的准确率,大幅领先传统向量RAG方案。
这意味着在处理财报、SEC文件、法规文档等专业长文档时,PageIndex能提供远超传统方案的可靠性。
2. 四大核心优势
|
|
|
|
|---|---|---|
| 检索方式 |
|
|
| 文档处理 |
|
|
| 可解释性 |
|
|
| 专业文档表现 |
|
|
3. 技术创新点
- 无需向量数据库
:告别Pinecone、Milvus等向量数据库的部署和维护成本 - 无需分块调参
:不再纠结chunk size是512还是1024 - 类人检索逻辑
:像专家一样"先看目录,再定位章节" - 支持Vision RAG
:可直接处理PDF页面图像,无需OCR
优缺点客观分析
优点
准确性高
-
基于推理而非相似度,对专业文档的理解更准确 -
在金融、法律、技术等领域表现尤为突出
可解释性强
-
完整展示推理过程和检索路径 -
便于人工验证和调试 -
支持精确到页码的引用溯源
部署简单
-
无需向量数据库 -
仅依赖OpenAI API(可以改造) -
支持本地部署
灵活性好
-
支持PDF和Markdown格式 -
可自定义模型和参数 -
提供API和MCP集成
缺点
成本考量
-
每次检索需要多次调用LLM进行推理 -
相比向量检索,Token消耗更高 -
对于简单查询可能"杀鸡用牛刀"
延迟较高
-
树搜索需要多轮LLM调用 -
实时性要求极高的场景可能不适用
文档要求
-
对结构化程度较高的文档效果最佳 -
完全无结构的文档可能影响效果 -
超大规模文档(数百页以上)需要更多处理时间
依赖LLM能力
-
检索质量受底层LLM能力影响 -
需要较强的推理能力支持
适用场景
最佳适用场景
1. 金融文档分析
-
年报、季报分析 -
SEC文件检索 -
财务数据提取
2. 法律法规查询
-
合规性检查 -
法规条款定位 -
合同条款分析
3. 企业知识库
-
内部制度文档(如本文案例) -
操作手册查询 -
技术文档检索
4. 学术研究
-
教材内容检索 -
论文文献分析 -
技术规范查阅
不太适合的场景
- 实时聊天机器人
:延迟敏感场景 - 海量短文本检索
:向量检索更高效 - 成本敏感项目
:Token消耗较高 - 非结构化内容
:如社交媒体、聊天记录
快速上手
安装
git clone https://github.com/VectifyAI/PageIndex.git
cd PageIndex
pip3 install -r requirements.txt
配置
创建 .env 文件:
CHATGPT_API_KEY=your_openai_key_here
运行
# 生成文档树结构
python3 run_pageindex.py --pdf_path /path/to/your/document.pdf
# 本地检索验证
python3 local_retrieval.py --query "你的问题"
总结
PageIndex代表了RAG技术的一个重要演进方向:从"暴力相似性匹配"走向"智能推理式检索"。
对于需要处理专业长文档、追求高准确率、重视可解释性的场景,PageIndex是一个值得认真考虑的选择。虽然在成本和延迟方面有所取舍,但其在准确性和可解释性上的优势,足以弥补这些不足。
如果你正在为RAG的检索准确率头疼,不妨试试这个"让AI像人类专家一样阅读"的新思路。


