Sunday面试指南

RAG 更换 Embedding 模型后,向量索引怎么迁移?怎样避免检索中断?

下面是一段教学模拟,不是真实面试记录。

🧑‍💻 面试官:知识库要换 Embedding 模型,你准备怎么迁移?

🙋‍♂️ 我:把资料重新生成向量,覆盖旧索引。

🧑‍💻 面试官:重建要两个小时,这期间用户用哪个模型查哪个索引?

🙋‍♂️ 我:那建一个新索引,最后切过去。

🧑‍💻 面试官:应用还在用旧模型生成查询向量,只切索引地址够吗?重建期间删掉的文档又怎么处理?

迁移的单位不是单独一个索引,而是「查询模型和索引的配对版本」;重建、切换和回滚都要保持这对关系。

面试速答(60 秒版)

更换 Embedding 模型后,即使向量维度一样,也不能默认新旧向量能互相检索。查询向量和文档向量需要处于匹配的表示空间。

我会保留旧服务,建立新索引,用新模型重新处理资料,并补齐重建期间的更新和删除。之后用固定问题集比较结果,再逐步切换。

切换时,应用必须把查询模型、预处理配置和索引版本一起选择。数据库别名的原子切换,不会自动替应用切换模型。

另外要保留回滚路径,并让在途请求使用一致版本。迁移是否安全,需要验证增量完整性、检索效果和回滚条件,不能只看新索引构建成功。

Embedding 迁移:模型索引成对:切换的是一对检索版本

知识点详解:让新旧两套检索各自完整,再谈切换

维度一样,为什么还是不能混用?

假设旧模型和新模型都输出 1024 维向量。维度只说明有多少个坐标,不说明这些坐标表达同样的含义。

旧模型生成的查询,直接放到新模型生成的文档向量里搜索,距离计算可能正常完成,但结果失去原来预期的语义关系。

因此,一个检索版本至少要包含模型及版本、文本预处理、向量维度与度量方式、目标索引。它们共同决定查询怎样解释资料,不能只记录集合名称。Qdrant 集合配置

重建新索引,不打断旧服务

可以把旧组合称为 V1,新组合称为 V2。

用户请求继续走 V1。后台读取一个明确的数据快照,用 V2 模型生成文档向量,写入新的索引。旧索引不在重建过程中被零散覆盖。

好处是两套空间不会被混在一起。但接下来必须解决一个问题:数据不是静止的。

假设重建从早上十点的快照开始,十点十分一份资料被修改,十点二十另一份被删除。新索引如果只包含十点快照,就会缺更新,并可能把已删除资料重新带上线。

补增量时,删除也算数据变化

需要记录快照后的变化位置,持续同步新增、修改和删除。写入时还要比较资料版本,避免较慢的旧快照任务覆盖较新的更新。

变化新索引应该怎样处理
新增资料使用 V2 生成向量并写入
修改资料用新版本替换旧内容及相关片段
删除资料删除对应候选,不能只跳过生成
权限变化更新过滤信息,避免继续暴露旧权限内容

切换前,不只检查文档总数,还要核对版本、水位、删除和权限样本。总数相等不代表内容相同,更不代表访问边界正确。

重建期间,修改和删除怎样追平:新增、更新、删除一起追平

切模型和切索引,为什么要一起完成?

数据库可能支持原子更新别名,把检索入口从旧集合指向新集合。但原子性发生在数据库内部,不包括应用选模型的过程。别名更新接口

如果应用先用 V1 生成查询向量,随后数据库入口切到 V2,它就可能把旧向量发给新索引。

一种方案是请求开始时固定检索版本,明确选中模型和具体索引;另一种是由检索服务统一管理成对配置。关键不是接口名字,而是单次请求里不能一半 V1、一半 V2。

灰度时也应按完整组合分流,比较正确资料、排序、延迟与费用。新模型的阈值不一定沿用旧值,要重新验证。

在途请求要固定模型索引组合:请求内版本不能混搭

回滚还需要一套可用的旧数据

保留旧索引名称,并不等于具备回滚能力。如果切换后只更新 V2,过一段时间再退回 V1,旧索引可能已经落后。

因此要确定回滚窗口:窗口内是否维持 V1 增量,何时允许停止旧模型服务,怎样确认新版本稳定。

检索质量回滚不能回滚权限。无论退回哪套向量,都不能恢复已经撤销的访问权限或重新出现已删除资料。这些属于当前数据约束,不是可以随模型版本回退的实验参数。

Embedding 回滚保持旧检索组合可用,同时保留当前删除和权限约束

面试官继续追问

可以在同一个集合里保存两种模型的向量吗?

如果数据库支持具名向量等结构,可以设计成同时保存,但查询必须明确选择匹配字段和模型。存储在一个集合不代表两个空间可以混用。

新索引完成后,马上全量切换可以吗?

先检查增量是否追平、删除与权限是否同步,再验证固定问题集和部分流量。构建成功只证明写入过程完成,不证明服务效果和数据边界正确。

怎样判断“没有中断”?

要检查迁移窗口中的请求成功率、正确版本配对、延迟和错误结果,而不仅是服务端口一直在线。是否达到无中断目标,需要实际迁移演练和监控证明。

面试速记卡

  • 兼容性:维度相同,不代表新旧向量空间兼容。
  • 迁移方式:保留旧组合,新建索引并补齐增量。
  • 切换单位:查询模型、预处理和索引版本成对选择。
  • 原子边界:数据库别名切换不包含应用模型切换。
  • 回滚条件:旧组合仍可用,数据、删除和权限不能过时。

公司面试真题

这道题暂未收录可核验的公司真题来源。你可以先阅读本文解析,或浏览已收录的公司面试真题。

浏览公司面试真题 →
简历汪永久免费在线制作简历,模板直接套用、导出无水印,永久免费、下载免费,不需要付费解锁任何功能。去写简历