02 - 检索系统
定位: RAG Pipeline 的核心——从原始文档到可检索向量的完整转换链路 面试高频度: ⭐⭐⭐⭐⭐
一、板块在体系中的位置
上游:01-RAG基础与原理(理解 RAG 整体流程后进入检索细节)
│
▼
【02-检索系统】 ← 你现在在这里
│ ┌──────────────────────────────────────┐
│ │ 文档 → 解析 → 分块 → Embedding → 存储 │
│ │ → 查询 → 重排序 │
│ └──────────────────────────────────────┘
│
▼
下游:03-生成与融合(检索结果输入给生成模型)二、知识全景图
┌─────────────────────────────────────────────────────────────────┐
│ RAG 检索系统 Pipeline │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ 文档加载 │──→│ 文本解析 │──→│ 分块策略 │──→│ Embedding │ │
│ │ Loaders │ │ Parsers │ │ Chunking │ │ 向量化 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────┬───────┘ │
│ │ │
│ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ 重排序 │←──│ 混合检索 │←──│ 向量检索 │←──│ 向量数据库 │ │
│ │ Reranker │ │ Hybrid │ │ ANN搜索 │ │ Vector Store │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────────┘ │
│ │
│ 输入:PDF/网页/数据库/代码/音视频 输出:排序后的相关文档块 │
└─────────────────────────────────────────────────────────────────┘三、子专题导航
| # | 主题 | 面试频率 | 核心内容 |
|---|---|---|---|
| **文档加载与解析** | 文档加载与解析 | ⭐⭐⭐ | 多源文档加载器、PDF/网页/DB 解析 |
| **文本分块策略** | 文本分块策略 | ⭐⭐⭐⭐ | Chunk 大小/重叠/策略选择权衡 |
| **Embedding模型与向量化** | Embedding与向量化 | ⭐⭐⭐⭐⭐ | 语义映射、模型选型、维度权衡 |
| **向量数据库选型与对比** | 向量数据库选型 | ⭐⭐⭐⭐ | FAISS/Chroma/Pinecone/Weaviate 对比 |
| **检索与重排序** | 检索与重排序 | ⭐⭐⭐⭐⭐ | 相似度搜索、Hybrid Search、Reranker |
四、核心考点速记
1. 分块策略如何选择?
没有最优分块策略,只有最适策略:
固定大小分块 → 简单但可能截断语义
递归分块 → 保留自然边界(按段落/标题)
语义分块 → 按语义完整性切分,效果最好但计算量大
⚡ 经验:chunk_size=512, overlap=128 是较好的起点2. Embedding 模型的选型要素
维度:高维(1536+)→ 更精细但计算更大
低维(384/768)→ 更快但可能损失精度
语言:中文场景优先考虑 BGE-m3/m3e/multilingual-E5
领域:专业领域需选领域微调过的模型3. 检索为什么需要重排序?
向量检索 → 速度快但精度有限(只依赖语义距离)
重排序 → 用更强的模型(Cross-Encoder)精排 Top-k
两者配合 → 兼顾效率与精度📚 相关文件
- **RAG文库设计文档**
- **RAG基础索引**
- ← 返回 **RAG文库设计文档**