Ch13 RAG修订于 二〇二六年七月二日

13.12 RAG 高级技术

五代进化讲的是 RAG 的宏观演变路径。但在每一代内部,还有大量”高级技术”可以提升效果。这些技术不是独立的一代,而是可以在任何一代上叠加的优化手段。

13.12.1 HyDE(假设文档嵌入)

2023 年提出的反直觉但有效的技术。核心思路:用生成来增强检索。

传统 RAG 的问题是:用户的问题和文档的语言风格可能差异很大。用户问”怎么让电脑快一点”,但文档里写的是”系统性能优化方法”。即使用 Embedding 做语义检索,这种风格差异也可能导致检索不到相关的文档。

HyDE 的解决办法:先让 LLM 根据用户问题生成一篇”假设的答案文档”(Hypothetical Document),然后用这篇假设文档的 Embedding 去检索真正的文档。因为 LLM 生成的答案风格更接近知识库文档的语言风格,所以检索效果更好。

用户问题 → LLM 生成假设答案 → Embedding 假设答案 → 向量检索 → 找到真文档

效果:在一些评测中,HyDE 能提升 Recall@10 约 5-15%。代价:多了一次 LLM 调用(生成假设文档),增加了延迟和成本。适用场景:用户问题口语化、风格与文档差异大的场景(如客服、内部知识库)。

13.12.2 Multi-Query RAG(多查询检索)

一个问题,从多个角度搜索。比如用户问”如何提高团队效率”,系统自动生成多个查询变体:

  • “团队效率提升方法”
  • “团队协作最佳实践”
  • “如何减少团队内耗”
  • “敏捷开发提高效率”

每个变体独立检索,把所有结果合并去重后再做重排序。这样能从不同角度覆盖相关信息,提升召回率。

效果:Recall@K 通常能提升 10-20%。代价:N 次检索 + N 次 Embedding 调用,成本线性增长。适用场景:开放性问题、需要多角度信息的问题。

13.12.3 RAPTOR(层次化索引)

2024 年提出的技术。核心思路:对文档做层次化的摘要树。

传统 RAG 把所有文档块平铺在一层,检索时只能在这一层搜索。但有些问题需要”宏观”信息(“这篇论文的核心贡献是什么”),有些需要”微观”信息(“实验中的学习率是多少”),单一层次的检索无法同时满足。

RAPTOR 的做法:

  1. 把文档分块(底层叶子节点)
  2. 用 LLM 对相邻的块做摘要,生成上一层节点
  3. 对摘要再做摘要,生成更高层节点
  4. 递归直到顶层只有几个节点
  5. 所有层的节点都做 Embedding 存入向量数据库

检索时,在树的所有层同时搜索,既能找到细粒度的原文片段,也能找到宏观的摘要信息。

效果:在需要跨文档综合信息的问题上,RAPTOR 明显优于传统 RAG。代价:索引成本高(需要大量 LLM 调用做摘要),存储成本高(节点数量膨胀)。适用场景:大型文档集合、需要多粒度信息的问题。

13.12.4 查询改写(Query Rewriting)

用户的问题往往不是最优的检索查询。查询改写把用户的口语化问题转换成更利于检索的形式。

常见的改写操作:

  • 去除冗余:“我想问一下,就是那个,RAG 到底是啥” → “RAG 是什么”
  • 补充上下文:如果用户之前问了”Transformer 是什么”,现在问”它的训练需要多少数据”,改写为”Transformer 的训练需要多少数据”(把”它”替换为”Transformer”)
  • 分解复杂问题:“比较 GPT-4 和 Claude 在代码和写作上的表现” → 分解为 4 个子查询
  • 翻译:用户用中文问,但知识库是英文的 → 改写为英文查询

查询改写通常由一个轻量级的 LLM 调用完成(不需要最强的模型,GPT-4o-mini 或 Claude Haiku 就够用)。

13.12.5 上下文压缩(Context Compression)

检索到的文档可能很长,但只有一小部分与问题相关。把整个长文档塞进 Prompt 是浪费。上下文压缩的目标是:保留相关部分,丢弃无关部分。

做法:

  • 基于 LLM 的压缩:让 LLM 读取文档,只提取与问题相关的信息。效果最好,但需要额外的 LLM 调用。
  • 基于 Embedding 的压缩:把文档按句子切分,计算每句话与问题的相似度,只保留相似度高的句子。速度快,但可能丢失上下文。
  • 基于摘要的压缩:用一个小模型对文档做摘要,把摘要而不是原文塞进 Prompt。

2026 年建议:对于大多数场景,混合检索 + 重排序已经能有效控制上下文长度。如果文档确实很长(如法律合同、学术论文),推荐基于 LLM 的压缩——虽然多一次调用,但信息保留最完整。


← 上一节:13.10 第五代:知识图谱辅助(Graph RAG) | 下一节:13.13 RAG 评估 →

关联5

知识图谱

局部图谱 · 点节点跳转