811 字
约 2 分钟
11
S20-B01 · RAG 是什么、为什么需要、完整流程
适用读者:想给模型接自己文档的人。本系列第一篇。
前置:S19-B02(提示词)、S13-B01(倒排索引)。
覆盖旧文:1059(79) 587(142) 1060(152) 580(81) 738(274) 723(318) 740(173) = 1,219 点。
覆盖扩展:E-S20-001(RAG 五步)、E-S20-002(为什么不塞满提示词)。
下一篇:S20-B02 · 分块与 Embedding。
1. 一句话结论
RAG(检索增强生成)= 先"查资料",再把查到的片段放进提示词让模型作答。它解决的不是"模型不够聪明",而是"模型不知道你的私有/最新数据"。
2. 五步流程(E-S20-001)
① 加载(Load) 文档 → 纯文本(PDF/HTML/Markdown)
② 分块(Chunk) 切成可检索的小段(B02)
③ 索引(Index) 向量化 + 存储(向量库/倒排)
④ 检索(Retrieve) 问题 → topK 片段(B03)
⑤ 生成(Generate) 片段 + 问题 → 提示词 → 答案(B04)
| 步骤 | 最常见的失败 |
|---|---|
| 加载 | PDF 表格/图片丢失(A-737) |
| 分块 | 关键句被切断(B02 实测) |
| 索引 | 维度/模型换了没重建 |
| 检索 | 召回不到(语义漂移,B04) |
| 生成 | 模型不按片段回答(幻觉) |
判据:"答案错了,先问"片段对不对",而不是先换模型"——80% 的 RAG 问题在检索侧。
3. 为什么不直接把文档塞进提示词(E-S20-002)
| 问题 | 说明 |
|---|---|
| 上下文窗口有限 | 几十份文档就塞满 |
| 成本 | 输入 token 按量计费(S19-B02) |
| 注意力稀释 | 塞得越多,模型越容易漏关键信息 |
| 更新 | 文档改了要重塞 |
判据:"你的知识库能放进窗口吗?" 能且不常变 → 直接塞;不能 → RAG。
4. RAG 与"模型知识"的分工
| 类型 | 适合 |
|---|---|
| 模型预训练知识 | 通用常识、语言能力 |
| RAG 检索 | 私有文档、实时数据、可追溯到出处 |
| 微调 | 风格/格式/特定任务(J04) |
"为什么 RAG 更适合":可更新、可追溯、不用重训——改一篇文档只需重建它的索引。
5. 五个误区
| 误区 | 真相 |
|---|---|
| "RAG 能消除幻觉" | 不能(B04 详讲) |
| "换个更强的模型就行" | 多数问题在检索 |
| "向量库越大越好" | 噪声也会被召回 |
| "分块随便切也行" | 切断关键句直接导致答错 |
| "RAG 就是向量检索" | 还有 BM25/混合/重排 |
6. 自检
- RAG 五步各做什么?
- 为什么不能把文档全塞进提示词?
- RAG / 微调 / 提示 的分工?
- 为什么说"多数问题在检索侧"?
- 文档更新后要重建什么?
7. 下一篇
S20-B02 · 分块与 Embedding
流程讲完,下一篇进最容易被忽略的一步:分块——附"关键句被切断"的实测。
本篇属于系列《S20 · AI 应用与工程》。旧文来源:A-1059/587/1060/580/738/723/740;扩展点 E-S20-001/002。
S20-B01 · RAG 是什么、为什么需要、完整流程
https://www.clxhxhhr.top/posts/5464/ 评论
0 条
还没有评论,先写一条吧。