大数跨境

RAG核心技术-如何让大模型联网自学

RAG核心技术-如何让大模型联网自学 AI科技在线
2026-03-23
2
导读:目录:前文回顾背景引入:大模型为什么会"不知道"?

目录:

  1. 前文回顾
  2. 背景引入:大模型为什么会"不知道"?
  3. 核心概念一:什么是 RAG
  4. 核心概念二:RAG 解决的三大痛点
  5. 核心概念三:RAG 的工作原理
  6. 核心概念四:向量数据库——RAG 的"记忆库"
  7. 核心概念五:RAG vs 微调——怎么选?
  8. RAG 的实际应用案例
  9. RAG 的局限性和挑战
  10. 本文小结
  11. 今日思考题

一、前文回顾

在前面的文章中,咱们聊了:

  • 大模型的"思考"是预测下一个词
  • 大模型会产生 幻觉 ,因为它们没有真假概念
  • 提示词工程 可以提高AI的回答质量

但是!大模型有一个很致命的问题:

它的知识是"冻结"在训练时间

今天咱们就来聊一个解决这个问题的重要技术—— RAG(检索增强生成) 。


二、背景引入:大模型为什么会"不知道"?

先来看几个真实的场景。

场景一:问今天的事

你:"今天天气怎么样?"

ChatGPT:"抱歉,我的知识截止日期是2023年1月,无法提供实时信息。"

为什么?

因为模型训练完之后,就 不再学习新知识  了。

场景二:问公司内部文档

你:"我们公司的请假制度是什么?"

AI:"抱歉,我没有关于您公司请假制度的信息。"

为什么?

因为公司的 内部文档不在训练数据里 。

场景三:编造答案

你:"《飞驰人生3》电影什么时候上映?"

AI:"《飞驰人生3》电影已于2026年上映,由韩寒编剧..."

(这是编造的!实际上当时还没有上映)

为什么?

因为模型 不知道答案,但又要回答 ,于是就产生了幻觉。

这些问题,RAG 都能解决!


三、核心概念一:什么是 RAG

3.1 RAG 的定义

RAG = Retrieval-Augmented Generation(检索增强生成)

听起来很高大上?说白了就是:

给大模型配一个"图书馆",让它回答问题前先去查资料

咱们用一张图来感受一下:

传统大模型

RAG 大模型

3.2 RAG 的本质

RAG = 开卷考试

传统大模型:
- 闭卷考试
- 只能靠记忆
- 记不住就瞎编

RAG 大模型:
- 开卷考试
- 可以查资料
- 照着资料回答

3.3 RAG 的三个关键词

关键词
英文
简单理解
检索
Retrieval
找相关资料
增强
Augmented
把资料加入问题
生成
Generation
生成最终答案

四、核心概念二:RAG 解决的三大痛点

RAG 主要解决大模型的三大问题。

痛点一:知识过时

问题: 大模型的知识"冻结"在训练时间。

用户:"GPT-4 发布了什么新功能?"

没有 RAG 的模型:
"GPT-4 是 OpenAI 发布的多模态大语言模型..."
(泛泛而谈,没有最新信息)

有 RAG 的模型:
"根据最新资料,GPT-4 Turbo 发布于2023年11月,
新增了以下功能:
1. 上下文窗口扩展到128K
2. 支持视觉输入
3. 价格降低60%..."

RAG 解决方案:检索最新的资料

痛点二:幻觉问题

问题: 大模型会"一本正经地胡说八道"。

用户:"我们公司的报销流程是什么?"

没有 RAG 的模型:
"一般来说,公司报销流程是..."
(编造一个通用流程,完全不对)

有 RAG 的模型:
"根据《XX公司员工手册》第5章,
报销流程如下:
1. 填写报销单
2. 部门经理审批
3. 财务审核
4. 3-5个工作日到账"

RAG 解决方案:基于真实资料回答

痛点三:私有数据

问题: 公司/个人的私密数据不可能训练到模型里。

典型场景:
- 公司内部文档
- 个人笔记
- 私有数据库
- 最新合同
- 内部知识库

RAG 解决方案:让模型访问外部数据源

咱们用一张表来总结:

痛点
没有 RAG
有 RAG
知识过时
只能回答训练时的事
可以回答最新的事
幻觉问题
容易编造答案
基于真实资料回答
私有数据
无法访问
可以访问外部数据源

五、核心概念三:RAG 的工作原理

这是本文的核心!咱们要深入理解 RAG 是怎么工作的。

5.1 RAG 的完整流程

咱们用一个完整的例子来演示:

用户问题:"Python 里怎么读取 CSV 文件?"

Step 1:检索(Retrieval)

用户问题:"Python 里怎么读取 CSV 文件?"
    ↓
问题转向量
    ↓
在向量数据库中搜索
    ↓
找到相关资料:
"pandas.read_csv() 是读取CSV文件最常用的方法..."
"csv 模块提供了 reader 对象..."

Step 2:增强(Augmentation)

原始问题:
"Python 里怎么读取 CSV 文件?"

检索到的资料:
["pandas.read_csv() 是最常用的方法...",
 "csv 模块也提供了读取功能..."]

增强后的输入:
"请根据以下资料,回答用户的问题:

资料1:pandas.read_csv() 是读取CSV文件最常用的方法...
资料2:csv 模块提供了 reader 对象...

用户问题:Python 里怎么读取 CSV 文件?"

Step 3:生成(Generation)

大模型根据增强后的输入生成回答:

"根据参考资料,Python 中读取 CSV 文件有以下两种方法:

方法一:使用 pandas(推荐)
import pandas as pd
df = pd.read_csv('file.csv')

方法二:使用 csv 模块
import csv
with open('file.csv') as f:
    reader = csv.reader(f)
    ...
"

5.2 详细流程图

5.3 为什么要把文本转向量?

这是 RAG 最关键的技术点!

向量 = 数学的"距离"可以表示"相似度"

文本A:"苹果很好吃"
文本B:"香蕉很好吃"
文本C:"今天天气不错"

转换成向量:
文本A → [0.8, 0.2, 0.1, ...]
文本B → [0.7, 0.3, 0.1, ...]
文本C → [0.1, 0.1, 0.9, ...]

计算距离:
A和B的距离很近 → 相似(都是说水果)
A和C的距离很远 → 不相似

向量搜索 = 找到最"相近"的资料


六、核心概念四:向量数据库——RAG 的"记忆库"

6.1 什么是向量数据库?

向量数据库是专门存储和搜索向量的数据库 。

咱们来对比一下:

对比项
传统数据库
向量数据库
存储内容
数字、文本、日期
向量(一串数字)
搜索方式
精确匹配
相似度搜索
例子
WHERE name = "张三"
找最相似的向量
应用场景
查找具体数据
找相似内容
常见产品
MySQL、MongoDB
Pinecone、Milvus、Weaviate

6.2 向量数据库的工作原理

存储阶段:
1. 文档分块
   "Python 是一种编程语言..."
   "Python 有很多应用场景..."
   ...

2. 每块转向量
   块1 → [0.23, 0.56, ...]
   块2 → [0.34, 0.12, ...]
   ...

3. 存入向量数据库


检索阶段:
1. 问题转向量
   "Python 有什么用?" → [0.25, 0.53, ...]

2. 计算相似度
   与块1的距离:0.05(很接近!)
   与块2的距离:0.23(比较接近)

3. 返回最相似的块
   返回块1、块2...

6.3 主流向量数据库

数据库
特点
适用场景
Pinecone
云服务、易用
快速上线、中小规模
Milvus
开源、高性能
大规模部署
Weaviate
开源、易集成
快速原型开发
Chroma
轻量级、易用
本地开发、测试
FAISS
Facebook出品、超快
超大规模搜索

6.4 文档怎么切分?

这是 RAG 实践中的重要问题!

切分原则:既要完整,又要好检索

切分策略
优点
缺点
按段落切分
语义完整
段落大小不一
按固定字符数
大小均匀
可能切断语义
按句子切分
语义单位小
上下文不够
智能切分
平衡语义和大小
实现复杂

经验值:每块 500-1000 字比较合适


七、核心概念五:RAG vs 微调——怎么选?

很多人会问:RAG 和微调,到底用哪个?

咱们来详细对比一下。

7.1 本质区别

微调:
- 改变模型的知识
- 把知识"烙"进参数里
- 像让学生背书

RAG:
- 不改变模型
- 给模型配个"参考书"
- 像开卷考试

7.2 详细对比表

对比项
微调
RAG
原理
修改模型参数
外挂知识库
知识更新
需要重新训练
更新数据库即可
成本
高(需要训练)
低(只需存储)
知识准确性
可能产生幻觉
基于真实资料
适用知识
通用能力、格式
具体事实、数据
透明度
黑盒
可追溯来源
上线速度
慢(几周)
快(几天)

7.3 怎么选?

选微调的场景:

✅ 需要改变说话风格
✅ 需要特定格式输出
✅ 需要学习通用能力(如写代码风格)
✅ 知识相对稳定

例子:
- 让模型学会公司的话术风格
- 让模型按固定格式输出JSON
- 让模型学会特定领域的编码规范

选 RAG 的场景:

✅ 知识经常变化
✅ 需要准确的事实
✅ 有大量文档
✅ 需要追溯来源

例子:
- 客服知识库(经常更新)
- 法律文档检索(要求准确)
- 技术文档问答(内容多)
- 新闻资讯(实时性)

7.4 最佳实践:RAG + 微调

很多情况下,两者结合效果最好

场景:智能客服系统

微调部分:
- 学会公司的话术风格
- 学会标准回复格式
- 学会如何组织回答

RAG 部分:
- 检索最新的产品信息
- 检索具体的技术文档
- 检索最新的政策规定

组合效果:
既专业(微调)又准确(RAG)

八、RAG 的实际应用案例

咱们来看几个真实的 RAG 应用。

案例一:智能客服系统

问题: 某电商公司客服每天回答大量重复问题

解决方案:

1. 构建知识库
   - 产品说明书
   - 常见问题解答
   - 退换货政策
   - 物流信息

2. RAG 系统
   - 用户提问:"怎么退货?"
   - 检索到退货政策文档
   - 基于文档生成回答

3. 效果
   - 回答准确率 95%
   - 客服工作量减少 70%

案例二:法律文档助手

问题: 律师需要快速查找相关法条和案例

解决方案:

1. 构建法律知识库
   - 法律法规
   - 判例文书
   - 法律注释

2. RAG 系统
   - 用户提问:"合同违约怎么赔偿?"
   - 检索相关法条和案例
   - 生成带引用的回答

3. 效果
   - 检索时间从几小时缩短到几分钟
   - 每个回答都有法条依据

案例三:企业知识管理

问题: 公司大量文档,员工找不到需要的信息

解决方案:

1. 整合公司文档
   - 技术文档
   - 流程规范
   - 会议纪要
   - 项目报告

2. RAG 系统
   - 员工提问:"我们的报销流程是什么?"
   - 检索到相关制度文档
   - 生成准确回答

3. 效果
   - 信息查找效率提升 10 倍
   - 新员工培训周期缩短 50%

九、RAG 的局限性和挑战

RAG 虽然强大,但也不是万能的。

挑战一:检索质量

问题: 检索到的资料可能不相关

用户问题:"Python 里的装饰器是什么?"

可能检索到:
"Python 是一种流行的编程语言..."(不相关!)
"室内装饰风格..."(完全无关!)

解决方案:

  • 优化文档切分
  • 使用更好的嵌入模型
  • 调整检索参数

挑战二:上下文窗口限制

问题: 检索到的资料太多,放不进上下文

假设:
- 上下文窗口:8K Token
- 用户问题:100 Token
- 检索到的资料:100K Token

→ 资料放不下!

解决方案:

  • 只检索最相关的 Top-K 资料
  • 对资料进行压缩摘要
  • 使用更长上下文的模型

挑战三:实时性问题

问题: 向量数据库的更新有延迟

场景:新闻资讯 RAG 系统

问题:
- 新闻每分钟都在更新
- 向量数据库更新有延迟
- 用户可能看到过时的信息

解决方案:

  • 增加数据库更新频率
  • 对时效性强的内容单独处理
  • 结合实时搜索API

挑战四:成本问题

问题: RAG 系统需要额外成本

成本类型
说明
向量数据库
需要托管服务(如 Pinecone)
存储成本
向量比原文占空间
计算成本
每次查询都需要检索
维护成本
需要维护数据更新

但相比重新训练模型,RAG 仍然便宜很多


十、本文小结

咱们今天主要讲了以下几点:

1. 什么是 RAG

  • RAG = 检索增强生成
  • 给大模型配个"图书馆"
  • 让它回答问题前先查资料

2. RAG 解决的三大痛点

  • 知识过时:可以检索最新资料
  • 幻觉问题:基于真实资料回答
  • 私有数据:可以访问外部数据源

3. RAG 的工作原理

检索(找资料)→ 增强(合并问题+资料)→ 生成(回答)

4. 向量数据库

  • 存储和搜索向量的专用数据库
  • 通过向量距离表示相似度
  • 主流产品:Pinecone、Milvus、Weaviate

5. RAG vs 微调


微调
RAG
知识更新
需要重新训练
更新数据库即可
成本
适用场景
学习能力/格式
具体事实/数据

6. 实际应用

  • 智能客服系统
  • 法律文档助手
  • 企业知识管理

7. 挑战

  • 检索质量
  • 上下文窗口限制
  • 实时性问题
  • 成本

8. 关键公式

好用的 RAG = 优质知识库 + 好的嵌入模型 + 精准检索 + 大模型生成

十一、今日思考题

今天留一个思考题:

如果你要为公司搭建一个 RAG 系统,你会怎么设计?

提示:

  • 知识库包含哪些内容?
  • 如何保证资料的实时更新?
  • 如何评估检索质量?
  • RAG 和微调需要结合吗?

欢迎在评论区分享你的想法!



【声明】内容源于网络
0
0
AI科技在线
1234
内容 1277
粉丝 0
AI科技在线 1234
总阅读8.2k
粉丝0
内容1.3k