什么是RAG检索增强生成?
更新: 8/7/2026字数: 0 字 时长: 0 分钟

RAG(Retrieval-Augmented Generation,检索增强生成) 是当前大语言模型(LLM)落地应用中最核心的技术之一。
简单来说,RAG = 传统搜索/数据库检索 + 大语言模型生成。它通过在将问题提交给大模型之前,先去外部知识库中“查资料”,然后把查到的资料和你的问题一起喂给大模型,让大模型“开卷考试”,从而给出精准、有据可查的回答。
📌 为什么需要 RAG?(解决了大模型的哪些痛点)
直接使用纯大语言模型(LLM)时,通常面临三个致命缺陷:
- 幻觉问题(Hallucination):大模型本质是基于概率预测下一个词,对于不知道的知识容易“一本正经地胡说八道”。
- 知识滞后与更新成本高:大模型的知识停留在预训练结束的那一刻。如果想补充最新知识(比如公司内部文档或最新新闻),重新训练或微调(Fine-tuning)成本高昂且耗时。
- 数据隐私与安全性:企业内部的敏感数据(如财务报表、HR 制度)不能直接拿去训练公共大模型。
🛠️ RAG 的工作原理(三步走)
RAG 的核心流程可以分为 检索(Retrieval)、增强(Augmentation)、生成(Generation) 三个环节:
[ 用户提问 ]
│
▼
┌─────────┐ 1. 检索 (Retrieval) ┌─────────────┐
│ 向量数据库 ├────────────────────────────►│ 找到的相关文档│
└─────────┘ └──────┬──────┘
│
▼
┌─────────┐ 2. 增强 (Augmentation) ┌─────────────┐
│ Prompt ├────────────────────────────►│ 带有背景知识 │
│ (提示词) │ (拼接:问题 + 检索到的知识) │ 的完整提示词 │
└─────────┘ └──────┬──────┘
│
▼
3. 生成 (Generation)
│
▼
[ 大模型输出回答 ]1. 检索(Retrieval)
- 知识库预处理:提前把公司的 PDF、Word、数据库文档切成小段(Chunk),并转化为数学向量(Vector)存入向量数据库(如 Milvus, Pinecone, Chroma 等)。
- 匹配知识:当用户提问时,系统把问题也转为向量,去向量数据库里寻找语义最相似的几段文档片段。
2. 增强(Augmentation)
- 拼接上下文:系统将检索出来的“文档片段”和用户的“原始问题”组合成一个全新的提示词(Prompt)。
- 格式示例:
“请根据以下参考资料回答问题。如果资料中未提及,请回答‘未知’。\n\n【参考资料】:……\n\n【用户问题】:……”
3. 生成(Generation)
- 开卷考试:大模型接收到这个带有丰富背景知识的提示词后,不再依赖“死记硬背”的记忆,而是根据传入的资料总结、提炼并生成最终答案。
📊 RAG vs 微调(Fine-tuning)
很多初学者容易混淆 RAG 和模型微调,两者的核心区别如下:
| 对比维度 | RAG(检索增强生成) | Fine-tuning(模型微调) |
|---|---|---|
| 比喻 | 开卷考试(看资料回答) | 闭卷考试(把知识背进脑子里) |
| 知识更新 | 极快:随时往数据库添加/修改文档即可 | 极慢/高成本:需要重新整理数据集并训练 |
| 幻觉率 | 低:有原文可依,可要求附带引用来源 | 中/高:依然可能产生幻觉 |
| 数据隐私 | 极高:敏感数据留在本地向量库即可 | 中:数据会被打包炼进权重中 |
| 适合场景 | 企业知识库、客服系统、最新文档/法规查询 | 改变模型的语言风格、特定领域术语或输出格式 |
💡 典型应用场景
- 企业内部知识库 / AI 客服:直接对接公司的 HR 手册、产品技术文档,员工/客户提问时精准回复,不漏泄机密。
- 个人知识管理(PKM):如 Obsidian/Notion 的 AI 插件,检索你过去记录的所有笔记并回答。
- 专业领域法律/医疗咨询:基于最新的法律法规或医学文献提供有据可查的参考意见。