检索增强

RAG 检索增强生成:让大模型「查资料」再回答

RAG(Retrieval-Augmented Generation)通过先检索相关资料、再让大模型基于资料作答,缓解「幻觉」并让回答有据可依。本文讲清它的原理与企业价值。

一、为什么需要 RAG

大语言模型的知识来自训练数据,对训练截止之后的新信息、以及你企业内部的私有资料,它并不知道。直接让它回答这类问题,很容易「编」出一个听起来合理、实则错误的答案。

RAG 的思路很朴素:在让模型回答之前,先去一个可靠的资料库里,把和问题相关的资料「找出来」,再把这些资料连同问题一起交给模型,让它「看着资料答」。

这样一来,回答就有了出处,也更贴合你自己的业务,而不是模型凭空发挥。

二、RAG 的工作原理

典型的 RAG 流程分三步:第一步是「建索引」,把企业文档切分成小段,转成向量(一种能表达语义的数值表示)存起来;第二步是「检索」,用户提问时,把问题也转成向量,去资料库里找出语义最相近的几段;第三步是「生成」,把检索到的资料作为上下文,交给大模型组织成最终回答。

这里的关键是「语义检索」:它看的是意思相近,而不只是关键词相同。所以用户用口语提问,也能找到真正相关的资料。

检索质量决定了回答质量。资料切分是否合理、向量模型是否匹配业务、以及是否做了去重与过滤,都会直接影响最终效果。

三、RAG 对企业意味着什么

对企业,RAG 是把大模型「接进自己知识」的低成本方式:不需要重新训练模型,只要把资料准备好,就能让模型基于你的产品手册、制度、案例来回答。

它特别适合「内部知识问答」「客服辅助」「文档检索」这类场景——员工或客户问什么,系统就从资料里找依据,再给出有据可查的回答。

当然,RAG 也不是万能。资料本身错误或过时,检索就会带偏回答;因此资料治理(更新、分级、权限)和系统化的评估,和模型本身一样重要。

常见问题

RAG 和微调有什么区别?

微调是改变模型自身的参数,让它更擅长某类任务;RAG 不改模型,而是在回答时临时提供外部资料。绝大多数企业知识类需求,先用 RAG 更便宜、更易维护;只有当需要改变模型的「风格或能力」时,才考虑微调。

RAG 能彻底解决「幻觉」吗?

不能彻底,但能大幅缓解。只要要求模型「只基于检索到的资料回答、资料没有就说明不知道」,并配合引用来源,幻觉会显著减少。不过检索遗漏或资料有误时,仍可能出错,所以需要持续的资料治理。

什么场景适合用 RAG?

适合资料明确、需要可追溯、且知识会频繁更新的场景,比如产品问答、内部制度检索、客服知识库。反过来,需要创造性发散或模型本身就能答好的通用问题,RAG 的增益有限。