diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/workflow/AiWorkflowController.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/workflow/AiWorkflowController.java index 1270f7679c..44e60a0e98 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/workflow/AiWorkflowController.java +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/workflow/AiWorkflowController.java @@ -67,6 +67,7 @@ public class AiWorkflowController { return success(BeanUtils.toBean(pageResult, AiWorkflowRespVO.class)); } + // TODO @lesan:要不融合到 updateWorkflow 接口? @PutMapping("/updateWorkflowModel") @Operation(summary = "更新 AI 工作流模型") @PreAuthorize("@ss.hasPermission('ai:workflow:update')") diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/workflow/vo/AiWorkflowSaveReqVO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/workflow/vo/AiWorkflowSaveReqVO.java index ec269cc034..5c4ebc4a4b 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/workflow/vo/AiWorkflowSaveReqVO.java +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/workflow/vo/AiWorkflowSaveReqVO.java @@ -8,7 +8,7 @@ import lombok.Data; @Data public class AiWorkflowSaveReqVO { - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @Schema(description = "编号", example = "1") private Long id; @Schema(description = "工作流标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "FLOW") diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/workflow/AiWorkflowDO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/workflow/AiWorkflowDO.java index db6c090467..ef05f7ea17 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/workflow/AiWorkflowDO.java +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/workflow/AiWorkflowDO.java @@ -21,17 +21,17 @@ public class AiWorkflowDO extends BaseDO { */ @TableId private Long id; - - /** - * 工作流标识 - */ - private String definitionKey; - /** * 工作流名称 */ private String name; + /** + * 工作流标识 + */ + // TODO @lesan:要不换成 code?主要想,和 bpm 工作流,有点区分,字段上。 + private String definitionKey; + // TODO @lesan:graph 用这个如何?发现大家貌似更爱用这个字段哈。图! /** * 工作流模型 JSON 数据 */ diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/workflow/AiWorkflowService.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/workflow/AiWorkflowService.java index 31fd476540..bbc167d486 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/workflow/AiWorkflowService.java +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/workflow/AiWorkflowService.java @@ -66,4 +66,5 @@ public interface AiWorkflowService { * @param testReqVO 测试数据 */ Object testWorkflow(AiWorkflowTestReqVO testReqVO); + } diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/workflow/AiWorkflowServiceImpl.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/workflow/AiWorkflowServiceImpl.java index 53128b7c2a..0bf299da49 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/workflow/AiWorkflowServiceImpl.java +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/workflow/AiWorkflowServiceImpl.java @@ -117,6 +117,7 @@ public class AiWorkflowServiceImpl implements AiWorkflowService { } private Tinyflow parseFlowParam(String model) { + // TODO @lesan:可以使用 jackson 哇? JSONObject json = JSONObject.parseObject(model); JSONArray nodeArr = json.getJSONArray("nodes"); Tinyflow tinyflow = new Tinyflow(json.toJSONString()); @@ -128,6 +129,7 @@ public class AiWorkflowServiceImpl implements AiWorkflowService { AiApiKeyDO apiKey = apiKeyService.getApiKey(data.getLong("llmId")); switch (apiKey.getPlatform()) { // TODO @lesan 需要讨论一下这里怎么弄 + // TODO @lesan llmId 对应 model 的编号如何?这样的话,就是 apiModelService 提供一个获取 LLM 的方法。然后,创建的方法,也在 AiModelFactory 提供。可以先接个 deepseek 先。deepseek yyds! case "OpenAI": break; case "Ollama": @@ -153,5 +155,4 @@ public class AiWorkflowServiceImpl implements AiWorkflowService { return tinyflow; } - } diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml b/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml index 5740cf2041..3ed8724b76 100644 --- a/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml +++ b/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml @@ -118,8 +118,8 @@ + - dev.tinyflow tinyflow-java-core ${tinyflow.version}