Microsoft Agent Framework 工作流 - 使用工作流作为代理

本文档概述了如何在 Microsoft Agent Framework 中使用 工作流作为代理

概述

开发人员可以将工作流转换为代理框架代理,并与工作流交互,就像它是代理一样。 此功能支持以下方案:

  • 将工作流与已支持代理接口的 API 集成。
  • 使用工作流驱动单个代理交互,从而可以创建更强大的代理。
  • 关闭代理和工作流之间的循环,为高级合成创造机会。

创建工作流代理

创建任何复杂性的工作流,然后将其包装为代理。

var workflowAgent = workflow.AsAgent(id: "workflow-agent", name: "Workflow Agent");
var workflowAgentThread = workflowAgent.GetNewThread();
workflow_agent = workflow.as_agent(name="Workflow Agent")
workflow_agent_thread = workflow_agent.get_new_thread()

使用工作流代理

然后像使用任何其他 Agent Framework 代理一样使用工作流代理。

await foreach (var update in workflowAgent.RunStreamingAsync(input, workflowAgentThread).ConfigureAwait(false))
{
    Console.WriteLine(update);
}
async for update in workflow_agent.run_streaming(input, workflow_agent_thread):
    print(update)

后续步骤