跳到正文

从无绑定函数创建工作流#

在本教程中,我们一直展示定义为类的工作流。然而,这并不是定义工作流的唯一方法:您还可以通过独立的或“无绑定”函数定义工作流中的步骤,并使用 `@step()` 装饰器将它们分配给工作流。让我们看看这是如何工作的。

首先,我们创建一个空类来容纳这些步骤

class TestWorkflow(Workflow):
    pass

现在,我们可以通过定义函数并使用 `@step()` 装饰它们,从而将步骤添加到工作流中

@step(workflow=TestWorkflow)
def some_step(ev: StartEvent) -> StopEvent:
    return StopEvent()

在此示例中,我们正在向 `TestWorkflow` 类添加一个起始步骤。`@step()` 装饰器接受 `workflow` 参数,该参数是要添加步骤的类。函数签名与常规步骤相同,但有一个例外,即 `workflow` 参数。

您也可以通过这种方式向任何现有工作流类添加步骤!如果您只需要在工作流中添加一个额外步骤,而不想为此创建一个完整的工作流子类,这种方法会很方便。

就是这样!#

恭喜您,您已完成工作流教程!