Package com.bytedesk.core.workflow
Class WorkflowService
java.lang.Object
com.bytedesk.core.workflow.WorkflowService
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate String
evaluateCondition
(com.alibaba.fastjson2.JSONObject conditionNode, WorkflowRequest request) 评估条件节点并返回下一个节点IDexecute
(WorkflowRequest request) private WorkflowEntity
executeGroupNode
(WorkflowEntity workflow, com.alibaba.fastjson2.JSONObject groupNode, WorkflowRequest request) 执行分组节点private WorkflowEntity
executeLLMNode
(WorkflowEntity workflow, com.alibaba.fastjson2.JSONObject llmNode, WorkflowRequest request) 执行LLM节点private void
executeLoopNode
(WorkflowEntity workflow, com.alibaba.fastjson2.JSONObject loopNode, WorkflowRequest request) 执行循环节点private WorkflowEntity
executeTextNode
(WorkflowEntity workflow, com.alibaba.fastjson2.JSONObject textNode, WorkflowRequest request) 执行文本节点private WorkflowEntity
executeWorkflowFromNode
(WorkflowEntity workflow, String nodeId, WorkflowRequest request) 从指定节点开始执行工作流private String
findEntryNode
(com.alibaba.fastjson2.JSONArray blocks, com.alibaba.fastjson2.JSONArray edges) 查找分组中的入口节点(没有输入边的节点)private String
findNextNode
(com.alibaba.fastjson2.JSONObject workflow, String currentNodeId) 查找当前节点的下一个节点IDprivate com.alibaba.fastjson2.JSONObject
findNodeById
(com.alibaba.fastjson2.JSONArray nodes, String nodeId) 在节点数组中查找指定ID的节点private String
findStartNodeId
(String content) 查找工作流中的开始节点ID
-
Field Details
-
workflowRestService
-
-
Constructor Details
-
WorkflowService
public WorkflowService()
-
-
Method Details
-
execute
-
findStartNodeId
查找工作流中的开始节点ID- Parameters:
content
- 工作流JSON内容- Returns:
- 开始节点的UID
-
executeWorkflowFromNode
private WorkflowEntity executeWorkflowFromNode(WorkflowEntity workflow, String nodeId, WorkflowRequest request) 从指定节点开始执行工作流- Parameters:
workflow
- 工作流实体nodeId
- 当前节点UIDrequest
- 请求参数
-
findNodeById
private com.alibaba.fastjson2.JSONObject findNodeById(com.alibaba.fastjson2.JSONArray nodes, String nodeId) 在节点数组中查找指定ID的节点 -
findNextNode
查找当前节点的下一个节点ID -
evaluateCondition
private String evaluateCondition(com.alibaba.fastjson2.JSONObject conditionNode, WorkflowRequest request) 评估条件节点并返回下一个节点ID -
executeLoopNode
private void executeLoopNode(WorkflowEntity workflow, com.alibaba.fastjson2.JSONObject loopNode, WorkflowRequest request) 执行循环节点 -
executeLLMNode
private WorkflowEntity executeLLMNode(WorkflowEntity workflow, com.alibaba.fastjson2.JSONObject llmNode, WorkflowRequest request) 执行LLM节点 -
executeTextNode
private WorkflowEntity executeTextNode(WorkflowEntity workflow, com.alibaba.fastjson2.JSONObject textNode, WorkflowRequest request) 执行文本节点 -
executeGroupNode
private WorkflowEntity executeGroupNode(WorkflowEntity workflow, com.alibaba.fastjson2.JSONObject groupNode, WorkflowRequest request) 执行分组节点 -
findEntryNode
private String findEntryNode(com.alibaba.fastjson2.JSONArray blocks, com.alibaba.fastjson2.JSONArray edges) 查找分组中的入口节点(没有输入边的节点)
-