先这样答
选型看五个维度,按重要性排。
第一,语言匹配。中文场景优先看中文榜(比如 C-MTEB),英文榜的分再高也不代表中文行;中英混合的语料,要专门测混合查询的效果。第二,检索精度。公开榜单(MTEB 系列是行业常用的参考)看 Recall 和 nDCG,但榜单分只有参考价值——你的语料是垂直领域的,最终要拿自己的数据建一个小评测集复测,这一步才是真正的选型依据。第三,最大输入长度。切分后的块长度不能超过模型的输入上限,512 token 的模型和 8K 的模型,切分策略完全不同。第四,成本和延迟。在线检索是每次查询都要过的链路,向量维度越高、模型越大,成本和延迟越高;维度还直接影响向量库的存储成本。第五,部署约束。企业内网场景必须能私有化,调 API 的闭源模型再准也可能直接出局。
常见的做法是拿三五个候选模型,用自己的评测集各跑一遍召回指标,再结合成本拍板。另外提一句:换 Embedding 模型等于全库重新向量化,这个迁移成本在选型时就要算进去,所以入口处最好把向量化这层抽成可替换的模块。
面试官会怎么追问
- Embedding 模型需要在自己领域上微调吗? 数据充足、领域术语密集(医疗、法律、金融)时值得做,用正负样本对训练;一般场景先用 BM25 混检和查询改写补,性价比更高。
- BGE 这类开源模型和闭源 API 怎么权衡? 开源可控可私有化、成本低,闭源省心但数据要出内网。企业场景多数从开源起步。
- 余弦相似度和内积有什么区别? 向量归一化之后二者等价,主流库默认归一化,选哪个都行;不归一化时才有差异,用之前确认库里默认行为。
回答的坑
- 只会报「用 BGE」。要讲出选型流程:榜单初筛、自有数据复测、成本与部署约束兜底。
- 忽略维度对存储和延迟的影响。检索链路是每次查询都走的,成本账要算在线侧。
同系列的题
—— 本题完 ——