You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MLflow切换模型阶段时目标阶段内已有模型的处理方法

MLflow模型阶段转换时实现同阶段单版本留存的方法

使用MLflow客户端执行模型阶段转换的基础代码如下:

client = MlflowClient()
client.transition_model_version_stage(
    name="sk-learn-random-forest-reg-model",
    version=3,
    stage="Production"
)

上述默认写法存在固定特性:转换操作不会对目标阶段内已存在的模型版本做任何修改。举例来说,如果版本2当前处于Production阶段,执行上述代码将版本3也切换到Production阶段后,版本2仍会保留Production阶段标签,最终出现同一阶段存在多个模型版本的情况。

如果要实现和Databricks UI原生逻辑一致的效果——即同一时间指定阶段内仅允许存在一个版本的模型,只需要在调用方法时增加archive_existing_versions=True参数即可。
该参数开启后,系统会在将目标版本切换到指定阶段前,自动把该阶段下所有已存在的其他模型版本归档到Archived阶段,从根本上避免多版本并存的问题。

修改后的可直接复用的代码如下:

client = MlflowClient()
client.transition_model_version_stage(
    name="sk-learn-random-forest-reg-model",
    version=3,
    stage="Production",
    archive_existing_versions=True
)

参数行为说明:

  • archive_existing_versions=False(默认值):不改动目标阶段已有版本,允许同阶段多版本共存
  • archive_existing_versions=True:自动归档同阶段所有历史版本,保证阶段内仅当前转换的版本生效

Databricks UI对应的原生功能界面参考:
Databricks UI模型阶段转换功能截图

内容的提问来源于stack exchange,提问作者Minura Punchihewa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 12:06:51