22 从零写一个最小可用 RAG 系统

专栏:大模型应用开发:从原理到生产
篇号:22
内容标签:RAG、OpenAI、Chroma、向量检索、AI应用开发

前面几篇,我们已经把 RAG 的关键部件拆开讲了一轮。

第 17 篇讲 RAG 解决什么问题。
第 18 篇讲完整 RAG 系统包含哪些环节。
第 19 篇讲文档解析与分块。
第 20 篇讲 Embedding 与向量检索。
第 21 篇讲向量数据库怎么选。

现在该把这些东西串起来了。

这一篇不追求生产级架构。

目标只有一个:

写一个最小可用的 RAG 系统,让你完整看见“文档 → 检索 → 回答”这条链路。

为什么强调“最小可用”?

因为很多人第一次做 RAG,很容易一上来就想太多:

  • 要不要接 PDF 解析?
  • 要不要支持多租户?
  • 要不要加 Rerank?
  • 要不要做混合检索?
  • 要不要支持权限?
  • 要不要接 LangChain 或 LlamaIndex?
  • 要不要上 Milvus?

这些问题都重要。

但第一步不是把所有能力一次做完。

第一步是确认最基本的闭