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

Azure Databricks跨工作区复制ML模型:MLflow配置错误排查

MLflow导出Azure Databricks模型错误及依赖问题解决

一、解决"MLflow host or token is not configured correctly"错误

核心修正步骤:

  • 调整跟踪URI配置:在Databricks Runtime内部运行时,无需手动指定完整HTTPS URL,直接使用mlflow.set_tracking_uri("databricks")即可,MLflow会自动读取工作区的内置配置。只有外部环境连接Databricks时才需要用https://<workspace-url>/格式,内部运行用内置URI更稳定可靠。
  • 提前设置环境变量:必须在导入MLflow模块前设置DATABRICKS_TOKEN和MLFLOW_TRACKING_TOKEN,否则MLflow初始化阶段无法读取到这些认证变量。
  • 验证PAT权限:确认你的个人访问令牌(PAT)包含models:read权限(导出模型需要读取模型元数据的权限),可在Databricks工作区的用户设置中检查PAT的权限范围。

修正后的代码示例:

import os

# 先设置环境变量,再导入MLflow相关模块
os.environ["DATABRICKS_TOKEN"] = "mnop6672ec8e20c7d219eb2A-3"
os.environ["MLFLOW_TRACKING_TOKEN"] = "mnop6672ec8e20c7d219eb2A-3"

import mlflow
from mlflow_export_import.model.export_model import ModelExporter
from mlflow.tracking import MlflowClient

# Databricks内部运行时使用内置跟踪URI
mlflow.set_tracking_uri("databricks")

mlflow_client = MlflowClient()
exporter = ModelExporter(mlflow_client)

exporter.export_model(
    model_name="Signature_Test",
    output_dir="/tmp/mlflow_export/model",
    stages=None,
    export_metadata_tags=True
)

二、解决mlflow-skinny与完整mlflow的依赖冲突

  • 安装完整MLflow库:在Databricks notebook中执行%pip install mlflow,覆盖默认的mlflow-skinny版本,安装完成后需要重启内核才能生效。
  • 替代方案:使用Databricks原生工具:如果不想替换mlflow-skinny,可直接使用Databricks REST API或CLI导出模型,无需依赖第三方的mlflow-export-import工具。

额外排查点

  • 再次核对工作区URL,确认无拼写错误或多余的斜杠。
  • 先用mlflow_client.list_registered_models()测试连接,验证MLflow客户端是否能正常访问工作区模型,排除工具本身的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 14:59:59