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

如何在Azure ML SDK v2的管道步骤间传递字符串?

在Azure Machine Learning SDK v2中实现管道步骤间的字符串传递

由于Azure ML SDK v2的Output不直接支持string类型,你可以通过将字符串写入文本文件,再传递文件对象的方式实现步骤间的字符串传递,具体实现如下:

方法:通过文本文件传递字符串

步骤1:定义输出文件并写入字符串

在第一个步骤中,声明一个uri_file类型的输出,将字符串写入该文件:

from azure.ai.ml import Input, Output
from azure.ai.ml.components import command_component

@command_component()
def step_1(output_str_file: Output(type="uri_file")):
    # 定义要传递的字符串
    var: str = 'lorem ipsum'
    # 将字符串写入输出文件
    with open(output_str_file, 'w') as f:
        f.write(var)

步骤2:读取文件获取字符串

在第二个步骤中,接收uri_file类型的输入,读取文件内容得到字符串:

@command_component()
def step_2(input_str_file: Input(type="uri_file")):
    # 读取文件中的字符串
    with open(input_str_file, 'r') as f:
        var = f.read()
    # 使用字符串执行后续逻辑
    print(f"Received string: {var}")

组装管道

将两个步骤组装成管道,传递文件输出作为下一个步骤的输入:

from azure.ai.ml import Pipeline
from azure.ai.ml.dsl import pipeline

@pipeline()
def string_pipeline():
    step1 = step_1()
    step2 = step_2(input_str_file=step1.outputs.output_str_file)

# 提交管道运行(需提前配置好ML客户端)
# ml_client.jobs.create_or_update(string_pipeline(), experiment_name="string-transfer-demo")

这种方式利用了SDK v2支持的uri_file类型传递文件,间接实现了字符串的跨步骤传递,是当前最可靠的方案。

内容的提问来源于stack exchange,提问作者Guilherme Gaigher Netto

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:55:41