传统分块检索的局限
检索增强生成(RAG)通过从外部知识库中检索相关文本块来增强语言模型,但绝大多数方法只检索固定长度的连续分块。这种策略在需要跨段落、跨章节进行多步推理的任务中暴露明显缺陷:固定分块无法捕获文档的高层语义和全局上下文,导致模型面对“整本书的某个主题演变”或“多证据综合”等问题时性能骤降。
RAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval)针对这一局限,提出用树状结构对文档进行多粒度索引:从最细粒度的原始文本块开始,递归地嵌入、聚类与摘要,自底向上构建出包含不同抽象层级信息的树。检索时,模型可以同时从叶节点(原始块)和内部节点(摘要)中获取信息,从而平衡检索粒度与推理成本。
RAPTOR 核心方法:递归聚类与摘要构建树
RAPTOR 的构建流程分为以下步骤:
- 分块与嵌入:将文档分割为较短的文本块(例如 100 词),使用嵌入模型(如 OpenAI text-embedding-ada-002)将每个块映射为向量。
- 聚类:基于向量相似度对块进行聚类,形成若干簇。聚类算法通常选用高斯混合模型(GMM)或层次聚类,以便自动确定簇数并处理软分配。
- 摘要生成:对每个簇内的所有文本块,调用语言模型(如 GPT-3.5/4)生成一段摘要。该摘要替代原始块,成为树的上一层节点。
- 递归构建:将上一步生成的摘要作为新的“文本块”,重复嵌入、聚类与摘要过程,直到只剩一个根节点(或达到设定的层数)。
最终树结构如图示:叶节点为原始文本块,中间节点为局部摘要,根节点为文档整体摘要。这种设计使文档在不同粒度上都有了可检索的表示。
检索时,RAPTOR 有两种常用策略:树遍历(从根开始,在每一层选择与查询最相关的 k 个节点,展开其子节点继续检索,最终返回所有选中节点)和折叠树(将所有层的节点展平为单一集合,直接进行相似度检索)。前者能显式利用层级关系,后者在工程上更简洁。
工程实现与粒度权衡
在工程实践中,RAPTOR 的每一环节都需要权衡计算成本与检索质量。
-
摘要成本:递归摘要需要多次调用大型语言模型,成本随文档长度和树深度线性增长。论文在实验中大多使用 GPT-4 生成摘要,单次处理数千个块的成本不菲。实践中可通过以下方式缓解:
- 限制树的最大深度或每一层的最大节点数。
- 使用较小、更便宜的摘要模型(如 GPT-3.5 或本地部署的模型)。
- 仅对关键文档或段落启用多层摘要,而对大量普通文档采用浅层树。
-
检索粒度控制:检索时可通过调整遍历宽度(每层保留的节点数)或混合不同层的权重来平衡细节与全局视野。例如,在需要细粒度证据的任务中增大叶层权重,在需要总结型答案时偏重高层摘要。
-
与传统分块的对比:传统固定分块(如 256 token)虽然简单,但遇到跨块信息时会丢失关联。RAPTOR 通过摘要层提供了自然的跨块整合,且检索时可直接获取高层摘要,避免读取大量无关文本。但 RAPTOR 的索引构建耗时更长,且对动态更新不友好(见下文局限)。
官方实现(GitHub: parthsarthi03/raptor)提供了一套可扩展的框架,允许用户替换自己的摘要、问答和嵌入模型。只需继承 BaseSummarizationModel、BaseQAModel 和 BaseEmbeddingModel 并实现相应方法,即可将 RAPTOR 适配到本地模型或私有 API。
性能表现与应用场景
论文在多个问答基准上评测了 RAPTOR,最亮眼的结果来自 QuALITY(一个需要长文档多步推理的数据集)。结合 GPT-4 后,RAPTOR 将最佳成绩的绝对准确率提升了 20%,展现出在多证据综合与深层理解上的显著优势。
RAPTOR 尤其适用于以下场景:
- 长文档/书籍级问答:如对整部小说进行情节分析,或从冗长的技术手册中寻找故障解决方法。
- 多文档摘要与比较:为一系列相关文档构建统一树状索引,支持跨文档的主题摘要。
- 知识库结构化检索:在企业内部知识库或法律文档中,传统分块无法捕捉条款间的层级关系,RAPTOR 的树能显式建模这种结构。
注意,RAPTOR 本身是检索器,需要与下游生成模型配合使用。论文默认使用 GPT-4 作为阅读器,但框架支持替换任何生成模型。
当前局限与未来方向
RAPTOR 目前仍存在若干工程与研究限制:
- 静态索引:树构建完成后难以增量更新。新增或修改文档通常需要重建整个树结构,不适合数据频繁变动的场景(如实时新闻或持续更新的知识库)。
- 聚类偏差:聚类质量直接影响树结构。若初始分块不理想或嵌入模型未能很好捕捉语义,可能将无关文本聚到一起,导致摘要混乱。GMM 假设类球状分布,对长尾、不规则簇效果有限。
- 摘要失真:多层摘要会逐步丢失细节、引入漂移,尤其当底层模型产生幻觉时。论文未系统分析错误传播,工程中可能需要质量校验步骤。
- 成本:构建大规模树的推理开销仍然较高,限制了在超大型语料上的应用。
前沿探索方向包括:
- 增量或分层构建:支持在不重建全树的前提下插入新分支,利用历史摘要动态调整聚类。
- 强化聚类策略:尝试基于图的方法或使用更现代的嵌入模型(如 Cohere、text-embedding-3)提升聚类鲁棒性。
- 多模态扩展:将树状索引应用到图文混合文档,如科学论文中的图表摘要,以构建更丰富的检索节点。
- 端到端优化:将树构建与下游任务联合训练,使摘要和聚类直接为任务目标服务,而非仅依赖固定流程。
RAPTOR 代表了从固定分块到多粒度结构化检索的重要一步。尽管构建和维护成本较高,但在需要全局理解与多步推理的场景下,其性能优势不容忽视。随着更高效的本地摘要模型和增量聚类算法的成熟,这一方法有望从实验性论文走向更广泛的工程实践。