Browse Source

【调整】调整modal list 返回信息,和update req

cherishsince 11 months ago
parent
commit
a0e06cc0b7

+ 3 - 3
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/AiChatModelController.java

@@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO;
 import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO;
 import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO;
+import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelUpdateReqVO;
 import cn.iocoder.yudao.module.ai.service.AiChatModelService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -46,9 +47,8 @@ public class AiChatModelController {
 
     @Operation(summary = "ai模型 - 修改")
     @PostMapping("/update")
-    public CommonResult<Void> update(@RequestParam("id") Long id,
-                                     @RequestBody @Validated AiChatModelAddReqVO req) {
-        aiChatModelService.update(id, req);
+    public CommonResult<Void> update(@RequestBody @Validated AiChatModelUpdateReqVO req) {
+        aiChatModelService.update(req);
         return CommonResult.success(null);
     }
 

+ 27 - 14
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/vo/model/AiChatModelListRespVO.java

@@ -1,5 +1,9 @@
 package cn.iocoder.yudao.module.ai.controller.admin.model.vo.model;
 
+import cn.iocoder.yudao.framework.ai.AiPlatformEnum;
+import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
+import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiApiKeyDO;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.experimental.Accessors;
@@ -15,27 +19,36 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 public class AiChatModelListRespVO {
 
-    @Schema(description = "id")
+    @Schema(description = "编号")
     private Long id;
 
-    @Schema(description = "模型平台 参考 AiPlatformEnum")
-    private String platform;
-
-    @Schema(description = "模型类型 参考 YiYanChatModel、XingHuoChatModel")
-    private String modal;
+    @Schema(description = "API 秘钥编号")
+    private Long keyId;
 
-    @Schema(description = "模型名")
+    @Schema(description = "模型名称")
     private String name;
 
-    @Schema(description = "模型照片")
-    private String image;
+    @Schema(description = "模型标志")
+    private String model;
 
-    @Schema(description = "禁用 0、正常 1、禁用")
-    private Integer disable;
+    @Schema(description = "平台")
+    private String platform;
 
-    @Schema(description = "排序 asc 排序")
+    @Schema(description = "排序")
     private Integer sort;
 
-    @Schema(description = "modal 配置")
-    private String config;
+    @Schema(description = "状态")
+    private Integer status;
+
+    // ========== 会话配置 ==========
+
+    @Schema(description = "温度参数")
+    private Double temperature;
+
+    @Schema(description = "单条回复的最大 Token 数量")
+    private Integer maxTokens;
+
+    @Schema(description = "上下文的最大 Message 数量")
+    private Integer maxContexts;
+
 }

+ 57 - 0
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/vo/model/AiChatModelUpdateReqVO.java

@@ -0,0 +1,57 @@
+package cn.iocoder.yudao.module.ai.controller.admin.model.vo.model;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * ai chat modal
+ *
+ * @author fansili
+ * @time 2024/4/24 19:47
+ * @since 1.0
+ */
+@Data
+@Accessors(chain = true)
+public class AiChatModelUpdateReqVO {
+
+    @Schema(description = "编号")
+    @NotNull(message = "编号不能为空")
+    private Long id;
+
+    @Schema(description = "API 秘钥编号")
+    @NotNull(message = "API 秘钥编号不能为空!")
+    private Long keyId;
+
+    @Schema(description = "模型名字")
+    @Size(max = 60, message = "模型名字最大60个字符")
+    @NotNull(message = "模型名字不能为空!")
+    private String name;
+
+    @Schema(description = "模型类型(qianwen、yiyan、xinghuo、openai)")
+    @Size(max = 32, message = "模型类型最大32个字符")
+    @NotNull(message = "model模型不能为空!")
+    private String model;
+
+    @Size(max = 32, message = "模型平台最大32个字符")
+    @Schema(description = "模型平台 参考 AiPlatformEnum")
+    @NotNull(message = "平台不能为空!")
+    private String platform;
+
+    @Schema(description = "排序")
+    @NotNull(message = "sort排序不能为空!")
+    private Integer sort;
+
+    // ========== 会话配置 ==========
+
+    @Schema(description = "温度参数")
+    private Integer temperature;
+
+    @Schema(description = "单条回复的最大 Token 数量")
+    private Integer maxTokens;
+
+    @Schema(description = "上下文的最大 Message 数量")
+    private Integer maxContexts;
+}

+ 9 - 1
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/AiChatModelConvert.java

@@ -1,8 +1,9 @@
 package cn.iocoder.yudao.module.ai.convert;
 
+import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO;
 import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO;
 import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO;
-import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO;
+import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelUpdateReqVO;
 import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO;
 import org.mapstruct.Mapper;
 import org.mapstruct.factory.Mappers;
@@ -37,6 +38,13 @@ public interface AiChatModelConvert {
      */
     AiChatModelDO convertAiChatModalDO(AiChatModelAddReqVO req);
 
+    /**
+     * 转换 - AiChatModalDO
+     *
+     * @param req
+     * @return
+     */
+    AiChatModelDO convertAiChatModalDO(AiChatModelUpdateReqVO req);
 
     /**
      * 转换 - AiChatModalRes

+ 1 - 1
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiChatModelDO.java

@@ -75,6 +75,6 @@ public class AiChatModelDO extends BaseDO {
     /**
      * 上下文的最大 Message 数量
      */
-    private Integer i;
+    private Integer maxContexts;
 
 }

+ 2 - 6
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/AiChatModelService.java

@@ -1,10 +1,7 @@
 package cn.iocoder.yudao.module.ai.service;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO;
-import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO;
-import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO;
-import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO;
+import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.*;
 import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO;
 
 /**
@@ -34,10 +31,9 @@ public interface AiChatModelService {
     /**
      * ai modal - 更新
      *
-     * @param id
      * @param req
      */
-    void update(Long id, AiChatModelAddReqVO req);
+    void update(AiChatModelUpdateReqVO req);
 
     /**
      * ai modal - 删除

+ 4 - 7
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiChatModalServiceImpl.java

@@ -8,10 +8,7 @@ import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.ai.ErrorCodeConstants;
-import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO;
-import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO;
-import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO;
-import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO;
+import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.*;
 import cn.iocoder.yudao.module.ai.convert.AiChatModelConvert;
 import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO;
 import cn.iocoder.yudao.module.ai.dal.mysql.AiChatModelMapper;
@@ -70,14 +67,14 @@ public class AiChatModalServiceImpl implements AiChatModelService {
     }
 
     @Override
-    public void update(Long id, AiChatModelAddReqVO req) {
+    public void update(AiChatModelUpdateReqVO req) {
         // 校验 platform
         validatePlatform(req.getPlatform());
         // 校验模型是否存在
-        validateExists(id);
+        validateExists(req.getId());
         // 转换 updateChatModalDO
         AiChatModelDO updateChatModalDO = AiChatModelConvert.INSTANCE.convertAiChatModalDO(req);
-        updateChatModalDO.setId(id);
+        updateChatModalDO.setId(req.getId());
         // 更新数据库
         aiChatModelMapper.updateById(updateChatModalDO);
     }