RAG 检索增强生成
一、RAG 概述
RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合了 信息检索 与 大语言模型(LLM)生成能力 的 AI 框架。
- 由 Facebook AI Research(FAIR) 于 2020 年 首次提出
- 已成为大模型落地应用中的热门方案
- 主要用于 知识密集型任务:问答、摘要、内容生成等
核心理念:
从外部知识库中检索相关信息 → 作为 Prompt 输入给 LLM → 生成更准确、更时效、更贴合需求的文本
二、如何理解 RAG
RAG 可拆解为三个关键环节:
| 环节 | 说明 |
|---|---|
| 检索(Retrieval) | 从预先构建的知识库中检索与问题相关的信息 |
| 增强(Augmentation) | 将检索到的信息作为上下文,增强 LLM 的理解能力 |
| 生成(Generation) | LLM 基于增强后的 Prompt 生成最终回答 |
✅ 关键主语关系:
知识库中的信息 增强 了 LLM 的 Prompt
LLM 生成 了最终答案
三、为什么需要 RAG
LLM 的两大痛点
| 问题 | 说明 |
|---|---|
| 知识截止 | 模型知识受限于训练数据的时间范围 |
| 幻觉(Hallucination) | 模型可能自信地生成错误信息 |
✅ RAG 的价值:
摆脱静态知识限制,引入外部实时知识,显著提升回答的准确性与可靠性。
四、RAG 工作流程
graph LR
A[知识准备] --> B[嵌入与索引]
B --> C[用户查询]
C --> D[向量检索]
D --> E[提示增强]
E --> F[LLM 生成回答]
详细步骤
-
知识准备
- 收集文档 / 网页 / 数据库数据
- 清洗、去噪、预处理
- 文本分块(Chunking)
-
嵌入与索引
- 使用嵌入模型(如 GLM Embedding)
- 文本 → 向量
- 存入向量数据库(FAISS / Milvus 等)
-
查询检索
- 用户问题向量化
- 向量相似度检索(余弦相似度等)
- 返回 Top-K 相关片段
-
提示增强
- 检索结果 + 原始问题 → 构造 Prompt
-
生成回答
- LLM 基于增强 Prompt 生成回答
五、RAG 技术架构
RAG 主要由两大模块组成:
1️⃣ 检索模块(Retriever)
- 文本嵌入:查询 & 文档向量化
- 向量搜索:高效相似度匹配
- 双塔模型(Dual-Encoder)
- Query Encoder
- Document Encoder
- 映射至同一向量空间
常用工具:
- 嵌入模型:GLM、BGE、OpenAI Embedding
- 向量数据库:FAISS、Milvus、Weaviate、Qdrant
2️⃣ 生成模块(Generator)
- 使用大规模预训练 LLM(如 GLM、GPT 系列)
- 融合检索上下文
- 生成连贯、准确、信息丰富的回答
六、如何搭建一个 RAG 知识问答系统
✅ 数据准备与知识库构建
- 收集领域数据(医疗 / 法律 / 产品)
- 数据清洗与去重
- 文本分块(Chunk)
- 向量化并写入向量数据库
✅ 检索模块设计
- 问题向量化
- 相似度检索
- 结果排序(Top-K)
✅ 生成模块设计
- 上下文融合
- Prompt 工程
- LLM 生成回答
📌 实践建议:
先搭 Demo → 验证效果 → 持续迭代知识库与检索策略
七、典型应用场景
- 🏥 医疗问答系统
- ⚖️ 法律咨询助手
- 📦 产品智能客服
- 📚 企业知识库搜索
- 🧠 私有化 AI 助理
八、总结一句话
RAG = 检索外部知识 + 增强 Prompt + LLM 生成答案
是解决 LLM 幻觉与知识过时问题的关键技术方案。
留待后查,同时方便他人
联系我:ivesbao@163.com
联系我:ivesbao@163.com

浙公网安备 33010602011771号