Skip to content

通过非绑定函数创建工作流#

在本教程中,我们一直展示以类形式定义的工作流。然而,这并不是定义工作流的唯一方式:您也可以通过独立或"非绑定"函数来定义工作流中的步骤,并使用@step()装饰器将它们分配给工作流。让我们看看具体如何实现。

首先我们创建一个空类来承载步骤:

class TestWorkflow(Workflow):
    pass

现在我们可以通过定义函数并用@step()装饰器修饰它们来向工作流添加步骤:

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

在这个例子中,我们向TestWorkflow类添加了一个起始步骤。@step()装饰器接收workflow参数,该参数指定了步骤将被添加到的目标类。函数签名与常规步骤相同,唯一的区别在于workflow参数的存在。

您也可以用这种方式向任何现有的工作流类添加步骤!当您只需要在工作流中添加一个额外步骤,而不想为了这个目的继承整个工作流类时,这种方法会非常方便。

教程完成!#

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