Bladeren bron

【代码评审】AI:工作流

YunaiV 4 maanden geleden
bovenliggende
commit
4bb52bb37d

+ 1 - 0
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')")

+ 1 - 1
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")

+ 6 - 6
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 数据
      */

+ 1 - 0
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);
+
 }

+ 2 - 1
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;
     }
 
-
 }

+ 1 - 1
yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml

@@ -118,8 +118,8 @@
             </exclusions>
         </dependency>
 
+        <!-- TinyFlow:AI 工作流 -->
         <dependency>
-            <!-- Tinyflow:工作流 -->
             <groupId>dev.tinyflow</groupId>
             <artifactId>tinyflow-java-core</artifactId>
             <version>${tinyflow.version}</version>