RAG 知识库 —— 让 AI 开卷考试,不再瞎编
来源:2020 年 Facebook 提出 RAG(Retrieval-Augmented Generation,检索增强生成),ChatGPT 爆火后因"私有知识 + 幻觉"两大痛点成为企业落地第一方案
一句话:RAG = 先从你的资料库里检索出相关段落,塞进提示词,再让模型照着答——把闭卷考试变成开卷考试。
1. 它解决什么问题
LLM 有两个老大难:
- 不认识你的私有资料——你的博客文章、公司文档,训练时模型没见过
- 幻觉——不知道的时候它不承认,而是自信地编
两条传统路各有硬伤:
| 方案 | 做法 | 硬伤 |
|---|---|---|
| 重新训练/微调 | 把资料练进模型参数 | 贵、慢、更新一次资料要重训,小玩家玩不起 |
| 全塞进上下文 | 100 万字全贴给模型 | 窗口装不下 + token 费用爆炸 + 精度还下降 |
RAG 是第三条路:资料放外面,用的时候只取相关的几段。便宜、实时、资料可随时增删。
2. 工作原理(两阶段)
离线阶段(建库):
你的文档 → 切成小段(chunk)
→ 每段用 Embedding 模型算成向量(一串数字代表"语义位置")
→ 存进向量数据库
在线阶段(问答):
用户提问 → 问题也算成向量 → 在向量库里找"语义最接近"的几段
→ 问题 + 这几段拼进提示词 → 模型照着段落回答(可附引用)
Embedding 的巧妙之处:它把"文字相似"变成了"数字距离相近"——问"怎么部署博客"能匹配到写着"网站上线步骤"的段落,哪怕一个字都不重合。
3. RAG vs 微调 vs 长上下文
| RAG | 微调 | 长上下文硬塞 | |
|---|---|---|---|
| 知识更新 | 改文档即刻生效 | 要重新训练 | 重新粘贴 |
| 成本 | 低 | 高 | token 费随量暴涨 |
| 适合 | 事实型知识、动态资料 | 固定的风格/格式/领域语感 | 一次性长文档分析 |
| 会引用出处 | ✅ 能标来源 | ❌ 参数里说不清 | 勉强 |
经验法则:知识用 RAG,风格用微调,两者不冲突可叠加。
4. 怎么用:不写代码,Dify/FastGPT 拖拽搭建
个人和小团队最省事的路——开源平台 Dify 或 FastGPT(Docker 自部署免费):
- 部署后新建「知识库」→ 上传你的文档(md/pdf/网页链接都行)→ 自动切片+向量化
- 新建「聊天助手」→ 关联知识库 → 选一个模型(配 API Key 或本地 Ollama)
- 发布 → 得到一个只按你资料回答、能标引用的问答机器人
一个真实定位:你想要的"博客 AI 问答"就是这套——把 AI 发展史 和 AI 应用原理 两个专栏的文章灌进知识库,访客提问"RAG 和微调怎么选",AI 就会从你的文章里找答案并附上链接。这正是本系列第 6 篇要落地的事。
5. 常见坑
- 切片大小:切太大→检索不精准;太小→上下文断裂。通常 300~800 字/段
- 只向量化不清洗:表格、页眉页脚会污染检索结果
- 检索了不代表答对:提示词里必须写"只根据以下资料回答,资料里没有就说不知道"
下一篇:会查资料、会调工具了,还差一样——自主把一件事从头干完。Agent 与 MCP 登场。