Skip to content

13.1.1 从 0 搭一个最小 RAG 系统需要哪些步骤? ​

先给结论:最小 RAG Demo 只有 6 个步骤:准备数据、切块、向量化、入库、检索、生成。能闭环就算成功。

下面给出一个最小闭环的步骤清单,目的是“跑通链路”,而不是“追求最优”。

最小闭环 6 步 ​

  1. 准备数据
  2. 清洗与切块
  3. Embedding
  4. 向量入库
  5. 检索召回
  6. 生成答案

一套最小可跑通的骨架 ​

下面是一个简化的伪代码结构,用来让你理解“闭环是怎样串起来的”:

python
docs = load_documents("./docs")
chunks = split_docs(docs, size=500, overlap=100)
vectors = embed(chunks)
index = build_vector_index(vectors)

query = "用户的问题"
topk = retrieve(index, query, k=5)
answer = generate(query, topk)

重点不是“用什么库”,而是“每一步都有输入和输出,最后能产出可验证的答案”。

数据准备的最小标准 ​

最小 Demo 不需要复杂数据,但必须满足两个条件:

  • 有可回答的问题:文档里确实有答案
  • 有明确边界:避免把答案藏在多个文件里

Demo 阶段宁愿用“少量高质量样本”,也不要“大量噪声”。这能让你更快发现链路问题。

第一步先跑通,第二步再优化 ​

最小 Demo 的策略是:

  • 先做到“有答案且可复现”
  • 再逐步优化召回和生成质量

如果你一开始就追求最优,反而会丢失问题定位能力。

常见误区 ​

误区一:上来就堆系统能力 ​

最小 Demo 的价值是“快速暴露问题”,不是“功能齐全”。先跑通链路,再谈优化。

误区二:把检索当成黑盒 ​

如果你不检查召回内容,生成再强也只是在赌运气。Demo 阶段一定要能看到召回结果。

误区三:没有问题集 ​

没有问题集,就无法判断是否跑通。至少准备 5-10 个“有确定答案”的问题。

自检清单 ​

  • 是否能从召回结果里找到答案?
  • 是否能稳定复现同一问题的答案?
  • 是否能定位问题发生在“检索”还是“生成”?

一句话总结 ​

最小 RAG Demo 的目标是闭环:从文档到答案能稳定跑通,就算成功。