工作流引擎
概述
工作流引擎用于编排和执行复杂的业务流程,支持任务调度、条件分支、并行执行等功能。
WARNING
工作流引擎功能正在开发中,尚未正式上线。本文档仅供预览参考。
功能特性
- 流程编排:可视化流程设计
- 任务调度:定时任务和触发任务
- 条件分支:支持复杂的条件判断
- 并行执行:支持多任务并行处理
- 错误处理:完善的异常处理机制
- 流程监控:实时监控流程执行状态
流程定义
工作流采用 JSON 格式定义:
json
{
"id": "sample-workflow",
"name": "示例工作流",
"version": "1.0.0",
"start": "task1",
"tasks": {
"task1": {
"type": "llm",
"config": {
"model": "deepseek-chat",
"prompt": "请分析以下数据:{{input}}"
},
"next": "task2"
},
"task2": {
"type": "tool",
"config": {
"toolName": "web-search",
"params": {
"query": "{{task1.output}}"
}
},
"next": "end"
}
}
}任务类型
| 类型 | 说明 |
|---|---|
| llm | 大模型调用任务 |
| tool | 工具调用任务 |
| parallel | 并行执行任务 |
| condition | 条件判断任务 |
| delay | 延时等待任务 |
| loop | 循环任务 |
使用示例
java
@Service
public class WorkflowService {
@Autowired
private WorkflowEngine workflowEngine;
public void executeWorkflow(String workflowId, Map<String, Object> input) {
WorkflowInstance instance = workflowEngine.start(workflowId, input);
// 等待执行完成
WorkflowResult result = instance.waitForCompletion();
}
}