日期:2026年7月4日
主题:一次深入 RAG 内核的学习之旅
今天花了一整天把 RAG(Retrieval-Augmented Generation,检索增强生成)的完整流程啃透了,从“用户问一个问题”到“模型给出带来源引用的答案”,中间每一个环节都藏着精巧的工程设计和算法选择。趁热用这篇日记把核心脉络记录下来,也方便以后回顾。
---
一、先理清整体骨架:RAG到底在做什么
传统大语言模型的知识截止于训练数据,而且容易“一本正经地胡说八道”(幻觉)。RAG的思路很直观:当用户提问时,先到外部知识库(文档、数据库等)里检索最相关的信息,把这些信息连同原始问题一起交给大模型生成答案。这样模型就有了“开卷考试”的参考资料,答案更准确、更即时、可溯源。
完整处理流程可以分为两大阶段、五个核心环节:
```
离线阶段(索引构建)
文档加载 → 文本分块 → 向量化 → 存入向量数据库
在线阶段(检索与生成)
用户提问 → 问题向量化 → 相似度检索 → 重排序 → 提示词组装 → 大模型生成答案
```
下面把每个环节掰开揉碎地看。
---
二、离线索引:建好“知识书库”
1. 文档加载与清洗
知识可以来自 PDF、网页、数据库、Confluence 等,你需要用对应的加载器(Loader)读取,然后洗掉页眉页脚、乱码、多余换行。真实场景中,PDF 的表格、图片会先用 OCR 或布局分析模型转化成结构化文本。
关键点:这里的清洗质量直接决定后续检索的上限,比如没有把“第1