RAG 与向量数据库完整教程

欢迎来到垦荒学园的 RAG(Retrieval-Augmented Generation,检索增强生成) 教程。本课讲的是与框架无关的原理:怎么切块、怎么嵌入、怎么存进向量库、怎么检索 / 重排、怎么评估「答得对不对」。向量数据库以 ChromapgvectorQdrant 三条可跑通的路径为主。

LangChain、LlamaIndex、Dify 都实现了同一条流水线,但那是产品接法。原则和存储层归本课;框架课只负责它们自己的 API。


教程目录

原理篇

  1. RAG 简介 — 为什么要检索、和微调 / 长上下文的分工
  2. 流水线 — documents → chunk → embed → vector store → retrieve → rerank → LLM
  3. 切块 — 块大小、重叠、按标题切、父子块
  4. Embeddings — OpenAI text-embedding-3-small 或本地 Ollama / BGE(中文)

向量库篇

  1. Chroma — 本地目录、PersistentClientadd / query
  2. pgvector — PostgreSQL 扩展、余弦查询、接到已有库
  3. Qdrant — Docker、HTTP 6333、upsert / 检索与过滤

质量篇

  1. 检索与重排 — top-k、混合检索、可选 rerank、元数据过滤
  2. 评估 — hit@k、忠实度、「只根据上下文回答」
  3. 实战案例 — Markdown FAQ、已有 Postgres、Qdrant 过滤 / 混合
  4. 资源与延伸阅读 — 官方文档与本站相关课

学习路径

阶段目标章节
第 1 天建立心智模型简介 → 流水线 → 切块 → Embeddings
第 2 天跑通本地库Chroma + 一份自写 FAQ
第 3 天接到真实存储pgvector 或 Qdrant
第 1 周能评、能改检索 → 评估 → 实战

建议顺序:先 Chroma 把流水线跑绿,再决定要不要上 Postgres 或独立向量服务。不要一上来同时装三套库。


本课与其它课程的分工

你想做的事去哪学
切块 / 嵌入 / 向量库 / 评估(原则)本教程
LangChain Loader、Retriever、Agentic RAGLangChain RAG
以索引与查询引擎为主的框架LlamaIndex
本地嵌入模型、/api/embedOllama Embeddings
Hub 上的 BGE 等开源嵌入模型Hugging Face
控制台知识库(无代码 RAG)Dify 知识库
SQL、表、索引本身PostgreSQL

前置知识

  • Python 3.10+(函数、列表、虚拟环境)
  • 了解一次 Chat Completions 调用长什么样即可,不必先会 Agent 框架
  • 至少一条嵌入路径:OpenAI API Key,或本机 Ollama(CPU 可跑,不必 GPU)
  • 学 pgvector 需要一台 PostgreSQL;学 Qdrant 需要 Docker
  • Windows 用 PowerShell;本教程同时给出 bash

不要求你会写 Transformer,也不要求有 GPU。


学习建议

  1. 网上搜不到的虚构条款当语料,否则分不清模型是在检索还是在背训练数据
  2. 索引和查询必须用同一个嵌入模型;换模型等于整库重嵌
  3. 先看检索命中(hit@k),再调生成提示词
  4. 框架课(LangChain / LlamaIndex / Dify)放在本课流水线之后,避免只记住类名、不懂块去哪了

下一步

评论