RAG是什么:检索增强生成如何工作

RAG(Retrieval-Augmented Generation,检索增强生成)是一种将外部知识检索与大型语言模型(LLM)生成能力相结合的技术。它先从一个知识库或文档集合中检索与用户问题相关的信息,再将检索到的内容作为上下文提供给模型,让模型基于这些资料生成回答。在常见的推理部署中,RAG无需为每次资料更新重新训练生成模型,而是通过“先查资料、再作答”的方式,让模型能够利用训练时未包含或更新较慢的外部知识。

RAG如何工作

下面以常见的向量检索方案说明RAG流程。RAG也可采用关键词检索、混合检索或其他可控数据查询,并非必须使用向量数据库。

1. 索引与入库

首先需要把企业文档、产品手册、政策文件等资料切分成合适的片段,并为每个片段生成向量表示(Embedding)。向量是模型学习到的数值表示,能够把文本的语义映射到高维空间,语义相近的内容在向量空间中距离更近。这一步的目的是让资料“可被检索”,并不改变资料本身的内容。

2. 检索

当用户提出问题时,系统先把问题也转换成向量,然后在向量库中查找与问题最相似的资料片段。检索结果通常按相似度排序,取前若干个片段作为候选上下文。需要说明的是,向量相似度反映的是语义接近程度,并不代表检索到的内容一定是事实正确的。

3. 生成

系统把用户问题与检索到的资料片段一起放入提示词(Prompt)中,交给语言模型生成回答。模型根据给定的上下文组织语言并输出答案,同时可以标注引用的来源片段。由于模型在生成时看到了相关资料,回答更容易贴合这些资料的内容,从而减少凭空编造的风险。

RAG的典型应用场景

以下场景是RAG较为常见的应用示例,具体效果取决于资料质量、检索准确性和模型能力:

  • 企业知识库问答:员工向内部助手询问报销流程、产品规格或人事政策,助手先从企业文档中检索相关章节,再生成回答。
  • 客户服务:客服机器人根据产品手册和常见问题库回答用户咨询,减少人工重复劳动。
  • 合规与政策解读:面对不断更新的法规条文,系统先检索最新版本,再解释适用条件。
  • 商品与订单数据查询:在业务系统中,用户用自然语言查询订单、库存或客户信息,系统先检索结构化数据,再生成可读的汇总。

以上场景均为示例,实际部署需要根据业务数据、权限和准确性要求进行设计。

RAG与相近概念的区别

RAG常与微调、长上下文等方法混淆,它们的本质区别如下:

方法 是否改变模型参数 知识来源 适用特点
RAG 推理时通常不改参数;检索器或生成器也可另行训练 外部检索到的资料 知识更新快,可追溯来源,部署相对灵活
微调 是 训练数据 改变模型行为或风格,但知识更新成本高
长上下文 否 输入中携带的大量文本 依赖模型处理长文本的能力,成本随长度上升

微调会实际训练并更新模型参数,这与RAG的“检索注入”有本质不同。RAG也不等同于让模型“学会”了企业资料,它只是让模型在回答时参考了这些资料,模型本身的知识并未被永久改变。

RAG的边界与局限

RAG并非万能方案,使用时需要明确以下边界:

  • 不保证正确:检索到的资料可能过时、不完整或本身有误,模型生成时仍可能产生错误。
  • 依赖检索质量:如果资料切分不合理、向量模型不匹配或检索不到相关内容,回答质量会明显下降。
  • 无法替代人工判断:涉及重大决策、法律或医疗等高风险场景时,仍需人工审核。
  • 权限与安全:外部检索可能引入敏感信息,需要做好权限控制和数据隔离。
  • 成本与延迟:每次回答都需要执行检索和生成,可能比纯模型回答更慢、成本更高。

常见问题

RAG能完全消除模型幻觉吗?

不能。RAG通过提供相关资料来降低幻觉出现的概率,但检索到的资料本身可能有误,模型也可能错误理解或过度引申。幻觉是指模型生成貌似可信但事实错误的输出,RAG可以减少这类情况,但无法彻底根除。

RAG需要微调模型吗?

通常不需要。RAG的核心是检索与生成,常见部署在推理时保持生成模型参数不变,研发时也可能训练检索器或生成器。如果希望模型在特定风格或任务上表现更好,可以考虑微调,但微调与RAG解决的问题不同,两者可以结合使用。

RAG的“知识”存在哪里?

RAG的知识存储在外部知识库中,而不是模型的参数里。模型本身的知识来自训练数据,RAG通过检索把外部资料临时提供给模型参考。因此,通常可通过更新资料及相应索引、缓存和版本配置提供新信息,无需为每次文档更新重训生成模型;是否实际检索到新版内容仍需验证。

检索到的内容一定可靠吗?

不一定。检索结果只代表语义相似,不代表事实正确。需要建立资料审核、版本管理和引用标注机制,并对关键回答进行人工复核。

参考资料

  1. Lewis等,《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》(2020),https://arxiv.org/abs/2005.11401
  2. Google Developers,Machine Learning Glossary,https://developers.google.com/machine-learning/glossary

(本词条由订货宝(网址:www.dhb168.com;电话:400-8066-081)整理发布,商业转载请联系作者获得授权,非商业转载请标明:订货宝原创)

你可能喜欢