从无绑定函数创建工作流#
在本教程中,我们一直展示定义为类的工作流。然而,这并不是定义工作流的唯一方法:您还可以通过独立的或“无绑定”函数定义工作流中的步骤,并使用 `@step()` 装饰器将它们分配给工作流。让我们看看这是如何工作的。
首先,我们创建一个空类来容纳这些步骤
class TestWorkflow(Workflow):
pass
现在,我们可以通过定义函数并使用 `@step()` 装饰它们,从而将步骤添加到工作流中
@step(workflow=TestWorkflow)
def some_step(ev: StartEvent) -> StopEvent:
return StopEvent()
在此示例中,我们正在向 `TestWorkflow` 类添加一个起始步骤。`@step()` 装饰器接受 `workflow` 参数,该参数是要添加步骤的类。函数签名与常规步骤相同,但有一个例外,即 `workflow` 参数。
您也可以通过这种方式向任何现有工作流类添加步骤!如果您只需要在工作流中添加一个额外步骤,而不想为此创建一个完整的工作流子类,这种方法会很方便。
就是这样!#
恭喜您,您已完成工作流教程!