RAG(检索增强生成)
RAG给模型外挂知识库
亦作、亦称:检索增强生成 · Retrieval-Augmented Generation
检索增强生成(RAG)是一种在推理时动态检索外部文档、将其注入提示词再由大语言模型生成回答的架构范式。它让模型能够访问最新或私有知识,同时降低因参数知识不足导致的幻觉,是当前企业落地 LLM 的最主流路径之一。
概述
RAG 的核心动机是将「知识存储」与「生成推理」解耦,弥补纯参数化 LLM 的固有局限。
- 知识截止问题:LLM 权重训练完成后知识便被固化,RAG 通过外部索引实现知识的实时增量更新,无需重新训练。
- 私有数据访问:企业内部文档、合规数据无需上传训练,只需建立本地索引即可供模型使用。
- 答案可溯源:检索结果可作为引用来源展示,便于人工核查,增强可信度与审计能力。
- 成本可控:相比全量微调,RAG 的知识更新只涉及索引重建,无需重新训练模型权重。
工作原理
典型 RAG 流水线分为离线索引与在线检索两个阶段,各环节均有专用组件承接。
- 分块(Chunking):将文档切分为固定长度或语义完整的片段,块的大小直接影响后续召回质量。
- 向量化(Embedding):用嵌入模型(如 text-embedding-3-small、BGE 系列)将每个块映射为稠密向量,存入向量数据库(FAISS、Pinecone、Weaviate 等)。
- 检索(Retrieval):用户查询同样被向量化,通过余弦相似度或点积找出最相关的 Top-K 块;亦可叠加 BM25 关键词检索实现混合检索(Hybrid Search)。
- 重排(Reranking):可选地用 Cross-Encoder 重排模型对 Top-K 结果精排,过滤噪声块,提升上下文质量。
- 注入生成:筛选后的文本片段拼入 Prompt,由 LLM 依据上下文生成最终回答;提示词通常明确要求模型「仅根据给定文档作答」。
类型与变体
按检索粒度、检索时机与自适应程度,RAG 衍生出多种主流变体。
- Naive RAG:最基础的单轮检索注入,流程简单但缺乏查询理解与结果优化。
- Advanced RAG:引入查询改写(Query Rewriting)、HyDE(先让模型生成假设文档再检索)、检索后重排等优化,提升召回精度。
- Modular RAG:将各环节拆解为可替换模块,灵活组合适配不同业务场景。
- Agentic RAG / Self-RAG:模型自主判断是否需要检索、检索什么、结果是否满意,可多轮迭代;Self-RAG(2023)通过插入特殊「反思标记」动态控制检索时机。
- GraphRAG:以知识图谱为底层存储,支持多跳推理,适合关系复杂的领域知识(微软 2024 年开源)。
应用场景
RAG 在需要「准确、可溯源、可更新」的场景中具有突出优势。
- 企业知识问答:内部文档、产品手册、合规规范的智能检索,权限控制确保不同角色只能访问授权文档。
- 客服与法律医疗助手:结合领域语料索引,大幅减少幻觉风险,答案附带原文引用。
- 代码库问答:将代码仓库文件向量化,支持「这个函数在哪里定义」「如何使用 X API」等精准查询。
- 实时搜索增强:Perplexity、Bing Chat 等产品将实时网络搜索结果注入生成,突破模型知识截止限制。
- 个人知识库:Notion AI 等工具将笔记库与 LLM 结合,实现个性化知识管理与检索。
与相邻概念的区别
RAG 常与微调、长上下文模型等方案并列讨论,理解边界有助于技术选型。
- RAG vs 微调(Fine-tuning):微调将知识融入权重,适合固化的风格、格式或海量专业知识,但更新成本高;RAG 适合知识频繁变动或数据远超上下文窗口的场景,两者可叠加使用。
- RAG vs 长上下文 LLM:当文档量可完整塞入上下文时,直接全文输入有时比稀疏检索更稳定;但超大语料库(数十亿 token 级别)下 RAG 的检索效率仍不可替代。
- RAG vs 传统搜索引擎:传统搜索以关键词匹配为核心;RAG 的检索组件以语义向量相似度为基础,能捕捉语义等价但字面不同的查询。
- RAG vs 纯提示工程:提示工程只操作模型内部参数知识,无法引入外部实时数据;RAG 则在推理时动态扩展可用信息来源。
局限与误区
RAG 并非银弹,实际落地中存在若干常见误区和质量瓶颈。
- 检索质量决定上限:若召回文档块不相关或被截断,LLM 无法凭空补全缺失信息;「Lost in the Middle」现象表明,关键信息若位于长上下文中间位置,模型容易忽略。
- 分块策略影响极大:块过短则语义不完整,过长则引入噪声,没有通用最优参数,需按文档类型调优。
- 嵌入模型领域适配:通用嵌入模型在高度专业化领域(法律、医学、代码)召回率常不足,需领域专用或微调过的嵌入模型。
- 「RAG 能消除幻觉」是误解:RAG 降低的是因参数知识不足导致的幻觉;若文档本身存在错误,模型倾向于忠实复现;由上下文矛盾或推理失误导致的幻觉 RAG 无法解决。
- 延迟与成本开销:检索、重排环节增加响应延迟;向量数据库运维与嵌入 API 调用均产生额外成本,需在精度与效率间权衡。
发展脉络
RAG 的演进路径从学术原型快速走向工程化,并催生了完整的工具链生态。
- 2020 年前:开放域问答领域已有「retrieve-then-read」框架,但尚未形成系统化范式。
- 2020:Meta AI(FAIR)在 NeurIPS 发表论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》,Patrick Lewis 等人正式提出 RAG 框架,结合 FAISS 检索维基百科段落与 BART 生成,在多个问答基准上取得 SOTA。
- 2022—2023:ChatGPT 引爆 LLM 应用热,RAG 迅速成为企业知识问答首选架构;LangChain、LlamaIndex 等框架大幅降低工程门槛;Pinecone、Weaviate、Chroma 等向量数据库赛道兴起。
- 2023:Self-RAG、Adaptive RAG 等自适应变体出现,将静态管道演化为动态决策系统;HyDE、FLARE 等检索优化方法相继提出。
- 2024:微软开源 GraphRAG,引入社区摘要与知识图谱,支持全局语义查询;长上下文模型(Gemini 1.5 Pro、Claude 3 等)的兴起推动了「RAG vs 长上下文」的技术路线讨论。
常见误解
日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。
- 「给模型外挂知识库」
- 「先搜文档再回答」
- 「企业知识库问答」
相关术语
和本术语关联紧密的其他词条,便于串联理解。
🎯 考点练习
含该术语的高频面试题,含标准答案与追问。
- 初级概念查看详解 →
Embedding(向量)在实际应用里能用来做什么?
Embedding 把文本变向量算相似度,能做语义搜索、相似推荐、去重、分类、RAG 检索。
- 中级概念查看详解 →
长上下文的「迷失在中间」(Lost in the Middle)是什么?如何缓解?
长上下文中模型对中间位置信息利用率低、呈 U 型,关键信息应放首尾。
- 中级场景高频查看详解 →
生产环境中如何系统性降低 LLM 幻觉?
多层组合:RAG 接地+引用、降温度、约束输出、提升检索质量、事实校验/自一致、拒答兜底、评测监控。
- 中级概念查看详解 →
什么是 Agentic RAG?它相比传统 RAG 强在哪里?
Agentic RAG 让 LLM 自主决定何时、检索什么、是否再查,支持多步与多源,胜在复杂查询与可纠错。
延伸阅读
从知识库精选 2 篇文章,帮助深入理解该术语。
外部参考
维基百科:查看「RAG」词条本页内容为本站原创撰写;维基百科链接仅作延伸参考。
