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

如何带参数运行Elsa工作流?HelloWorld示例参数读取方法

在Elsa工作流中给HelloWorld传入并读取外部参数

1. 调用工作流时传入参数

你可以通过WorkflowInput对象封装要传递的参数,支持两种传参方式:

方式一:字典形式传参

直接用字典存储键值对参数:

// 创建包含参数的WorkflowInput
var input = new WorkflowInput(new Dictionary<string, object> { { "Name", "Elsa新手" } });
// 传入参数并启动工作流
await runner.BuildAndStartWorkflowAsync<HelloWorld>(input);

方式二:强类型对象传参

先定义对应输入的类,再实例化传入:

// 定义输入类
public class HelloWorldInput
{
    public string Name { get; set; }
}

// 实例化输入对象并传入
var input = new WorkflowInput(new HelloWorldInput { Name = "Elsa新手" });
await runner.BuildAndStartWorkflowAsync<HelloWorld>(input);

2. 在HelloWorld的Build方法中读取参数

在工作流的Build方法里,通过IWorkflowBuilder的GetInput方法读取传入的参数:

读取字典形式的参数

public class HelloWorld : IWorkflow
{
    public void Build(IWorkflowBuilder builder)
    {
        // 根据键名读取参数值
        var userName = builder.GetInput<string>("Name");
        // 使用参数,比如输出问候语
        builder.WriteLine($"Hello, {userName}!");
    }
}

读取强类型参数

如果用了强类型输入类,直接指定类型读取:

public class HelloWorld : IWorkflow
{
    public void Build(IWorkflowBuilder builder)
    {
        // 读取强类型输入对象
        var input = builder.GetInput<HelloWorldInput>();
        // 使用参数
        builder.WriteLine($"Hello, {input.Name}!");
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 16:09:17