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

已下载Dev环境ML模型,如何部署至Prod环境Databricks MLflow?

将本地下载的ML模型部署到Prod环境Databricks的MLflow中

首先,你提供的Dev环境模型下载代码,已添加中文注释如下:

import os
import mlflow
from mlflow.store.artifact.models_artifact_repo import ModelsArtifactRepository

# 设置MLflow跟踪URI为Dev环境的Databricks
mlflow.set_tracking_uri("databricks")
# 目标模型名称
model_name = "testingModel"
# 模型所处阶段(此处为未标记阶段)
model_stage = "None" 

# 创建本地存储目录,目录已存在则跳过创建
os.makedirs("model2", exist_ok=True)
# 从Dev的MLflow模型仓库下载全部模型文件到本地model2目录
local_path = ModelsArtifactRepository(f'models:/{model_name}/{model_stage}').download_artifacts("", dst_path='model2')
print(f"{model_stage} 阶段的模型 {model_name} 已下载至本地路径:{local_path}")

以下是将下载后的模型部署到Prod环境MLflow的具体步骤:

1. 配置Prod环境的MLflow连接

在本地终端或Prod环境的Databricks Notebook中,先配置Prod环境的MLflow跟踪连接:

import mlflow

# 若在本地执行,需先通过`databricks configure`完成Prod环境的CLI认证
# 方式1:使用Databricks CLI配置的prod别名
mlflow.set_tracking_uri("databricks://prod")
# 方式2:直接填写Prod工作区的URL
# mlflow.set_tracking_uri("https://<prod-workspace-url>/")

2. 导入模型到Prod的MLflow并注册

有两种常用方式,根据你的场景选择:

方式一:从本地直接导入注册

如果模型还在本地,可直接将其上传到Prod的MLflow实验并注册:

# 指定Prod环境的目标MLflow实验路径(可根据实际调整)
mlflow.set_experiment("/Shared/Production_Models")

# 启动MLflow运行并导入模型
with mlflow.start_run():
    # 注意:需根据原模型的框架选择对应的log_model方法(如sklearn/pyfunc/xgboost等)
    # 示例:若为Scikit-learn模型
    mlflow.sklearn.log_model(local_path, "model")
    # 获取当前运行的模型 artifact URI
    model_uri = mlflow.get_artifact_uri("model")
    # 将模型注册到Prod的模型仓库(自定义注册后的模型名称)
    registered_model = mlflow.register_model(model_uri, "prod_testingModel")

方式二:从Prod DBFS导入注册

如果你已经手动将模型文件上传到Prod的DBFS路径(如dbfs:/prod_models/testingModel/),可直接从DBFS路径注册:

# 定义Prod DBFS中的模型根路径
dbfs_model_path = "dbfs:/prod_models/testingModel"

# 将DBFS中的模型注册到Prod的MLflow模型仓库
registered_model = mlflow.register_model(f"file:{dbfs_model_path}", "prod_testingModel")

3. 部署为在线服务(可选)

若需将注册后的模型部署为可调用的在线服务,可使用Databricks Model Serving:

from databricks.sdk import WorkspaceClient
import databricks.sdk.service.catalog as c

# 初始化Prod工作区客户端
w = WorkspaceClient()

# 创建模型服务端点
w.serving_endpoints.create(
    name="testing-model-prod-endpoint",
    config=c.ServingEndpointConfig(
        served_models=[
            c.ServedModelInput(
                model_name="prod_testingModel",
                model_version=registered_model.version,
                workload_size="Small",  # 可根据业务需求调整实例规格
                scale_to_zero_enabled=True  # 空闲时自动缩容到0,节省资源
            )
        ]
    )
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 01:22:26