Appearance
L02-05 Embedding 选型:别用对话模型做向量化
全局中心内容:Embedding 模型一旦选定就不能随便换——换模型 = 全库重灌。 全局讲解主线:一个常见错误开场 → 选型四要素 → 中文实测对比 → 批处理与限流 → 维度/成本 → 上线检查。
P1 · 产出页
中心内容:一个可替换的 Embedding 抽象 + 批处理灌库器。
- 讲解技巧
- 开场抛问题:「我们用 GPT-4o 做向量化行不行?」——答案是能做但完全不该做。先制造认知冲突。
- 时长:20s
P2 · 为什么不能用对话模型
中心内容:对话模型是为生成下一个 Token 优化的,不是为语义相似度优化的。
页面内容:三类模型的定位对比(Embedding / Rerank / Chat)
讲解技巧
- 用一句话讲清区别:Embedding 是「把意思压缩成一个坐标」,Chat 是「接着往下编」。目标函数完全不同。
- 补一个现实理由:对话模型通常不提供 embedding 接口,就算有,价格也是专用模型的几十倍。
时长:3min
P3 · 选型四要素
中心内容:中文效果 > 维度与成本 > 长文本支持 > 部署方式。
页面内容:四要素检查表(每项给取舍理由)
讲解技巧
- 第一条要反复强调:用通用 MTEB 榜单选中文 Embedding 会被坑,榜单主要是英文语料。必须自己拿真实语料测。
- 讲「长文本支持」时点出陷阱:模型标称 8192,不代表 8192 长度的向量效果好,通常 512 内最佳。
时长:5min
P4 · 中文实测怎么做
中心内容:30~50 条真实问答对,测 recall@5 就能分出高下。
页面内容:评测脚本思路(query → top5 → 是否命中标准答案来源)
讲解技巧
- 给出具体的做法,不要只讲道理:从线上日志里捞 50 条真实提问,人工标注每条的正确答案出处,然后跑脚本。
- 强调「别用自己编的问题」,编的问题往往比真实提问规整,测不出差距。
时长:5min
P5 · 批处理与并发控制
中心内容:批量调用能省 80% 的请求开销,但批太大容易被限流。
页面内容:BatchingEmbedding 实现;批大小 32~64;失败按条重试
讲解技巧
- 讲清批处理的真正收益不是省钱,是省往返时间:1000 个片段单条调用可能要 10 分钟,批量 1 分钟。
- 提示失败处理:整批失败要降级为单条重试,否则一条脏数据会毁掉一整批。
时长:5min
P6 · 维度与成本
中心内容:维度不是越高越好,存储和检索都跟着涨。
页面内容:768 / 1024 / 1536 维度在百万级片段下的存储与内存对照
讲解技巧
- 给一个可感知的数字:1536 维 float32,100 万片段约 6GB 纯向量,加索引接近 9GB。降到 768 直接砍半。
- 结论:精度差异通常 <2%,存储差异是 2 倍。别为了 1% 多花一倍机器钱。
时长:4min
P7 · 编码:可替换抽象
中心内容:把 Embedding 模型包一层接口,换模型只改配置。
页面内容:EmbeddingProperties / 条件装配 / 维度校验启动时断言
讲解技巧
- 重点讲启动时的维度校验:向量库建表时写死了维度,如果换模型维度不一致,运行时报的错非常难懂。启动时校验能立刻发现。
- 提醒:
embeddingModel名称要写进元数据,将来混用两个模型时能区分。
时长:5min
P8 · 避坑与小结
中心内容:换 Embedding 模型必须全量重灌,没有捷径。
页面内容:模型名入元数据 / 维度启动校验 / 换模型等于重灌
讲解技巧
- 用一个真实场景收尾:「上线三个月后老板说换个更好的模型」——你要回答的是重灌的钱和时间,不是接口改几行。
- 引出下一节:向量存哪儿?——02-06 向量库选型。
时长:2min
讲师备忘
| 项 | 内容 |
|---|---|
| 课前必做 | 准备 50 条真实提问的评测脚本;准备维度-存储对照表 |
| 最容易超时处 | P4 中文实测,容易被追问「榜单怎么看」——控制在 5 分钟内 |
| 学员最常问 | 「能不能同时用两个 Embedding 模型?」答:可以,但必须打标,检索时只能用同一个 |
| 现场备用 | 若网络不可用 → 直接讲结论表,跳过实测演示 |