news 2026/4/21 11:30:09

Corrective Retrieval Augmented Generation(CRAG):构建更可靠的信息抽取与生成系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Corrective Retrieval Augmented Generation(CRAG):构建更可靠的信息抽取与生成系统

目录

一、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 的核心理念在于通过预先评估检索质量并设计纠错策略,来提高系统应对检索不相关或不准确结果的能力。

这种策略的设计来自两个基本认识:

  1. 静态知识库的局限性:许多知识库内容更新周期长,覆盖面有限,不能满足实时或长尾问题的需求。

  2. 检索结果必须动态评估:依赖单一检索结果往往不稳定,若检索结果与用户查询不匹配,生成模型可能会产生误导性输出。

因此,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),通过改写查询关键词以适配搜索引擎,再将搜索结果转录、提炼并与知识库信息结合。这样做有两个优势:

  1. 扩大检索范围;

  2. 获取实时信息(例如最新政策、实时事件等)。

这种双路径检索策略弥补了传统 RAG 静态知识库的不足。Moonlight

三、CRAG 的两种工程实现策略

在具体工程实践中,CRAG 可以通过以下两种策略来判断检索结果质量并触发补救机制:

(一)策略一:向量相似度判定

通过向量嵌入方法计算查询与文本片段的相似度得分。设定阈值后:

  • 如果所有检索结果的相似度分低于阈值,则判断为“低相关”,进而触发互联网检索以补充信息。

该做法优势在于计算效率较高,适合大规模语料库部署,但需要精心设计嵌入与阈值策略。

(二)策略二:大模型判断

直接将检索到的信息交给大模型(如 ChatGPT / GPT-4 / LLaMA 系列)进行语义级判断,让大模型判定当前信息能否回答用户问题。

这种方式的优点在于处理复杂语义更具灵活性,但成本较高,适合质量要求更高的场景。上述博客中提到的实践与模型策略即基于这种思路。CSDN

四、CRAG 的优势与技术意义

CRAG 的提出解决了传统 RAG 系统在以下方面的不足:

  1. 提高输出准确性与鲁棒性:当基础检索结果质量不佳时,系统仍能通过补充检索保证生成结果的可靠性。Moonlight

  2. 增强知识覆盖能力:静态知识库之外利用互联网实时信息补充,使系统能处理长尾问题与动态事件。

  3. 模块化与可扩展性:CRAG 设计插件式检索评估组件,可与多种 RAG pipeline 无缝集成。

  4. 控制噪音与冗余信息:知识片段提炼机制显著减少无关内容,提高生成质量。

整体而言,CRAG 是一种对 RAG 系统的“纠错提升机制”,在工业应用(如智能问答、客服系统、企业知识库自动化)中具有显著价值。

五、行业应用场景示例

以下示例展示 CRAG 在工程实践中的潜在应用:

  • 企业知识问答系统:当内部知识库不包含某一业务细节时,CRAG 可补充外部资源,提升员工查询响应准确性。

  • 智能助理与客服机器人:对实时FAQ问题进行动态检索与生成;

  • 医学与法律咨询系统:利用互联网实时数据库补充最新法规、文献(需审慎确保专业正确性);

  • 旅游与本地实时问答:例如用户询问“明天天安门升旗仪式时间”,若本地知识库未涵盖,系统可即时搜索并汇总答案。

这种“检索缺失时主动补充”的策略在真实应用中能显著提升用户体验和问答覆盖率。

六、结语与未来展望

Corrective Retrieval Augmented Generation 是对传统 RAG 架构的一个务实而重要的扩展。它通过评估检索质量、引入互联网补救检索以及知识片段重组三大核心机制,实现了对 RAG 的鲁棒性增强。随着对动态知识和实时信息需求的不断增长,CRAG 或将成为大模型问答系统中标准的一部分。在未来的技术演进中,可以预见对评估器模型、阈值策略、在线搜索集成与多模态扩展等方向的深入探索将进一步完善这一体系。Moonlight

参考文章链接

  1. Corrective Retrieval Augmented Generation 论文 (arXiv)
    https://arxiv.org/abs/2401.15884arXiv

  2. [论文笔记]Corrective Retrieval Augmented Generation – CSDN 博客
    https://blog.csdn.net/yjw123456/article/details/138757481CSDN

  3. CRAG 详细审查与架构– Moonlight 技术审查
    https://www.themoonlight.io/zh/review/corrective-retrieval-augmented-generationMoonlight

  4. CRAG 经验与实现策略 – CSDN 博客
    https://blog.csdn.net/wufjsjjx/article/details/139001306CSDN

  5. RAG 技术综述(含 Self-RAG / RAG 基础)– CSDN 综合文章
    https://tianqi.csdn.net/68537959eabc61314fc3674d.html天气预报

  6. RAG 开创性论文解读 – 博客园
    https://www.cnblogs.com/xtkyxnx/p/19263203博客园

  7. Reddit 讨论: CRAG 提升生成系统可靠性
    https://www.reddit.com/r/learnmachinelearning/comments/1iq22eeReddit

  8. Reddit: CRAG 在开发与生成系统中的介绍
    https://www.reddit.com/r/ChatGPTCoding/comments/1cjgj5zReddit

  9. Meta KDD Cup CRAG 相关模型实现(arXiv)
    https://arxiv.org/abs/2409.15337arXiv

  10. 更多 RAG 与检索增强技术发展讨论 – Reddit 集合
    https://www.reddit.com/r/Rag/comments/1oiuucnReddit

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 3:23:52

使用MyBatisPlus生成DAO层代码提高开发效率

使用MyBatisPlus生成DAO层代码提高开发效率 在现代Java企业级开发中,面对日益复杂的业务系统和紧迫的交付周期,开发者常常陷入重复编写基础CRUD代码的泥潭。尤其是在项目初期或新增模块时,光是为一张表搭建Entity、Mapper、Service、Controll…

作者头像 李华
网站建设 2026/4/16 18:24:44

从理论到实践:一小时掌握中文物体识别部署

从理论到实践:一小时掌握中文物体识别部署 作为一名刚学完深度学习理论的学生,我深知将知识转化为实践能力的重要性。但环境配置往往成为最大的拦路虎,各种依赖冲突、CUDA版本问题让人头疼不已。本文将分享如何利用预置镜像快速部署中文物体识…

作者头像 李华
网站建设 2026/4/20 14:31:00

万物识别在自动驾驶的应用:快速原型开发指南

万物识别在自动驾驶的应用:快速原型开发指南 在自动驾驶技术的快速迭代中,物体识别算法的验证效率直接影响着研发进度。本文将介绍如何利用预置环境快速搭建标准化开发平台,实现多模型切换与路测数据评估。这类任务通常需要GPU环境支持&#…

作者头像 李华
网站建设 2026/4/20 20:24:53

hal_uart_transmit串口发送原理图解说明

HAL_UART_Transmit串口发送原理深度解析:从代码到硬件的完整链路你有没有遇到过这种情况:调用HAL_UART_Transmit()发送数据,函数返回成功了,但对方设备却没收到?或者在RTOS中多个任务争抢串口资源导致乱码?…

作者头像 李华
网站建设 2026/4/21 4:06:47

PHP程序员也能用Qwen3Guard-Gen-8B?CGI接口调用方式介绍

PHP程序员也能用Qwen3Guard-Gen-8B?CGI接口调用方式介绍 在内容生成变得越来越容易的今天,AI带来的便利背后也潜藏着不小的风险。一条看似无害的用户评论,可能暗藏诱导信息;一段自动生成的回复,或许无意中泄露了敏感数…

作者头像 李华
网站建设 2026/4/20 5:20:13

Google Apps Script调用Qwen3Guard-Gen-8B:Gmail邮件安全过滤

Gmail邮件安全过滤新范式:用Qwen3Guard-Gen-8B构建智能审核系统 在企业通信日益频繁的今天,Gmail 已成为无数团队的核心协作工具。但随之而来的,是钓鱼邮件、诱导诈骗和隐性违规内容的持续渗透。传统的关键词过滤早已力不从心——那些伪装成“…

作者头像 李华