1.1 RAG 核心定义:检索增强生成(Retrieval-Augmented Generation)
检索增强生成(Retrieval-Augmented Generation,简称 RAG) 是一种将信息检索与大语言模型生成能力相结合的 AI 技术框架。其核心思想是:在模型回答问题或生成文本之前,先从外部知识库(如文档、数据库、网页等)中检索到相关的信息片段,然后将这些检索到的内容作为上下文,一并提供给生成模型,帮助模型产出更准确、更可靠且可溯源的回答。
简单来说,RAG 让语言模型不再是“闭卷考试”,而是“开卷答题”——模型可以根据当前问题,临时查阅外部资料,再给出答案。
为什么需要 RAG?
传统大语言模型(如 GPT 系列)虽然表达能力强,但存在几个根本性局限:
- 知识截止与滞后:模型训练数据有截止日期,无法知晓训练后发生的事情。
- 幻觉问题:对不知道的内容,模型可能会编造细节,生成看似合理但实际错误的信息。
- 无法引用来源:即使回答正确,也难以追溯信息出处,在需要核实、审计的场景中不可靠。
RAG 通过将“检索”前置,使模型在生成时能够引用最新的、可信的外部知识,从而有效缓解上述问题。
RAG 的基本工作流程
一个典型的 RAG 系统通常包含以下步骤:
- 索引构建(离线阶段)
将外部知识源(如公司内部文档、产品手册、法律条款等)切分成若干小段(chunks),通过嵌入模型(embedding model)将每段文本转换成向量,存入向量数据库。这一过程只需在知识更新时重复,不参与每次提问的实时计算。
- 检索(在线阶段)
用户提问后,先将问题同样转换成向量,在向量数据库中通过相似度搜索,召回最相关的几个文本片段(例如 top‑k 个 chunk)。
- 增强与生成
把检索到的文本片段连同原始问题一起填入提示模板,构成完整的上下文,送给大语言模型。模型基于这些提供的内容生成最终回答,并可依据检索结果简要标明信息来源。
一个贴近现实的例子
假设你所在的公司使用 RAG 构建了内部知识库助手。员工提问:“今年的年假政策有哪些变化?”系统会:
- 将问题转为向量,在已索引的《员工手册》《福利政策修订通知》等文档中检索;
- 检索到两段相关文本:“年假天数由 15 天调整为 18 天”“未休年假的折算比例从 200% 提升至 250%”;
- 将这两段文字与问题组合,发给 LLM;
- LLM 生成回答:“根据最新政策,今年起年假天数增加至 18 天,未休完的年假可按照 250% 的标准折算成薪资。详见《福利政策修订通知》第 2 条。”
这样,回答不但准确反映了最新政策,还能指明出处,方便员工进一步查阅。
RAG 与其他概念的区别
- 不是微调:RAG 不改变模型参数,而是动态注入外部知识;可随时更新知识库而无需重新训练。
- 不是单纯的搜索引擎:搜索引擎返回网页列表,需要人自行阅读;RAG 直接生成整合过的答案,同时保留溯源能力。
通过上述设计,RAG 在保持生成流畅性的同时,大幅提升了回答的事实准确性和实时性,是目前许多企业级智能问答、知识库应用的核心技术模式。