RAG 检索工程进阶:从"能查到"到"查得准"

举报
yd_271011778 发表于 2026/11/07 07:35:26 2026/11/07
【摘要】 结论:RAG 的瓶颈几乎从不在生成端,而在检索端。检索没捞到正确内容,再强的模型也只能编。检索工程是一个独立的、需要专门优化的系统。一、分块(Chunking)决定上限固定字数硬切会截断语义,是最常见的低质来源。按结构切(标题、段落、代码块)优于按字数切。块要"语义完整 + 足够小":太大稀释,太小丢上下文。适度重叠(overlap)可缓解边界断裂。给每块附元数据(来源、时间、章节),供过滤...


结论:RAG 的瓶颈几乎从不在生成端,而在检索端。检索没捞到正确内容,再强的模型也只能编。检索工程是一个独立的、需要专门优化的系统。

一、分块(Chunking)决定上限

  • 固定字数硬切会截断语义,是最常见的低质来源。

  • 按结构切(标题、段落、代码块)优于按字数切。

  • 块要"语义完整 + 足够小":太大稀释,太小丢上下文。适度重叠(overlap)可缓解边界断裂。

  • 给每块附元数据(来源、时间、章节),供过滤与引用。

二、混合检索优于单一向量

  • 纯向量擅长语义相似,弱于精确匹配(型号、错误码、专有名词)。

  • 关键词检索(BM25 类)擅长精确命中,弱于语义泛化。

  • 实践:向量 + 关键词双路召回,再合并去重,覆盖面明显更广。

三、重排(Rerank)提升精度

初筛召回可以多,但进入上下文必须精。用重排模型对候选做二次排序,只把 top-k 交给生成端。召回追求"不漏",重排追求"排对",分工明确。

四、查询改写

用户问题常口语化、缺指代。先做查询扩展/改写(补全上下文、生成多个查询变体),再检索,命中率通常显著提升。

五、评估检索而非只看最终答案

要单独度量:召回率(该捞的捞到没)、精度(捞到的相关性)、排序质量。只看最终答案好坏,无法定位"是检索的锅还是生成的锅"(呼应 Evals 的分层思想)。

六、常见误区

  • 只调生成模型不动检索;固定字数切块;只做向量不做关键词;召回直接全塞上下文不重排;不做检索评估;块无元数据导致引用不可溯。

七、检查单

  • [ ] 分块按语义结构,带少量重叠

  • [ ] 每块附来源与时间等元数据

  • [ ] 向量 + 关键词混合召回

  • [ ] 有重排环节,控制进入上下文的量

  • [ ] 有查询改写与扩展

  • [ ] 单独度量召回率、精度、排序质量

  • [ ] 检索为空时明确告知模型,禁止脑补

  • [ ] 答案可溯源到具体块

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。