RAG 离线 Pipeline 5 + 6(全景):把 chunk 映射成向量,再把向量组织成可高效检索的索引结构。
Pipeline 5:文本向量化
三问
| 问题 | 答案 |
|---|---|
| 什么是向量化? | 通过 embedding 模型把文本映射为高维浮点向量(如 768 / 1536 维) |
| 为什么要向量化? | 让"语义相似度"变成"向量距离可计算",从而支持模糊检索 |
| 怎么做向量化? | 选择合适的 embedding 模型 → 对 chunk 批量编码 → 写入向量库 |
例
狗 → [0.12, -0.45, 0.89, ...]
兔子 → [0.15, -0.42, 0.85, ...]
花 → [-0.78, 0.11, -0.23, ...]
"狗"和"兔子"语义相近,向量也相近。
相似度度量
| 度量 | 几何含义 | 适用 |
|---|---|---|
| 欧氏距离 | 两个向量端点之间的直线距离 | 向量绝对位置敏感,文本场景较少用 |
| 余弦相似度 | 两个向量夹角的余弦值,只看方向不看长度 | RAG 主流,对"语义方向"敏感,对长度不敏感 |
Embedding 模型
输入 Key Vector → 嵌入模型(神经网络)→ Memory → 输出 Value Vector,由 Controller 调度。
工业上常用:BGE、M3E、OpenAI text-embedding-3、Sentence-BERT 系列。Query 端必须用与离线分块完全一致的模型,否则距离不可比(在线侧的对接见 AIPM课程 Day8 和 Query增强与改写)。
PM 此阶段职责
- 评估不同模型的效果和成本,输出选型建议。
- 制定向量质量的监控指标(相似度、稳定性)。
- 协调各方资源。
协作对象:算法工程师、运维人员、财务、数据工程师。
Pipeline 6:向量索引构建
根据业务需求(如检索速度、精度、数据量、部署成本)选择合适的索引算法。
5 种常用索引类型
| 索引类型 | 代表 | 特点 |
|---|---|---|
| 树状索引 | KD-Tree、Ball Tree | 基于空间划分递归构建,适用于低维向量(< 50 维);优点检索精度高,缺点高维向量检索效率会显著降低 |
| 哈希索引 | LSH(局部敏感哈希) | 用哈希函数将相似向量映射到同一哈希桶,高维向量快速近似检索;优点检索速度快、存储占用低,缺点精度较低、存在漏检风险 |
| 图索引 | HNSW(Hierarchical Navigable Small Worlds)、Annoy | 基于图结构构建,通过构建多层导航图兼顾构建与查询效率;同时兼顾速度与精度,是目前 RAG 系统主流选择(如 Milvus、Pinecone 等向量数据库均采用 HNSW 索引) |
| 聚类索引 | K-Means | 先将数据聚为多个簇,检索时先定位簇再细查内部向量;适用于超大规模数据(千万级以上)大幅降低检索成本,缺点是索引构建周期长,对聚类算法稳定性要求高 |
| 关键词索引 | 倒排索引 | 基于文本分词后的关键词构建索引,通过"关键词字面匹配"定位相关文本,不涉及语义理解 |
索引存储:向量数据库 vs 常规数据库
| 类别 | 代表 | 匹配方式 |
|---|---|---|
| 向量数据库 | Milvus、Pinecone、Weaviate、FAISS | 模糊匹配(向量相似度) |
| 常规-关系型 | MySQL、PostgreSQL、Oracle | 结构化精确匹配 |
| 常规-非关系型 | MongoDB、Redis、Cassandra、Neo4j | 结构化精确匹配(KV、文档、图) |
RAG 系统常常混合使用:向量库做语义检索,关系库存元数据用于过滤(如时间、权限)。
PM 此阶段职责
- 确定开发排期。
- 协调解决索引构建过程中的业务中断风险。
- 制定索引参数调优的评估标准。
协作对象:算法工程师、运维人员、财务、数据工程师。
相关页面
→ RAG运转流程 → RAG数据清洗与文本分割 → Query增强与改写 → 模型选型五维度 → AIPM课程 Day7