无 Embedding、无向量数据库的 RAG 方法:PageIndex 技术解析

简介: PageIndex是无向量、基于推理的RAG框架,通过构建文档层次化目录树,让大模型像人类专家一样逐层推理导航,精准定位答案,支持可追溯、高相关性检索,专长于财报、法律、政策等结构化长文档。

PageIndex 是一种无向量、基于推理的检索增强生成(RAG)方法,无需 Embedding、分块或向量数据库即可从长文档中检索答案。

它不依赖语义相似度搜索,而是从文档中构建一棵层次化的目录树(TOC),再由大语言模型对该结构进行推理。模型先借助文档的层级结构定位最相关的章节,然后导航至该章节,生成精确且带引用的答案。

传统 RAG 通过相似度进行检索。PageIndex 通过对结构的推理进行检索。

财务报告、法律合同、监管文件、政策文档、学术论文这种结构清晰的长文档都是它的优势领域。

多数 RAG 系统依赖 Embedding 和向量数据库:把文档拆成块,转成向量,用余弦相似度找答案。但相似度不是推理。PageIndex 采用了另一个方法,通过文档结构的推理而非语义搜索来检索信息。文档不再是一堆扁平文本,而是一个带层级的结构体系,类似于一本附有目录的教科书。

下面用经典电影《Sholay》来演示其工作原理。

核心思想:先理解结构,再进行搜索

把《Sholay》的剧本或详细剧情概要输入 PageIndex,它不会将文档拆分为任意的 500 词分块,而是构建故事的结构树:

 Document → Hierarchical Index → Reasoning-Based Retrieval → Answer

传统路径则是:

 Document → Chunks → Embeddings → Vector DB → Similarity Search → Answer

阶段一:创建树结构(索引阶段)

第一阶段完成结构化索引,分为两步。

1、结构检测

LLM 读取剧本,检测自然边界:场景标题("SCENE 1 — THE TRAIN ROBBERY")、角色介绍、幕次分隔、重要叙事转折。它依赖的是叙事结构,而非固定的分块大小。

  • 🎬 深色根节点 → 代表完整文档
  • 🔵 蓝色 → 主要故事段落
  • 🔴 红色 → Gabbar 相关故事线
  • 🟣 紫色 → 关键事件节点
  • 🟠 金色 → 具体事实事件

2、层次化映射

PageIndex 构建一棵树。根节点是 Sholay,第一级分支可能包括:序幕、招募 Veeru 和 Jai、Ramgarh 的生活、Gabbar 的恐怖统治、最终决战。每个分支还可以包含子节点。

以 Gabbar's Den 为例,其摘要为:"本节涵盖 Gabbar Singh 的出场介绍、'Kitne aadmi the'台词以及对手下的惩罚。"

每个节点包含:

  • title
  • nodeId
  • summary
  • child nodes

关键在于LLM 为每个节点写一段简洁的语义描述的摘要说明该章节发生了什么,这段摘要在后续查询阶段将充当检索信号。

阶段二:查询阶段

假设用户提问:

为什么 Thakur 失去了双臂?

完整剧本不会被整体发送,不会生成 Embedding,也不会执行向量相似度搜索。LLM 接收到的只有三样东西:用户的问题、层次化映射(JSON 树)、每个节点的摘要。不是完整剧本,只有结构。

LLM 如何找到答案(推理,而非数学计算)

步骤 1:结构搜索

LLM 读取这棵树,看到"Thakur 家族的屠杀""Gabbar 的复仇""Ramgarh 的生活"等节点。根据摘要进行推理:答案很可能存在于涉及 Gabbar 和 Thakur 受伤的章节中。这是逻辑推理,不是向量相似度计算。

步骤 2:深入探索

PageIndex 随后仅检索这些特定节点对应的原始文本。不扫描 50 页内容,只取回 2-3 个聚焦章节。

步骤 3:最终回答

LLM 读取这段高度相关的文本片段,给出回答:

Thakur 失去双臂是因为 Gabbar Singh 为报复 Thakur 多年前的逮捕行为而将其双臂砍断。

同时附上引用:

 (nodeId: massacre-thakur-family)

检索过程可解释、可追溯。

PageIndex 与传统 RAG 的差异(针对结构化文档)

传统向量 RAG 系统中,搜索"Thakur 的手臂"可能返回:Jai 和 Veeru 打斗中使用手臂的场景、包含相似词汇的对话,以及"手"或"受伤"的无关提及。向量搜索按语义接近度检索,不考虑叙事相关性——本质上是在做"氛围匹配"。

PageIndex 不存在这个问题。屠杀场景的摘要已经明确写道:

"本节描述了 Gabbar 如何攻击 Thakur 的家族并砍断了他的双臂。"

LLM 不是在猜测,而是在导航。

PageIndex 有效的原因

它将两个认知任务分开处理:导航,确定答案应该存在的位置;提取,仅阅读该章节并生成答案。

这与人类的阅读方式相同。想知道小说中某件事为何发生,不会随机翻阅每一页,而是直接翻到相关事件所在的章节,PageIndex 让 LLM 遵循同样的行为模式。

适用场景

这种架构在以下场景中表现突出:财务报告、法律文档、政策文件、监管备案、学术研究、长篇叙事内容。凡是结构重要性超过表面相似度的场合,都是它的用武之地。

总结

传统 RAG 的假设:相关性等于语义相似度。PageIndex 的假设:相关性等于结构化推理。

差异看似微小,在长篇层次化文档中却影响深远。PageIndex 没有去造一个更好的搜索引擎,而是画了一张导航地图,让 LLM 先思考,再阅读。

https://avoid.overfit.cn/post/5a974d0889904edeb9cdca7945e132be

by Vishal Mysore

目录
相关文章
|
4月前
|
自然语言处理 数据库 开发者
PageIndex: 一种基于 LLM 推理的 RAG 架构(干货科普)
本文介绍开源项目 PageIndex,提出“推理即检索”新架构。它摒弃传统向量切块,利用 LLM 基于树状索引进行结构化导航,在 FinanceBench 评测中准确率达 98.7%。该方案有效解决长文档检索碎片化问题,虽涉及成本权衡,但为高精度知识问答提供了新的选择。
4232 3
|
3月前
|
机器学习/深度学习 文字识别 数据挖掘
BookRAG:面向层级文档的树-图融合RAG框架
BookRAG是专为书籍类层级文档设计的新型RAG框架,首创“树+图+链接+Agent”四元结构:构建融合版面层级树与知识图谱的BookIndex,通过GT-Link双向映射实现结构与语义统一;引入信息觅食启发的Agent,动态规划检索路径,支持单跳、多跳及全局聚合查询,在精度、覆盖率与效率上显著优于传统文本/版面优先方法。
529 5
BookRAG:面向层级文档的树-图融合RAG框架
|
4月前
|
存储 搜索推荐 开发者
RAG 文本分块:七种主流策略的原理与适用场景
分块是RAG系统的基石,直接影响检索质量与LLM推理效果。行业共识:“分块决定RAG质量的70%”。从固定大小、句子/段落级,到语义、递归、滑动窗口及层次化分块,策略需匹配文档类型与任务需求。劣质分块导致上下文断裂、噪声激增、幻觉频发——燃料不行,再强的引擎也徒劳。
539 2
RAG 文本分块:七种主流策略的原理与适用场景
|
2月前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
45243 72
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
2月前
|
人工智能 IDE 编译器
Karpathy的LLM Wiki:一种将RAG从解释器模式升级为编译器模式的架构
Andrej Karpathy提出的LLM Wiki,摒弃传统RAG“每次查询重检索”的模式,转而让大模型将原始资料**编译为结构化、可链接、自更新的Markdown Wiki**,实现知识的持久沉淀与复利增长——Obsidian为IDE,LLM为程序员,Wiki即代码库。
2907 7
Karpathy的LLM Wiki:一种将RAG从解释器模式升级为编译器模式的架构
|
1月前
|
人工智能 定位技术 数据库
2026 RAG 选型指南:Vector、Graph、Vectorless 该怎么挑
2026 RAG选型指南指出:Vector RAG已难胜任复杂场景;GraphRAG通过知识图谱支撑多跳关系推理,Vectorless RAG则摒弃向量库,依托文档树结构+LLM导航实现高精度定位。三者非替代,而应按问题类型智能路由——Adaptive RAG成企业新范式。
236 3
2026 RAG 选型指南:Vector、Graph、Vectorless 该怎么挑
|
5月前
|
人工智能 自然语言处理 数据可视化
Google Code Wiki:GitHub代码库秒变可交互文档
Google Code Wiki 利用 AI 为代码库构建动态知识层,通过 Tree-sitter 解析结构、生成知识图谱,并结合混合检索策略实现精准问答。支持自动文档生成、可视化图表与自然语言交互,让代码可读、可问、可演进,大幅提升理解效率。
729 6
Google Code Wiki:GitHub代码库秒变可交互文档
|
1月前
|
人工智能 安全 测试技术
agents-hive 开源了:一个面向生产的Harness Agent 工程
agents-hive 是开源的生产级 Agent 工程化系统,提供全链路执行回放、质量闭环迭代、多入口统一运行时及内建安全约束四大能力,助力开发者高效构建、调试与规模化运营商业级 Agent 应用。
|
2月前
|
安全 NoSQL Redis
开源 Wiki 神器 Docmost:团队协作知识库的终极解决方案
Docmost 是一款功能强大、部署简单的开源 Wiki 系统。它完美平衡了功能和易用性,既适合小团队快速搭建知识库,也满足企业级的安全和权限管理需求。
1721 5
 开源 Wiki 神器 Docmost:团队协作知识库的终极解决方案
|
2月前
|
数据采集 JSON 自然语言处理
LLM 幻觉的架构级修复:推理参数、RAG、受约束解码与生成后验证
大型语言模型虽能力强,却易“自信撒谎”——即幻觉问题。本文系统拆解五层防御架构:1)推理参数调优(如低temperature+top_p);2)RAG、CoT、结构化输出等架构策略;3)生成后事实/引用/实体四重验证;4)领域微调与置信度校准;5)持续评估监控。强调幻觉不可根除,唯靠多层协同防御。
360 3
LLM 幻觉的架构级修复:推理参数、RAG、受约束解码与生成后验证