跳转到主要内容
🧠

Corrective RAG

📂 LLM ⏱ 1 min 89 words

Corrective RAG概述

Corrective RAG(CRAG)是对传统RAG的改进,增加了对检索结果质量的评估和纠正机制。当检索到的文档质量不高时,CRAG能够进行纠正操作,如丢弃低质量文档、触发额外检索、或对文档进行精炼,从而提升最终生成质量。

核心机制

检索评估器

CRAG引入轻量级检索评估器:

  • 评估检索文档与查询的相关性
  • 输出三种判断:Correct、Incorrect、Ambiguous
  • 根据判断结果采取不同策略

纠正操作

根据评估结果执行不同操作:

Correct(正确)

  • 使用知识精炼操作
  • 过滤无关信息
  • 保留关键知识片段

Incorrect(错误)

  • 丢弃当前检索结果
  • 触发网络搜索作为补充
  • 获取更相关的外部信息

Ambiguous(模糊)

  • 同时使用检索结果和网络搜索
  • 综合多来源信息

工作流程

  1. 初始检索:从知识库检索相关文档
  2. 质量评估:评估器判断检索质量
  3. 纠正操作:根据评估结果执行纠正
  4. 知识精炼:提取关键信息
  5. 答案生成:基于精炼后的知识生成回答

知识精炼

文档级精炼

  • 去除与查询无关的段落
  • 保留关键信息片段
  • 压缩冗余内容

句子级精炼

  • 评估每个句子的相关性
  • 保留高相关度句子
  • 组合形成精炼上下文

优势

  • 质量保障:自动过滤低质量检索
  • 适应性强:对不同查询类型自适应
  • 容错能力:检索失败时有备用方案
  • 效率提升:避免使用低质量文档浪费计算

与相关方法对比

方法 检索评估 纠正机制 网络搜索
Naive RAG
Self RAG 自检 跳过检索
CRAG 评估器 精炼+丢弃 支持
Adaptive RAG 复杂度判断 策略选择 可选

实现要点

  1. 训练或获取可靠的检索评估器
  2. 设计合理的纠正策略
  3. 优化知识精炼算法
  4. 平衡纠正开销与质量提升
  5. 监控纠正操作的效果

应用场景

  • 企业知识库问答(知识更新不及时)
  • 开放域问答(需要网络补充)
  • 专业领域问答(领域知识不完整)
  • 长文档理解(文档质量参差不齐)

CRAG通过引入检索质量评估和纠正机制,显著提升了RAG系统的鲁棒性和可靠性。