Appearance
13.1.1 从 0 搭一个最小 RAG 系统需要哪些步骤?
先给结论:最小 RAG Demo 只有 6 个步骤:准备数据、切块、向量化、入库、检索、生成。能闭环就算成功。
下面给出一个最小闭环的步骤清单,目的是“跑通链路”,而不是“追求最优”。
最小闭环 6 步
- 准备数据
- 清洗与切块
- Embedding
- 向量入库
- 检索召回
- 生成答案
一套最小可跑通的骨架
下面是一个简化的伪代码结构,用来让你理解“闭环是怎样串起来的”:
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 的目标是闭环:从文档到答案能稳定跑通,就算成功。