请用自己的话解释一下什么是 RAG(检索增强生成)?大模型本身已经很强了,为什么还需要给它外挂 RAG?
RAG基础
答案要点 RAG(检索增强生成)= 检索 + 生成:先从外部知识库里找到相关资料,再让大模型参考这些资料来回答问题 大模型的知识“冻结”在训练完成那一刻,之后发生的新事情、企业内部的私有资料它都不知道 遇到不知道的问题,模型倾向于一本正经地编造,这叫“幻觉”(Hallucination,指模型生成看似合理但不符合事实的内容) RAG 用“开卷考试”的方式补知识:不改模型本身,只在回答前把资料塞进上下文 三大好处:知识可以随时更新、答案可以溯源、成本远低于重新训练模型 核心概念 RAG(Retrieval-Augmented Generation,检索增强生成)是一种让大模型在回答问题之前,先从外部知识库中检索相关资料,再基于这些资料生成答案的技术方案。它把模型“背在脑子里的知识”(训练时学到的参数)和“随时可查的资料库”(外部文档)结合了起来。 打个比方:纯大模型答题像闭卷考试,全靠训练时背下来的内容;RAG 则是开卷考试,答题前先翻书找到相关章节,再组织语言作答。 为什么大模型需要 RAG | 大模型的短板 | RAG 怎么补 | |---|---| | 知识有截止日期,训练之后的新信息一概不知 | 知识库随时更新,不用重新训练模型 | | 没见过企业内部文档、私有数据 | 把私有资料放进知识库即可注入 | | 不知道时爱编造(幻觉) | 答案有检索到的原文支撑,可标注来源供核对 | | 重新训练一次成本极高 | 只需维护知识库,工程成本低得多 | 一句话总结:RAG 不是让模型变得更聪明,而是让它“答题前能查资料”。用户提问时,系统先检索出最相关的几段内容,连同问题一起交给模型,模型“看着资料回答”,答案自然更准、更新、更可信。 入门之后,建议往两个方向继续深入:一是 RAG 的完整链路(文档解析、分块、向量化、检索、重排),二是 RAG 与微调这两条技术路线该怎么选。
口语版讲法(约2分钟)
- 一句话定义:先检索资料,再让模型看着资料回答
- 闭卷考试的三个痛点:知识过时、没有私有知识、爱编造
- RAG 把闭卷改成开卷:检索结果随问题一起给模型
- 三个好处:知识可更新、答案可溯源、成本低
- 埋钉子:效果非常依赖检索质量
RAG 就是检索增强生成,说白了,就是让大模型在回答问题之前,先去外部知识库查一遍相关资料,再拿着查到的资料来组织答案。 我最喜欢用考试来打比方。纯大模型回答问题像闭卷考试,全靠它训练时“背”进参数里的知识。这就带来两个问题:第一,它的知识有截止日期,训练完成之后世界上发生的新事情它完全不知道,比如你问它上个月刚发布的新产品,它是答不上来的;第二,它没见过你公司内部的文档,比如报销制度、产品手册,这些私有资料不可能出现在训练数据里。更麻烦的是,大模型遇到不知道的问题,往往不会老老实实说“我不知道”,而是倾向于一本正经地编一个看起来很像样的答案,这就是我们常说的幻觉。 RAG 的思路,就是把闭卷考试改成开卷考试。我们提前把资料整理好放进知识库,用户提问的时候,系统先从库里检索出最相关的几段内容,把它们和问题一起塞给大模型,让模型“看着资料回答”。这样做有三个明显的好处:一是知识想更新就更新,改知识库就行,完全不用动模型;二是答案有原文支撑,可以标注来源,用户能自己核对,幻觉大大减少;三是成本比重新训练一个模型低太多了,中小团队也做得起。 [钉子] 当然,RAG 也不是万能的,它的效果非常依赖检索质量——如果检索回来的资料本身就不相关,模型照样会答错。所以真正做 RAG 系统的时候,大量功夫其实是花在文档分块、向量化、检索优化这些环节上的,这条链路每一步怎么做,我也可以展开聊一聊。
关键一句:RAG = 检索 + 生成,本质是把闭卷考试变成开卷考试,解决知识过时、私有知识缺失和幻觉三大问题。
面试官可能的追问
- 【概念辨析】有人说 RAG 不就是把资料复制粘贴进提示词吗?你觉得这个理解对不对?RAG 和直接把整份文档塞进上下文,区别在哪里?
- 【场景切入】假设公司要做一个内部规章制度问答机器人,员工问“产假有多少天”,直接用通用大模型回答会有什么风险?RAG 具体能怎么帮上忙?