RAG 效果优化的关键策略与工程实践详解
在大模型实际落地过程中,常面临以下核心问题:
- 缺少垂直领域知识:虽然大模型压缩了大量人类知识,但在特定垂直场景上存在短板,需要专业化服务解决特定问题。
- 存在幻觉与合规风险:大模型生成内容可能存在事实性错误(幻觉)及合规问题,缺乏现成的方案来管理非结构化文本、进行测试和运营。
- 重复建设严重:各业务线孤立摸索,资产无法沉淀,导致低水平重复建设,ROI 较低。
为了解决上述问题,检索增强生成(Retrieval-Augmented Generation, RAG)成为了一种相对有效的技术方案。它通过结合检索系统和生成模型,能够在生成响应时引入外部知识,提高内容的准确性和信息丰富度。
RAG 基础介绍
RAG 是 Retrieval-Augmented Generation 的缩写。相比直接使用长文本上下文,使用向量数据库的成本更低且效率更高。在应用过程中,部分公司会使用微调后的 Embedding Model 增强检索能力,也有选择使用知识图谱或 Elasticsearch 等非向量数据库的方法。
开发者通常使用集成好的框架(如 LlamaIndex、LangChain)或直接使用 LLMOps 内建的 RAG 工具。
相关优化论文综述
1. RAPTOR (Recursive Abstractive Processing for Tree-Organized Retrieval)
传统 RAG 方法通常仅检索较短的连续文本块,限制了对整体文档上下文的全面理解。RAPTOR 通过递归嵌入、聚类和总结文本块,构建自底向上的树形结构,在不同抽象层次上整合来自长文档的信息。
核心流程:
- 树形结构构建:将语料库分割成短文本块 -> 使用 SBERT 嵌入并聚类 -> 对聚类后文本生成摘要 -> 重新嵌入并继续聚类,直至无法进一步聚类。
- 查询方法:
- 树遍历:从根层开始,逐层选择与查询向量余弦相似度最高的节点,直到叶节点,拼接选中节点文本。
- 平铺遍历:将树结构平铺为单层,同时比较所有节点,选出相似度最高节点直至达到 Token 上限。
实验表明,RAPTOR 在涉及复杂多步推理的问答任务中显著优于传统方法,在 QuALITY 基准上与 GPT-4 结合后准确率提高了 20%。
2. Self-RAG (Self-Reflective Retrieval-Augmented Generation)
Self-RAG 是一种新框架,通过让语言模型在生成过程中进行自我反思,提高生成质量和事实正确性,同时不损失多样性。
主要过程:
- 输入:接收输入提示 (x) 和之前生成的文本 (y<t)。
- 检索预测:模型预测是否需要检索(Retrieve)。
- 检索判断:若需检索,则检索相关段落,评估相关性 (ISREL)、支持性 (ISSUP) 和有用性 (ISUSE),排序后生成;若不需检索,直接生成并评估有用性。
相比传统 RAG 先检索固定数量文档再生成的模式,Self-RAG 按需检索并评估质量,提高了准确性。
3. CRAG (Corrective Retrieval Augmented Generation)
CRAG 旨在解决大模型生成过程中的虚假信息问题。其核心思想是设计轻量级检索评估器评估文档质量,基于结果触发不同操作。
具体方法:
- 评估步骤:计算每个问题 - 文档对的相关性得分,得出最终置信度。
- 动作触发:
- CORRECT:提取内部知识并细化。
- INCORRECT:进行网络搜索获取外部知识。


