记忆点:离线建好知识,在线找准证据,生成全程可观测。
💡 答案要点
两条流水线:
索引流水线(离线):
文档 → 加载 → 切分 → 向量化 → 存储到向量库
查询流水线(在线):
用户问题 → 向量化 → 检索 → 生成答案详细流程:
┌─────────────────────────────────────────────────────────────────┐
│ RAG 系统全貌 │
└─────────────────────────────────────────────────────────────────┘
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 文档加载器 │ ──→ │ 文档切分器 │ ──→ │ Embedding │
│ (Loader) │ │ (Splitter) │ │ (向量化) │
└──────────────┘ └──────────────┘ └──────────────┘
│
↓
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ LLM 生成答案 │ ←── │ 检索器 │ ←── │ 向量数据库 │
│ (Generator) │ │ (Retriever) │ │ (Vector DB) │
└──────────────┘ └──────────────┘ └──────────────┘6 个核心步骤:
- 加载:从 PDF/Markdown/网页读取文档
- 切分:切成小 chunks(500-1000 tokens)
- 向量化:用 Embedding 模型转成向量
- 存储:存入向量数据库
- 检索:计算相似度,返回 top-k chunks
- 生成:LLM 基于检索内容生成答案
