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

从ADF调用AzureML SDKv2批量端点并传递参数的方法

问题1:查看批量端点部署的管道接收的参数

可以通过以下几种方式查看:

Azure ML Studio 界面

  • 登录Azure ML工作区,导航到批量端点页面,找到目标端点
  • 进入该端点的部署标签,点击对应部署的名称
  • 在部署详情页,找到关联的管道组件,点击组件名称进入组件详情
  • 在组件详情的输入部分,即可看到所有定义的字符串参数及其类型

Azure CLI v2 命令

执行以下命令获取部署详情,然后在输出中查找component.inputs节点:

az ml batch-deployment show \
  --name <你的部署名称> \
  --endpoint-name <你的端点名称> \
  --resource-group <资源组名称> \
  --workspace-name <工作区名称>

SDK v2 代码

使用Python代码获取部署关联的组件,遍历其输入参数:

from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

# 初始化ML客户端
ml_client = MLClient(
    DefaultAzureCredential(),
    subscription_id="<订阅ID>",
    resource_group_name="<资源组名称>",
    workspace_name="<工作区名称>"
)

# 获取批量部署
deployment = ml_client.batch_deployments.get(
    name="<部署名称>",
    endpoint_name="<端点名称>"
)

# 获取关联的管道组件
component = ml_client.components.get(
    name=deployment.component.name,
    version=deployment.component.version
)

# 打印所有参数
print("管道接收的参数:")
for param_name, param_spec in component.inputs.items():
    print(f"- {param_name} (类型: {param_spec.type})")
问题2:从ADF调用批量端点并传递参数

SDK v2批量端点无法直接使用ADF的"机器学习执行"活动,需要通过Web活动实现,步骤如下:

1. 配置权限

创建一个服务主体,为其分配Azure ML工作区的批量端点参与者角色,确保该主体有权发起批量端点作业。

2. 配置ADF Web活动

  • 在ADF管道中添加一个Web活动
  • 配置活动的核心参数:
    • URL:格式为 https://<工作区所在区域>.api.azureml.ms/batch-endpoints/<端点名称>/jobs
    • 方法:POST
    • 身份验证:选择"服务主体",关联已创建的服务主体(需提前在ADF中配置Azure AD链接服务)
    • 请求体:以JSON格式指定部署名称和参数值,示例:
{
  "properties": {
    "deployment_name": "<你的部署名称>",
    "inputs": {
      "param1": "参数值1",
      "param2": "参数值2"
    }
  }
}

3. 动态传递参数(可选)

如果需要从ADF变量或上游活动传递参数,可使用ADF的表达式语法替换请求体中的固定值,例如:

{
  "properties": {
    "deployment_name": "<你的部署名称>",
    "inputs": {
      "param1": "@variables('var_param1')",
      "param2": "@activity('上游活动名称').outputs.param_value"
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 07:50:14