核心原则
必须用业务查询评测 embedding,因为公开榜单不能直接代表企业召回质量。
中英混合语料应选多语言或中文优化模型,而不是依赖翻译后的单语检索。
向量要归一化,并保存 embedding_model、dimension、normalize 和训练版本。
专有名词、编号和缩写场景应混合 BM25,避免纯向量漏掉精确词。
更换 embedding 模型意味着重建索引,应有灰度索引和回滚计划。
方法对比
| 方法 | 延迟 | 成本 | 最适合 |
|---|---|---|---|
| text-embedding-3-small | 高 | 低 | 通用 SaaS 和 agent memory |
| BGE-large | 高 | 中 | 中英检索、自托管 |
| GTE-large | 高 | 中 | 开源企业检索 |
| Cohere embed v3 | 高 | 中 | 多语言企业搜索 |
大厂与框架实践
Cohere 常把 Embed 与 Rerank 组合成企业搜索二阶段方案。
BGE 在中文 RAG 中使用广泛,适合中英混合知识库。
OpenAI embedding 常用于托管产品,因为稳定性和集成成本低。
电商 SKU 检索需要向量召回语义相似商品,也需要关键词召回准确型号。
医疗或金融语料常通过领域负样本微调提升难例区分能力。
关键论文与参考
Contriever,Izacard 等,2022
E5,Wang 等,2022
BGE,Xiao 等,2023
SimCSE,Gao 等,2021
GTR,Ni 等,2022
深度讲解
Embedding 评测至少包含 Recall@K、MRR 和 hard negative 命中率。余弦相似度常写作 cos(a,b)=a·b/(||a|| ||b||),如果向量已归一化,就可用点积加速。一个常见错误是只用“语义相似句”做测试,却没有业务编号、缩写和否定问题。建议准备 300-1000 条查询,每条标注 1-3 个证据 chunk,并记录语言、业务域、是否包含精确术语。模型升级时先双写索引,对比 Recall@5 差异超过 2 点才进入人工复核。
最佳实践
保存向量模型版本和维度,禁止混用索引。
中文业务编号场景默认加入 BM25。
每次模型升级都跑固定黄金查询集。