1. 传统向量RAG的困境与PageIndex的突破
在金融、法律等专业领域处理长文档时,我们经常遇到一个令人头疼的现象:明明检索出来的段落与问题高度相似,但生成的答案却总是差强人意。这种"形似神不似"的问题根源在于,传统基于向量相似度的检索方法(Vector RAG)存在三个致命缺陷:
-
上下文割裂:将完整文档机械切分为固定长度的chunk,破坏了原有的论证逻辑链。就像把一本教科书随机撕成碎片后,试图通过拼凑碎片来解答综合题。
-
结构缺失:忽略文档本身的目录层级和章节关联。好比使用没有目录和页码的书籍,只能盲目翻找内容。
-
相关性误判:单纯依赖向量距离衡量相关性,无法捕捉专业领域特有的语义关联。例如在金融报告中,"EBITDA"和"折旧摊销"在向量空间可能相距较远,但实际分析时必须关联理解。
PageIndex的创始人团队在开发Vectify金融分析系统时,发现传统方法处理SEC文件、招股书等材料时准确率始终徘徊在75%左右。经过深入分析,他们意识到问题的本质在于:专业文档的理解需要遵循人类阅读时的推理路径,而非简单的文本匹配。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. PageIndex核心技术解析
2.1 层次化索引构建
PageIndex的核心创新在于将文档转换为可导航的树状结构。处理一份300页的PDF招股书时,其构建过程如下:
-
目录提取:先用OCR识别前20页的目录结构(可通过
--toc-check-pages调整),识别章节标题和页码映射关系。对于Markdown文档则直接解析#标记的层级。 -
节点划分:按照章节层级自动划分节点,每个节点包含:
- 原始文本内容(不超过10页或20000 tokens,可通过参数调整)
- 节点ID(如
2.3.1表示第2章第3节第1小节) - 摘要(由LLM生成的章节要点)
- 父子节点指针
-
关系标注:用GPT-4分析节点间的逻辑关系,标注:
- 数据引用(如"财务报表见节点3.2")
- 论证依赖(如"风险因素基于节点1.4的假设")
- 对比关联(如"与节点4.5方案对比")
python复制# 生成的索引结构示例
{
"node_id": "3.1.2",
