SuperAPI AI 工具集

qdrant-model-migration

通用与其它

查看项目

更新于 10-15 21:52

技能介绍

用途:指导在 Qdrant 中更换嵌入模型而不中断服务。不同模型的向量不兼容,不能混用;命名向量必须在集合创建时定义,无法向已有集合新增,因此迁移通常需要新建集合。

主要能力与策略: 一、别名切换(零停机):新建集合,后台重新嵌入全部数据,应用指向集合别名,原子切换别名,验证后删除旧集合。注意别名只重定向查询,载荷需单独重新上传。 二、双模型并行:用于 A/B 测试或多模态。新建集合时同时定义新旧命名向量,迁移旧向量,用 UpdateVectors 增量回填新模型嵌入,用 using 参数对比质量后再切换别名。大型多向量(如 ColBERT)与稠密向量共置会拖慢所有查询,迁移期间应放磁盘。 三、稠密转混合检索:新建集合同时定义稠密与稀疏配置,重新嵌入,迁移载荷并切换别名。分块级稀疏向量的 TF-IDF 特性与文档级不同,需测试检索质量。

何时必须重新嵌入:更换模型提供商、更换架构、维度不兼容、向纯稠密集合添加稀疏向量。可避免的情况:Matryoshka 模型可用 dimensions 参数降维或学习线性变换(有召回损失);仅改量化时 Qdrant 会自动重新量化。

加速迁移:使用 update_mode: insert(v1.17+)保证幂等;以 with_vectors=False 滚动旧集合,分批重新嵌入并 upsert;并行批量上传(每请求 64-256 点,2-4 路);批量加载时禁用 HNSW(调高 indexing_threshold_kb,之后恢复)。Qdrant Cloud 推理切换模型只是配置变更。400GB+ 数据集可能需数天;小于 25MB 时从源重建索引更快。

限制与禁忌:不要假设可向已有集合添加命名向量;验证新集合前不要删除旧集合;不要忘记更新应用中的查询嵌入模型;别名切换时不要跳过载荷迁移;长时间迁移不要把 ColBERT 与稠密向量共置;迁移到混合检索前务必测试分块级 BM25 质量。