跳转到内容

RAPTOR 层次化知识组织:递归聚类与摘要树

RAPTOR 层次化知识组织:递归聚类与摘要树

学习目标

读完本章后,你将能够:

  • 理解 RAPTOR 的核心思想与解决的问题
  • 掌握聚类方法选择(GMM vs AHC)与树构建流程
  • 分析 Psi-merge 树结构的设计动机
  • 在自己的 RAG 系统中引入层次化知识组织

前置知识


1. 为什么需要层次化知识组织

标准 RAG 管线将所有 chunk 扁平化存储在向量数据库中,面临两个问题:

  1. “大海捞针”问题:当文档库包含数千甚至数万个 chunk 时,即使使用向量检索,也可能因为 Embedding 质量或查询匹配度问题而遗漏关键信息
  2. 缺乏全局视角:每个 chunk 是孤立存储的,检索时只能拿到局部片段,缺少文档的高层摘要和全局上下文

RAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval) 通过递归聚类与摘要,构建一棵从具体到抽象的层次化知识树,使得检索既能定位到具体细节,也能获取高层概览。

2. RAPTOR 核心流程

关键步骤

  1. Embedding:将叶子层所有 chunk 转为向量
  2. 降维(可选):使用 UMAP 将高维向量降到低维空间,提升聚类质量
  3. 聚类:按语义相似度将 chunk 分组
  4. 摘要:对每个簇内的 chunk 用 LLM 生成高层摘要
  5. 递归:对摘要节点重复上述步骤,直到只剩一个根节点

3. 聚类方法选择

RAPTOR 支持两种聚类方法:

方法全名原理适用场景
GMMGaussian Mixture Model假设数据由多个高斯分布混合生成,用 EM 算法估计参数簇形状不规则、需要概率软分配
AHCAgglomerative Hierarchical Clustering自底向上,每次合并最近的两个簇需要层次结构、不需要预设簇数量

GMM 的优势与局限

优势

  • 支持软聚类(一个 chunk 可以属于多个簇),更适合重叠语义
  • 通过 BIC/AIC 自动选择最优簇数量
  • 对噪声点更鲁棒

局限

  • 假设簇是椭圆形的,对非凸形状效果差
  • 计算复杂度较高 O(n²),大数据集慢

AHC 的优势与局限

优势

  • 天然产生层次结构,与 RAPTOR 的树目标一致
  • 不需要预设簇数量
  • 可以选择不同的链接策略(单链接、全链接、Ward)

局限

  • 一旦合并不可撤销(贪心策略)
  • 对噪声和离群点敏感

推荐策略:默认使用 GMM(语义聚类通常不是严格凸的),当需要严格控制树深度时使用 AHC。

4. Psi-merge 树结构

Psi-merge 是一种高效的树合并数据结构,基于 Union-Find(并查集) 算法:

核心设计

  • Union-Find 数据结构:维护叶子节点的合并关系,支持 O(α(n)) 的近似常数时间合并操作
  • Ranked 合并:按聚类距离(rank)排序,优先合并距离最近的簇对
  • Parent Chain:每个叶子节点维护一条到根的路径链,支持快速追溯层次关系
  • 紧凑存储:用一维数组存储整个树结构,数组索引即节点 ID

优势

  • 树构建过程中无需频繁重建树结构
  • 合并操作高效,适合大规模数据集
  • 天然支持增量更新(新 chunk 加入时只需局部调整)

5. 检索策略

RAPTOR 的检索支持两种模式:

模式一:全局检索

在树的每一层都执行检索,然后将各层的结果合并:

  1. 将查询向量与树中每个节点的 Embedding 比较
  2. 按相似度排序,选择 Top-K 节点
  3. 如果选中的是摘要节点,可以向下展开获取其子节点的具体内容

模式二:路由检索

从根节点开始,沿树向下路由:

  1. 从根节点开始,比较查询与各子摘要的相似度
  2. 选择最相似的子树继续向下
  3. 到达叶子层后执行标准向量检索

对比

维度全局检索路由检索
召回率高(覆盖所有层)中(依赖路由准确性)
速度慢(全树扫描)快(O(树深度))
适用场景复杂查询、多主题单一主题查询

6. 缓存优化

RAPTOR 树构建过程中涉及大量重复计算,必须使用缓存:

缓存类型缓存内容缓存键
Embedding 缓存chunk → 向量文本内容哈希
LLM 摘要缓存簇内容 → 摘要簇内 chunk ID 排序后的哈希

缓存失效条件

  • 原始 chunk 内容变更
  • 新增或删除 chunk 导致聚类结果变化
  • 聚类参数(簇数量、降维参数)变更

7. 问题与规避

陷阱对策
聚类参数不当导致树质量差使用 BIC/AIC 自动选择簇数量
深层树检索延迟高使用路由检索替代全局检索
摘要质量差(LLM 幻觉)在摘要 prompt 中约束”仅基于提供的文本总结”
树构建成本高批量处理 + 缓存;增量更新而非全量重建
簇过大(摘要节点包含太多 chunk)限制最大簇大小,超过则二次聚类

8. 设计取舍

RAPTOR vs 扁平检索

维度RAPTOR 层次化扁平检索
检索质量高(有全局视角)中(仅局部匹配)
构建成本高(聚类 + LLM 摘要)低(仅 Embedding)
存储成本中(额外存储摘要节点)
适用场景大规模文档库、复杂查询小规模、简单查询

推荐:当文档库超过 1000 个 chunk 或查询涉及跨文档推理时,引入 RAPTOR。

GMM vs AHC 聚类

已在第 3 节详细对比。简而言之:GMM 适合语义软聚类,AHC 适合严格层次。


参考来源