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

能否从AzureML模型注册表加载模型至Azure函数应用并推理?

Azure ML模型注册表与Azure函数集成推理方案

不能直接从Azure ML模型注册表加载模型到Azure函数中执行推理,必须先将模型下载到函数应用的本地可访问路径(临时目录或持久化存储)后,才能加载模型运行推理。

核心实现步骤

  • 通过Azure ML SDK或REST API连接到Azure ML工作区,获取目标模型的元数据与下载权限
  • 将模型文件下载到函数应用的临时目录(如Linux环境的/tmp、Windows环境的%TEMP%),或持久化存储(如Azure Blob存储)
  • 从本地路径加载模型,执行推理逻辑

Python示例代码

from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
import os
import tempfile
import joblib

def main(req):
    # 初始化Azure ML客户端
    ml_client = MLClient(
        DefaultAzureCredential(),
        subscription_id="你的订阅ID",
        resource_group_name="你的资源组名称",
        workspace_name="你的AzureML工作区名称"
    )

    # 获取已注册的模型
    target_model = ml_client.models.get(name="模型名称", version="模型版本号")

    # 临时目录下载模型(执行后自动清理)
    with tempfile.TemporaryDirectory() as temp_dir:
        ml_client.models.download(target_model.name, target_model.version, download_path=temp_dir)
        
        # 加载模型(以sklearn模型为例,根据模型类型调整)
        model_file_path = os.path.join(temp_dir, "model.pkl")
        trained_model = joblib.load(model_file_path)
        
        # 处理输入并执行推理
        input_data = req.get_json()["input_features"]
        prediction_result = trained_model.predict([input_data])
        
        return {"prediction": prediction_result.tolist()}

关键注意事项

  • 临时目录的文件会在函数执行结束后被系统清理,若需复用模型,可将模型预下载到Azure Blob存储,函数启动时从Blob加载,减少重复下载开销
  • 确保Azure函数的托管标识或服务主体拥有Azure ML工作区的Reader权限,以及模型注册表的访问权限
  • 大模型场景建议在函数的启动阶段完成模型下载与加载,避免每次请求重复执行下载操作,提升推理响应速度

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 16:41:01