面向中文开发者的端到端 RAG 实战案例:数据摄取、切块、检索与生成全流程,配可复制粘贴的代码,看完即可动手改造。
披露:本文部分链接为联盟链接。若你通过这些链接购买,Catai 可能获得佣金,且不会增加你的任何成本。我们只推荐亲自测试过的产品。
检索增强生成(RAG)听上去很唬人,真正跑通一遍你就会发现它只是几个朴素步骤的串联。本文带你从零搭一条虽小但完整的流水线:加载文档、切成合理的块、做向量化并存储、按问题检索最相关的段落,再把这些段落交给语言模型生成有据可依的回答。读完你会得到一个可以复用到几乎任何知识库助手的心智模型。
你将搭建什么
一个能回答”你自己文档”相关问题的单文件流水线。它读取纯文本或 Markdown,维护一个本地向量索引,并让回答附带来源段落——方便你信任结果,也方便你排查问题。
前置要求
会跑脚本、会装依赖即可。全程不需要 GPU,一台笔记本处理几百篇文档绰绰有余。若日后要扩到更大规模,可以再考虑租用AI 副业项目云算力,但跟着本文走完全用不到。
第 1 步 —— 摄取与规范化
逐篇读入文档,去掉模板噪声,附上元信息(来源路径、标题、日期)。干净的输入是决定最终答案质量的最大杠杆——语料脏,检索就脏,再好的模型也救不回来。
第 2 步 —— 有意识地切块
不要按字符数硬切。先按结构切(标题、段落),再把过小的片段合并到目标大小,并保留少量重叠,避免上下文在句子中间被截断。这里的取舍足够重要,我们在RAG 检索优化:切块策略实战对比里做了专门比较。
第 3 步 —— 向量化、存储、检索、生成
每个块只向量化一次并存好;查询时把问题向量化,取回最近的 top-k 块,连同问题一起交给模型。务必把检索到的来源放进提示词,并要求模型只依据这些来源作答。
常见坑
- 块太大:检索回来一大坨,精度崩溃。
- 无重叠:答案在块边界处被截断。
- 不展示来源:分不清是幻觉还是有据可依。
小结
一条能用的 RAG 流水线就是五个诚实的步骤,没有魔法。把摄取和切块做扎实,其余水到渠成。准备好面向真实用户时,去看看别人在生产环境里是怎么做的。
延伸阅读