AI 中的 RAG 是什么?从原理到实践的完整解读
·
摘要:RAG(Retrieval-Augmented Generation,检索增强生成)是当前大模型应用中最主流的技术范式之一。本文从 RAG 要解决的问题出发,讲清它的核心原理、完整流程、关键组件、常见变体与落地注意事项,帮助读者建立从概念到实践的完整认知。

一、为什么需要 RAG
大语言模型(LLM)虽然具备强大的语言理解和生成能力,但在真实业务场景中,它有三个绕不开的短板:
- 知识有截止时间:模型的训练数据存在时间边界,无法感知训练之后发生的新事件、新政策、新产品。
- 缺乏私有知识:企业内部文档、业务数据、客户资料等从未进入公开训练语料,模型天然不知道。
- 容易产生幻觉:当模型不知道答案时,仍可能编造出看似合理但完全错误的内容。
一种朴素的做法是继续用私有数据微调模型,但微调成本高、更新慢,且难以保证事实准确性。RAG 提供了另一条路径:不改动模型参数,而是在生成之前先把相关资料“查出来”塞进上下文,让模型基于真实材料作答。
二、RAG 的核心思想
RAG 的字面含义是“检索增强生成”,可以拆成两个动作:
检索(Retrieval):根据用户问题,从外部知识库中找到最相关的若干文本片段。
生成(Generation):把这些片段作为上下文,连同原始问题一起交给大模型,生成最终答案。
用一个类比来理解:大模型像一位知识渊博但记忆停留在过去的专家,RAG 则相当于在提问时递给他一叠最新的参考资料,让他“开卷答题”。这样既保留了模型的表达能力,又让答案有据可依。
三、RAG 的完整流程
一个标准的 RAG 系统通常分为离线索引和在线问答两个阶段。
3.1 离线索引阶段
- 文档采集:收集 PDF、Word、网页、数据库记录、工单等原始资料。
- 文本解析与清洗:抽取正文,去除页眉页脚、乱码、重复内容。
- 文本切分(Chunking):把长文档切成几百字左右的片段,兼顾语义完整与检索粒度。
- 向量化(Embedding):用嵌入模型把每个片段转成向量。
- 写入向量库:将向量与原文、元数据一起存入向量数据库,建立索引。
3.2 在线问答阶段
- 问题向量化:用同一个嵌入模型把用户问题转成向量。
- 相似度检索:在向量库中找出与问题最相近的 Top-K 片段。
- 重排序(可选):用重排模型对候选片段做精排,提升相关性。
- 构造提示词:把检索结果与问题拼装成 Prompt,并约束模型“仅依据给定资料回答”。
- 生成答案:大模型输出答案,通常附带引用来源。
flowchart TD
A[用户提问] --> B[问题向量化]
B --> C[向量库相似度检索]
C --> D[Top-K 相关片段]
D --> E[重排序]
E --> F[构造 Prompt]
F --> G[大模型生成]
G --> H[带引用的答案]
四、RAG 的关键组件
| 组件 | 作用 | 常见选择 |
|---|---|---|
| 嵌入模型 | 把文本转为语义向量 | BGE、M3E、text-embedding 系列 |
| 向量数据库 | 存储向量并支持近似最近邻检索 | Milvus、Qdrant、FAISS、pgvector |
| 切分策略 | 决定检索粒度和语义完整性 | 固定长度、按段落、按标题层级 |
| 重排模型 | 对候选结果精排,提升准确率 | Cross-Encoder 类模型 |
| 大模型 | 基于上下文生成答案 | 各类通用或领域微调模型 |
五、RAG 的常见变体
- Naive RAG:最基础的“检索 + 生成”流程,适合快速验证。
- Advanced RAG:在检索前后增加查询改写、多路召回、重排序等优化。
- Modular RAG:把检索、路由、记忆、生成拆成可组合模块,灵活编排。
- Graph RAG:结合知识图谱,利用实体关系增强多跳推理能力。
- Agentic RAG:由智能体自主决定何时检索、检索什么、是否需要多轮检索。
六、RAG 与微调的区别
| 维度 | RAG | 微调 |
|---|---|---|
| 知识更新 | 更新知识库即可,实时性强 | 需重新训练,周期长 |
| 成本 | 较低,主要是检索与推理开销 | 较高,需要算力与标注数据 |
| 可解释性 | 可追溯引用来源 | 难以解释依据 |
| 适用场景 | 事实问答、文档检索、知识密集任务 | 风格对齐、领域表达、特定格式输出 |
实践中两者并不互斥,常见做法是用微调对齐风格与指令遵循能力,用 RAG 保证事实准确性。
七、落地时的注意事项
- 切分质量决定上限:切得太碎会丢失上下文,切得太长会稀释相关性,建议结合标题层级与语义边界。
- 混合检索更稳:向量检索擅长语义匹配,关键词检索擅长精确命中,二者结合往往效果更好。
- 提示词要约束:明确要求模型“资料中没有就说不知道”,可显著降低幻觉。
- 建立评估体系:分别评估检索命中率和生成质量,定位问题出在哪一环。
- 关注权限与安全:检索结果需按用户权限过滤,避免越权泄露敏感信息。

八、总结
RAG 的本质是用检索为生成提供事实依据。它不改变模型本身,却能以较低成本让大模型接入私有知识、保持信息新鲜、减少幻觉,并给出可追溯的答案来源。对于绝大多数企业级大模型应用而言,RAG 往往是第一个值得落地的技术方案。理解其流程与关键组件,再结合业务数据持续调优,才能真正发挥它的价值。
更多推荐



所有评论(0)