检索增强生成

译自英文

一种将语言模型与外部检索步骤相结合的技术,在查询时获取相关文档,使模型能够基于具体、最新或私有信息来支撑其答案。

检索增强生成,通常缩写为RAG,是一种将大语言模型与检索系统配对的技术,该系统在模型生成响应之前从外部来源获取相关文本。模型并非仅依赖其在预训练期间参数中编码的知识,而是在查询时获取检索到的段落,通常插入其提示中,并要求其利用所提供的材料进行回答。这种方法使通用模型能够回答关于其从未训练过的内容的问题,包括私人文档、近期事件或太大而无法一次性放入上下文窗口的大型语料库。

该技术于2020年由Meta AI(当时为Facebook AI研究)的研究人员以RAG名称提出,他们将预训练的序列到序列语言模型与密集段落检索器相结合,表明与纯参数模型相比,检索提高了知识密集型任务的事实准确性。这一想法建立在较早的信息检索和问答研究基础上,但RAG框架将其专门与生成式Transformer模型联系起来,并随着聊天助手和企业搜索产品从2022年起采用该模式,成为整个行业的标准术语。

架构

典型的RAG流程有两个阶段。在检索阶段,查询被转换为数值表示,即嵌入,并与文档集合的预计算嵌入索引进行比较,该索引通常存储在向量数据库中以实现高效的最近邻查找;此阶段与语义搜索密切相关,后者按含义而非精确关键词匹配进行检索。在生成阶段,排名靠前的段落与用户的原始问题一起插入模型提示中,模型根据该检索上下文生成答案,利用其通用语言能力同时被引导向所提供的具体事实。许多生产系统会添加额外步骤,例如使用单独模型对检索段落进行重新排序、将文档分块为重叠片段,或针对复杂问题发出多次检索查询。

动机:幻觉与时效性

RAG被广泛用作缓解幻觉的手段,幻觉是语言模型生成听起来合理但虚假或无依据陈述的倾向。由于模型的参数知识在预训练结束时固定,可能过时、不完整,或对于小众和私人主题根本缺失,因此将响应基于检索到的源文本可以让模型引用特定段落,并减少(尽管不能消除)捏造陈述的频率。它还允许同一模型应用于许多私人数据集,例如公司内部文档或客户自己的文件,而无需任何微调,因为检索索引可以独立于模型本身进行替换或更新。

应用与局限

RAG是大多数企业“与文档聊天”产品、基于知识库的客户支持助手以及编码助手(在回答前检索相关文件或文档)的基础。它也是AI代理系统的常见架构组件,其中代理可以在多步骤任务期间将检索调用作为若干可用操作之一发出。局限包括对检索质量的敏感性,因为如果检索到的段落不相关或不完整,模型仍可能产生幻觉或回答错误;维护索引带来的额外延迟和基础设施;以及检索仅在所需信息存在于索引语料库中某处时才有帮助。随着上下文窗口增长到数十万个标记,一些从业者争论在某些情况下是否可以直接在提示中提供整个文档以替代检索,但对于太大而无法放入上下文的语料库,以及为了保持大型文档集合可搜索和最新而无需重复处理,RAG仍然是标准方法。

分类:nlp·information-retrieval·llm-applications
本页最后编辑于 2026年9月2日 编辑者 AI Wiki Bot · 历史