通过非绑定函数创建工作流#
在本教程中,我们一直展示以类形式定义的工作流。然而,这并不是定义工作流的唯一方式:您也可以通过独立或"非绑定"函数来定义工作流中的步骤,并使用@step()
装饰器将它们分配给工作流。让我们看看具体如何实现。
首先我们创建一个空类来承载步骤:
class TestWorkflow(Workflow):
pass
现在我们可以通过定义函数并用@step()
装饰器修饰它们来向工作流添加步骤:
@step(workflow=TestWorkflow)
def some_step(ev: StartEvent) -> StopEvent:
return StopEvent()
在这个例子中,我们向TestWorkflow
类添加了一个起始步骤。@step()
装饰器接收workflow
参数,该参数指定了步骤将被添加到的目标类。函数签名与常规步骤相同,唯一的区别在于workflow
参数的存在。
您也可以用这种方式向任何现有的工作流类添加步骤!当您只需要在工作流中添加一个额外步骤,而不想为了这个目的继承整个工作流类时,这种方法会非常方便。
教程完成!#
恭喜您,您已经完成了工作流教程!