Class WorkflowService

java.lang.Object
com.bytedesk.core.workflow.WorkflowService

@Service public class WorkflowService extends Object
  • Field Details

  • Constructor Details

    • WorkflowService

      public WorkflowService()
  • Method Details

    • execute

      public WorkflowResponse execute(WorkflowRequest request)
    • findStartNodeId

      private String findStartNodeId(String content)
      查找工作流中的开始节点ID
      Parameters:
      content - 工作流JSON内容
      Returns:
      开始节点的UID
    • executeWorkflowFromNode

      private WorkflowEntity executeWorkflowFromNode(WorkflowEntity workflow, String nodeId, WorkflowRequest request)
      从指定节点开始执行工作流
      Parameters:
      workflow - 工作流实体
      nodeId - 当前节点UID
      request - 请求参数
    • findNodeById

      private com.alibaba.fastjson2.JSONObject findNodeById(com.alibaba.fastjson2.JSONArray nodes, String nodeId)
      在节点数组中查找指定ID的节点
    • findNextNode

      private String findNextNode(com.alibaba.fastjson2.JSONObject workflow, String currentNodeId)
      查找当前节点的下一个节点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)
      查找分组中的入口节点(没有输入边的节点)