目录
一、CRAG 的背景与动机
二、CRAG 的架构与关键组件
(一)检索评估器(Retrieval Evaluator)
(二)知识片段提炼机制(Decompose & Recompose)
(三)网络补充检索(Web Search Integration)
三、CRAG 的两种工程实现策略
(一)策略一:向量相似度判定
(二)策略二:大模型判断
四、CRAG 的优势与技术意义
五、行业应用场景示例
六、结语与未来展望
参考文章链接
干货分享,感谢您的阅读!
在当今大规模语言模型(LLM)广泛普及的背景下,信息生成的准确性和可信度成为技术落地应用中的核心问题。检索增强生成(Retrieval Augmented Generation,RAG)作为有效解决方案,通过结合知识库检索与语言模型生成,有效缓解了“幻觉”(hallucination)问题。
然而传统的 RAG 方法高度依赖检索到的内容对用户查询的相关性,当检索结果质量偏低时,其输出仍可能包含错误或误导性信息。为此,研究界提出了Corrective Retrieval Augmented Generation(CRAG),这是一种增强型 RAG 架构,能够在检索结果质量欠佳时进行纠正性补充,以提升最终输出的准确性、可靠性与覆盖范围。arXiv+1
一、CRAG 的背景与动机
与传统 RAG 不同,CRAG 的核心理念在于通过预先评估检索质量并设计纠错策略,来提高系统应对检索不相关或不准确结果的能力。
这种策略的设计来自两个基本认识:
静态知识库的局限性:许多知识库内容更新周期长,覆盖面有限,不能满足实时或长尾问题的需求。
检索结果必须动态评估:依赖单一检索结果往往不稳定,若检索结果与用户查询不匹配,生成模型可能会产生误导性输出。
因此,CRAG 引入“纠正(Correction)”机制——不仅包含传统知识库检索,还主动利用互联网搜索等动态信息源,以扩展知识覆盖范围并增强答案的质量。Moonlight
二、CRAG 的架构与关键组件
CRAG 的实现通常包含以下几个核心模块:
(一)检索评估器(Retrieval Evaluator)
该组件用于对单个检索结果与用户查询之间的相关性进行精细评估。通过一个轻量的判别模型(如基于 T5-large 的 Transformer 微调模型),评估器能够输出检索结果的相关性评分,并根据阈值策略触发不同动作:
高相关性(Correct):可直接用于后续生成;
模糊相关性(Ambiguous):触发进一步检索或细化;
低相关性(Incorrect):启动补充检索(如互联网搜索)机制。Moonlight
这种机制等价于为 RAG 增加了一个“人工智能评判员”,从而提高了对低质量检索的识别能力。
(二)知识片段提炼机制(Decompose & Recompose)
即使检索到了较为相关的文档,也不代表文档整体都能有效回答查询。CRAG 进一步对文档进行:
分解(Decompose):将文档拆分为更小的知识片段;
过滤(Filter):基于相关性筛除无关片段;
重组(Recompose):将高质量知识片段重组成新的上下文供 LLM 使用。Moonlight
这一过程提高了知识利用的精度,同时减少了噪音对生成质量的干扰。
(三)网络补充检索(Web Search Integration)
当知识库检索结果整体相关性不足时,CRAG 会主动调用互联网搜索 API(例如 Google Search、Bing Search),通过改写查询关键词以适配搜索引擎,再将搜索结果转录、提炼并与知识库信息结合。这样做有两个优势:
扩大检索范围;
获取实时信息(例如最新政策、实时事件等)。
这种双路径检索策略弥补了传统 RAG 静态知识库的不足。Moonlight
三、CRAG 的两种工程实现策略
在具体工程实践中,CRAG 可以通过以下两种策略来判断检索结果质量并触发补救机制:
(一)策略一:向量相似度判定
通过向量嵌入方法计算查询与文本片段的相似度得分。设定阈值后:
如果所有检索结果的相似度分低于阈值,则判断为“低相关”,进而触发互联网检索以补充信息。
该做法优势在于计算效率较高,适合大规模语料库部署,但需要精心设计嵌入与阈值策略。
(二)策略二:大模型判断
直接将检索到的信息交给大模型(如 ChatGPT / GPT-4 / LLaMA 系列)进行语义级判断,让大模型判定当前信息能否回答用户问题。
这种方式的优点在于处理复杂语义更具灵活性,但成本较高,适合质量要求更高的场景。上述博客中提到的实践与模型策略即基于这种思路。CSDN
四、CRAG 的优势与技术意义
CRAG 的提出解决了传统 RAG 系统在以下方面的不足:
提高输出准确性与鲁棒性:当基础检索结果质量不佳时,系统仍能通过补充检索保证生成结果的可靠性。Moonlight
增强知识覆盖能力:静态知识库之外利用互联网实时信息补充,使系统能处理长尾问题与动态事件。
模块化与可扩展性:CRAG 设计插件式检索评估组件,可与多种 RAG pipeline 无缝集成。
控制噪音与冗余信息:知识片段提炼机制显著减少无关内容,提高生成质量。
整体而言,CRAG 是一种对 RAG 系统的“纠错提升机制”,在工业应用(如智能问答、客服系统、企业知识库自动化)中具有显著价值。
五、行业应用场景示例
以下示例展示 CRAG 在工程实践中的潜在应用:
企业知识问答系统:当内部知识库不包含某一业务细节时,CRAG 可补充外部资源,提升员工查询响应准确性。
智能助理与客服机器人:对实时FAQ问题进行动态检索与生成;
医学与法律咨询系统:利用互联网实时数据库补充最新法规、文献(需审慎确保专业正确性);
旅游与本地实时问答:例如用户询问“明天天安门升旗仪式时间”,若本地知识库未涵盖,系统可即时搜索并汇总答案。
这种“检索缺失时主动补充”的策略在真实应用中能显著提升用户体验和问答覆盖率。
六、结语与未来展望
Corrective Retrieval Augmented Generation 是对传统 RAG 架构的一个务实而重要的扩展。它通过评估检索质量、引入互联网补救检索以及知识片段重组三大核心机制,实现了对 RAG 的鲁棒性增强。随着对动态知识和实时信息需求的不断增长,CRAG 或将成为大模型问答系统中标准的一部分。在未来的技术演进中,可以预见对评估器模型、阈值策略、在线搜索集成与多模态扩展等方向的深入探索将进一步完善这一体系。Moonlight
参考文章链接
Corrective Retrieval Augmented Generation 论文 (arXiv)
https://arxiv.org/abs/2401.15884arXiv[论文笔记]Corrective Retrieval Augmented Generation – CSDN 博客
https://blog.csdn.net/yjw123456/article/details/138757481CSDNCRAG 详细审查与架构– Moonlight 技术审查
https://www.themoonlight.io/zh/review/corrective-retrieval-augmented-generationMoonlightCRAG 经验与实现策略 – CSDN 博客
https://blog.csdn.net/wufjsjjx/article/details/139001306CSDNRAG 技术综述(含 Self-RAG / RAG 基础)– CSDN 综合文章
https://tianqi.csdn.net/68537959eabc61314fc3674d.html天气预报RAG 开创性论文解读 – 博客园
https://www.cnblogs.com/xtkyxnx/p/19263203博客园Reddit 讨论: CRAG 提升生成系统可靠性
https://www.reddit.com/r/learnmachinelearning/comments/1iq22eeRedditReddit: CRAG 在开发与生成系统中的介绍
https://www.reddit.com/r/ChatGPTCoding/comments/1cjgj5zRedditMeta KDD Cup CRAG 相关模型实现(arXiv)
https://arxiv.org/abs/2409.15337arXiv更多 RAG 与检索增强技术发展讨论 – Reddit 集合
https://www.reddit.com/r/Rag/comments/1oiuucnReddit