如何为检索场景选择和使用 Embedding 模型?

考查重点:语义召回与向量化成本。按语言、任务和输入长度筛候选,用带证据查询比较召回,再测向量化吞吐、维度存储与查询成本

本题目录

参考答案

核心回答

Embedding 模型选型要同时看任务匹配、业务检索效果和部署成本。 模型负责把问题与文档编码为可比较的向量;选择时可以按三步判断:

  1. 筛选候选:确认是相似问句匹配,还是短问题检索长文档,再检查语言、领域术语、有效输入长度、资源和许可条件。
  2. 业务评测:用同一套文档与问题,比较证据 Recall@K、排序质量、实际回答效果,以及延迟、吞吐和费用。榜单用于筛选,不能代替本业务评测。
  3. 正确接入:文档离线编码建索引,问题在线编码检索;两侧遵循模型相互对齐的输入约定,并匹配维度、归一化和距离度量。

例如中文问题需要查英文故障手册时,要测试跨语言检索,而不只看模型是否标注“支持中文和英文”。更换模型也不只是替换查询端:同维度不代表同一向量空间,通常需要重算文档向量、建立新索引,验证后再切换。

先按检索任务筛选候选

任务与数据匹配。 相似问句检索比较接近对称匹配;“如何处理 Redis 连接超时”检索故障手册,则是短查询找长段落的非对称检索。句子相似度任务上的高分,不能直接证明文档检索能力。还要检查中文、英文和混合术语;如果中文提问要找英文文档,需要评测跨语言检索,而不只是确认模型声称支持两种语言。

输入与工程约束。 对照模型的有效输入长度检查切分后的文本,记录超长输入是报错还是截断。长输入能力不等于应该把整篇手册编码成一个向量。云 API 需要考虑费用、限流和数据传输要求;本地部署要看吞吐、显存、并发、运维与许可。维度越高,向量存储和距离计算的开销也会增加,但检索效果并不随维度单调提高。

例如 BGE-M3 的官方模型卡说明其支持多语言与长输入,并明确查询不需要添加旧版 BGE 的检索指令。这是该模型的使用约定,不能推广为其他 BGE、E5 或指令式模型都使用同样输入。

用业务评测选,而不是凭单次相似度选

准备真实或经审核的查询,标注相关文档及支持答案的证据,覆盖常见问法、缩写、领域术语、容易混淆的条件、跨语言和无答案问题。在各候选模型合法的输入范围内,固定语料切分、过滤规则和 Top-K,按各自官方约定编码,再比较:

  • 召回覆盖:Recall@K,看所需相关证据找回了多少。
  • 排序质量:MRR 看首个相关结果的位置;有分级相关性标注时,可用 nDCG。
  • 实际回答与工程成本:检查答案正确性、证据支持和引用,同时测查询 P95 延迟、文档编码吞吐、资源与费用。

还应检查分场景结果,防止总体提升掩盖错误码、中文术语或某个业务领域的退步。更换模型时先尽量隔离模型变量,再比较包含混合检索、重排的完整链路。

使用中最容易踩的坑

把两个编码入口当成同一种处理。 文档侧通常批量编码并保存块标识、来源、模型版本等信息;查询侧按模型要求编码后查对应索引。有的模型要求不同前缀,有的采用不同查询和文档编码模块,也有的无需区分。关键是两侧处于经过训练对齐的空间,而非机械地加同一个前缀。

把同维度当成兼容。 两个模型都输出 1024 维,只能说明数组长度相同,不说明坐标含义一致。维度异常应排查模型或配置;随意补零、截断或用零向量填补失败,不能把不兼容模型变成兼容模型。模型明确支持的降维也要按其方法使用并重新评测。

盲目归一化或套分数阈值。 先看模型推荐的相似度算法,再配置索引和查询。两侧向量都归一化为单位长度时,内积与余弦相似度等价;有些模型会利用向量长度,不能一律归一化。相似度分数也不是正确概率,应结合本业务正负样本校准阈值,并确认接口返回的是距离还是相似度。

升级后混用新旧向量。 缓存和索引要关联模型修订、编码配置、维度与文本处理版本。更换模型时,可在新集合重算向量,处理迁移期间的文档增量,评测后切换查询并保留回退路径。不能把新查询向量直接查旧文档向量。

追问

换了更好的模型,为什么仍然找不到答案?

先确认原文有答案、解析与切分没有丢条件,再核对编码配置和截断、过滤及索引召回。错误码、型号等精确词可能需要关键词检索补充;正确证据已进上下文而回答仍错,则继续查上下文组织与生成环节。

对应教程

教程演示文档与查询编码、相似度计算和索引;本文进一步讨论模型输入约定、业务选型评测与索引迁移。

参考资料

相关面经

17 篇

公司未注明

面经合集
查看原面经 →
Embedding 模型如何选型,向量维度有什么影响?(8篇)

滴滴

大模型算法岗
查看原面经 →
嵌入模型为什么选 BGE?FAISS 索引是如何构建的?

哔哩哔哩

AI Agent 开发
一面
查看原面经 →
### 9、Embedding模型如何选择?不同Embedding模型会对检索效果产生哪些影响?

字节跳动

全栈
一面
查看原面经 →
向量化具体是怎么做的?

阿里巴巴

AI 应用开发工程师
秋招二面
查看原面经 →
Embedding 模型和向量数据库是如何选择的?
展开剩余 12 篇面经

百度

Agent 应用开发工程师
秋招二面
查看原面经 →
用的什么embedding模型
embedding模型是多大的模型,有没有尝试过其他的embedding模型呢?

阿里巴巴

AI 应用开发工程师
一面
查看原面经 →
Embedding 的模型是?

字节跳动

Agent 应用开发工程师
秋招一面
查看原面经 →
Embedding 模型怎么选择的 为什么

硅心科技

智能软件工程师
实习
查看原面经 →
Embedding模型的选型,为什么选这个模型?

网易云音乐

后端开发
实习一面
查看原面经 →
向量数据库的Embedding Model一般用什么?

公司未注明

Agent 开发
查看原面经 →
embedding模型的选型是怎么选的?

知乎

后端开发工程师(研发运营)
实习一面
查看原面经 →
向量数据库的Embedding Model一般用什么?

花小小新疆炒米粉

AI 工程师
社招
查看原面经 →
延伸问题
检索时计算向量距离,用什么模型?

阿里国际

AI 应用开发
一面、二面
查看原面经 →
知道哪些向量化模型

公司未注明

Agent 开发
查看原面经 →
embedding模型是如何选型的

公司未注明

Agent 开发
日常实习
查看原面经 →
embedding模型是如何选型的

tuitti视界之外

Agent 平台开发工程师
实习一面
查看原面经 →
项目追问
你简历里提到做了 Embedding 实现,这个实现是基于什么?

收录题集

11 个来源,共21 份题集

AI 智能体与大模型应用开发面试题库

didilili · ai-agents-from-zero · 1 条原题

查看题集 →

LLM、VLM 与 Agent 面试题

Datawhale · hello-agents · 1 条原题

查看题集 →

RAG 知识库

沉默王二 · 王二讲 Agent · 1 条原题

查看题集 →

RAG 面试题

卡码笔记 · 个人整理 · 1 条原题

查看题集 →

八股集锦(高频问题)

小熊饼干_ · 个人整理 · 1 条原题

查看题集 →
展开剩余 16 份题集

RAG 面试题

小林 Coding · 个人整理 · 1 条原题

查看题集 →

RAG 与检索系统:从 chunk 设计到多路召回

Onefly · zero2Agent · 1 条原题

查看题集 →

开发岗专项面试题

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

Agent 开发实战追问

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

RAG与知识库

阿东玩 AI · AgentGuide · 3 条原题

查看题集 →

Tokenizer与Embedding

阿东玩 AI · AgentGuide · 2 条原题

查看题集 →

AI系统与训练推理工程

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

项目论文与经历

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

RAG 系统面试题

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

检索增强生成

AMIT SHEKHAR · ai-engineering-interview-questions · 1 条原题

查看题集 →

向量数据库与嵌入

AMIT SHEKHAR · ai-engineering-interview-questions · 2 条原题

查看题集 →

Agent_RAG与混合检索工程

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

哔哩哔哩高频面试题

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

中科闻歌高频面试题

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

检索与知识工程问答

Guide · JavaGuide · 1 条原题

查看题集 →

RAG 面试题

Guide · JavaGuide · 1 条原题

查看题集 →

相关题目

4 题