功能速查表
为了帮助开发者快速进行开发,并在开发过程中能够快速查找 Agently Workflow 常用的基础功能,我们为您准备了以下快速开始速查表:
| 功能 | 代码样例 | 备注 |
|---|---|---|
| 创建工作流对象实例 | workflow = Agently.Workflow() |
|
| 使用装饰器定义工作块函数 | @workflow.chunk() |
|
| 普通连接 | workflow.chunks["from"].connect_to("to") |
|
| 条件连接:if | workflow.chunks["from"].if_condition(condition_judge_func).connect_to("to") |
|
| 条件连接:elif | workflow.chunks["from"].elif_condition(condition_judge_func).connect_to("to") |
必须在.if_condition()之后出现 |
| 条件连接:else | workflow.chunks["from"].else_condition().connect_to("to") |
必须在.if_condition()之后出现 |
| 列表分发 | workflow.chunks["from"].loop_with(sub_workflow) |
workflow.chunks[from]的返回值必须为int、list或dict格式 |
| 从START块连接的简写 | workflow.connect_to("to")或workflow.if_condition()或workflow.loop_with() |
|
| 从工作块指定输出端点开始连接 | workflow.chunks["from"].handle("output_handle").connect_to() |
|
| 指向工作块的特定输入端点 | .connect_to(workflow.chunks["to"].handle("input_handle"))或.connect_to("to.input_handle") |
|
| 在特定工作块等待多个前置分支的完成 | 通过将不同分支的末尾块连接到需要等待的工作块的不同输入端点实现,如:
|
注意,需要确保工作流结束前两个分支都能够完成工作向等待工作块传递信号,否则将可能出现工作异常 |
| 工作流程结束并输出 | .connect_to("END") |
向END块传值可以作为工作流运行的结果传递给工作流的赋值变量,如果没有定义END块的输入端点,则传值将被放入{ "default": return_value }位置,否则传值将被放入指定端点名的键内 |
| 运行工作流 | result=workflow.start(<init_inputs, optional>, storage=<init_storage, optional>) |
result值由工作流的END块连接决定,见上一条 |
| 绘制工作流图 | print(workflow.draw()) |
其中workflow.draw()会将编排好的工作流转化为Mermaid语法的代码,print()是将其打印出来 |
Info
1.表格中所有连接相关的工作块,都以"from"或"from_<字母序号>"作为上游块命名,以"to"或"to_<字母序号>"作为下游块命名
2.表格中所有的输入端点,都以"input_handle"或"input_handle_<字母序号>"命名,所有的输出端点,都以"output_handle"或"output_handle_<字母序号>"命名
3.理论上所有可以进行.connect_to()连接表达的位置,都可以进行.if_condition()或.loop_with()表达,在表格中不重复赘述