检索 · 2024

CRAG

先判断检索结果是对、含糊还是错,错了就改道去查别的来源。

演进中 · 需要专门训练

要解决的问题

Self-RAG 会选择要不要检索,但检索回来的材料本身可能整体是错的。模型若继续阅读这些材料,回答会被带偏。

相对前一代的变化

CRAG 在检索和生成之间加一个轻量评估器,对整批结果给出正确、含糊或错误。错误时触发网络搜索等补充检索,而不是直接把原结果送去生成。

做法

Yan 等人训练评估器给检索结果分级。对含糊和错误的结果,用网络搜索扩充,再把文档拆开、留下关键信息后重组。这个评估器可以插到朴素 RAG 或 Self-RAG 上。

局限

论文中的评估器需要训练数据。补充搜索把外部网页引进来,也带来新的噪声和时效问题。

在链路中的位置

位于第一轮检索之后、生成之前,专门处理检索失败这一支。