Commit a0e06cc0b7aa97cf869409d1ae513b5143766759
1 parent
46b5f17b
【调整】调整modal list 返回信息,和update req
Showing
7 changed files
with
103 additions
and
32 deletions
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; |
| 5 | 5 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO; |
| 6 | 6 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO; |
| 7 | 7 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO; |
| 8 | +import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelUpdateReqVO; | |
| 8 | 9 | import cn.iocoder.yudao.module.ai.service.AiChatModelService; |
| 9 | 10 | import io.swagger.v3.oas.annotations.Operation; |
| 10 | 11 | import io.swagger.v3.oas.annotations.tags.Tag; |
| ... | ... | @@ -46,9 +47,8 @@ public class AiChatModelController { |
| 46 | 47 | |
| 47 | 48 | @Operation(summary = "ai模型 - 修改") |
| 48 | 49 | @PostMapping("/update") |
| 49 | - public CommonResult<Void> update(@RequestParam("id") Long id, | |
| 50 | - @RequestBody @Validated AiChatModelAddReqVO req) { | |
| 51 | - aiChatModelService.update(id, req); | |
| 50 | + public CommonResult<Void> update(@RequestBody @Validated AiChatModelUpdateReqVO req) { | |
| 51 | + aiChatModelService.update(req); | |
| 52 | 52 | return CommonResult.success(null); |
| 53 | 53 | } |
| 54 | 54 | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/vo/model/AiChatModelListRespVO.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.controller.admin.model.vo.model; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.framework.ai.AiPlatformEnum; | |
| 4 | +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | |
| 5 | +import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiApiKeyDO; | |
| 6 | +import com.baomidou.mybatisplus.annotation.TableId; | |
| 3 | 7 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | 8 | import lombok.Data; |
| 5 | 9 | import lombok.experimental.Accessors; |
| ... | ... | @@ -15,27 +19,36 @@ import lombok.experimental.Accessors; |
| 15 | 19 | @Accessors(chain = true) |
| 16 | 20 | public class AiChatModelListRespVO { |
| 17 | 21 | |
| 18 | - @Schema(description = "id") | |
| 22 | + @Schema(description = "编号") | |
| 19 | 23 | private Long id; |
| 20 | 24 | |
| 21 | - @Schema(description = "模型平台 参考 AiPlatformEnum") | |
| 22 | - private String platform; | |
| 23 | - | |
| 24 | - @Schema(description = "模型类型 参考 YiYanChatModel、XingHuoChatModel") | |
| 25 | - private String modal; | |
| 25 | + @Schema(description = "API 秘钥编号") | |
| 26 | + private Long keyId; | |
| 26 | 27 | |
| 27 | - @Schema(description = "模型名字") | |
| 28 | + @Schema(description = "模型名称") | |
| 28 | 29 | private String name; |
| 29 | 30 | |
| 30 | - @Schema(description = "模型照片") | |
| 31 | - private String image; | |
| 31 | + @Schema(description = "模型标志") | |
| 32 | + private String model; | |
| 32 | 33 | |
| 33 | - @Schema(description = "禁用 0、正常 1、禁用") | |
| 34 | - private Integer disable; | |
| 34 | + @Schema(description = "平台") | |
| 35 | + private String platform; | |
| 35 | 36 | |
| 36 | - @Schema(description = "排序 asc 排序") | |
| 37 | + @Schema(description = "排序值") | |
| 37 | 38 | private Integer sort; |
| 38 | 39 | |
| 39 | - @Schema(description = "modal 配置") | |
| 40 | - private String config; | |
| 40 | + @Schema(description = "状态") | |
| 41 | + private Integer status; | |
| 42 | + | |
| 43 | + // ========== 会话配置 ========== | |
| 44 | + | |
| 45 | + @Schema(description = "温度参数") | |
| 46 | + private Double temperature; | |
| 47 | + | |
| 48 | + @Schema(description = "单条回复的最大 Token 数量") | |
| 49 | + private Integer maxTokens; | |
| 50 | + | |
| 51 | + @Schema(description = "上下文的最大 Message 数量") | |
| 52 | + private Integer maxContexts; | |
| 53 | + | |
| 41 | 54 | } | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/vo/model/AiChatModelUpdateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.ai.controller.admin.model.vo.model; | |
| 2 | + | |
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 4 | +import jakarta.validation.constraints.NotNull; | |
| 5 | +import jakarta.validation.constraints.Size; | |
| 6 | +import lombok.Data; | |
| 7 | +import lombok.experimental.Accessors; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * ai chat modal | |
| 11 | + * | |
| 12 | + * @author fansili | |
| 13 | + * @time 2024/4/24 19:47 | |
| 14 | + * @since 1.0 | |
| 15 | + */ | |
| 16 | +@Data | |
| 17 | +@Accessors(chain = true) | |
| 18 | +public class AiChatModelUpdateReqVO { | |
| 19 | + | |
| 20 | + @Schema(description = "编号") | |
| 21 | + @NotNull(message = "编号不能为空") | |
| 22 | + private Long id; | |
| 23 | + | |
| 24 | + @Schema(description = "API 秘钥编号") | |
| 25 | + @NotNull(message = "API 秘钥编号不能为空!") | |
| 26 | + private Long keyId; | |
| 27 | + | |
| 28 | + @Schema(description = "模型名字") | |
| 29 | + @Size(max = 60, message = "模型名字最大60个字符") | |
| 30 | + @NotNull(message = "模型名字不能为空!") | |
| 31 | + private String name; | |
| 32 | + | |
| 33 | + @Schema(description = "模型类型(qianwen、yiyan、xinghuo、openai)") | |
| 34 | + @Size(max = 32, message = "模型类型最大32个字符") | |
| 35 | + @NotNull(message = "model模型不能为空!") | |
| 36 | + private String model; | |
| 37 | + | |
| 38 | + @Size(max = 32, message = "模型平台最大32个字符") | |
| 39 | + @Schema(description = "模型平台 参考 AiPlatformEnum") | |
| 40 | + @NotNull(message = "平台不能为空!") | |
| 41 | + private String platform; | |
| 42 | + | |
| 43 | + @Schema(description = "排序") | |
| 44 | + @NotNull(message = "sort排序不能为空!") | |
| 45 | + private Integer sort; | |
| 46 | + | |
| 47 | + // ========== 会话配置 ========== | |
| 48 | + | |
| 49 | + @Schema(description = "温度参数") | |
| 50 | + private Integer temperature; | |
| 51 | + | |
| 52 | + @Schema(description = "单条回复的最大 Token 数量") | |
| 53 | + private Integer maxTokens; | |
| 54 | + | |
| 55 | + @Schema(description = "上下文的最大 Message 数量") | |
| 56 | + private Integer maxContexts; | |
| 57 | +} | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/AiChatModelConvert.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.convert; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO; | |
| 3 | 4 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO; |
| 4 | 5 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO; |
| 5 | -import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO; | |
| 6 | +import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelUpdateReqVO; | |
| 6 | 7 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; |
| 7 | 8 | import org.mapstruct.Mapper; |
| 8 | 9 | import org.mapstruct.factory.Mappers; |
| ... | ... | @@ -37,6 +38,13 @@ public interface AiChatModelConvert { |
| 37 | 38 | */ |
| 38 | 39 | AiChatModelDO convertAiChatModalDO(AiChatModelAddReqVO req); |
| 39 | 40 | |
| 41 | + /** | |
| 42 | + * 转换 - AiChatModalDO | |
| 43 | + * | |
| 44 | + * @param req | |
| 45 | + * @return | |
| 46 | + */ | |
| 47 | + AiChatModelDO convertAiChatModalDO(AiChatModelUpdateReqVO req); | |
| 40 | 48 | |
| 41 | 49 | /** |
| 42 | 50 | * 转换 - AiChatModalRes | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiChatModelDO.java
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/AiChatModelService.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.service; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | -import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO; | |
| 5 | -import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO; | |
| 6 | -import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO; | |
| 7 | -import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO; | |
| 4 | +import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.*; | |
| 8 | 5 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; |
| 9 | 6 | |
| 10 | 7 | /** |
| ... | ... | @@ -34,10 +31,9 @@ public interface AiChatModelService { |
| 34 | 31 | /** |
| 35 | 32 | * ai modal - 更新 |
| 36 | 33 | * |
| 37 | - * @param id | |
| 38 | 34 | * @param req |
| 39 | 35 | */ |
| 40 | - void update(Long id, AiChatModelAddReqVO req); | |
| 36 | + void update(AiChatModelUpdateReqVO req); | |
| 41 | 37 | |
| 42 | 38 | /** |
| 43 | 39 | * ai modal - 删除 | ... | ... |
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; |
| 8 | 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 9 | 9 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| 10 | 10 | import cn.iocoder.yudao.module.ai.ErrorCodeConstants; |
| 11 | -import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO; | |
| 12 | -import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO; | |
| 13 | -import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO; | |
| 14 | -import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO; | |
| 11 | +import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.*; | |
| 15 | 12 | import cn.iocoder.yudao.module.ai.convert.AiChatModelConvert; |
| 16 | 13 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; |
| 17 | 14 | import cn.iocoder.yudao.module.ai.dal.mysql.AiChatModelMapper; |
| ... | ... | @@ -70,14 +67,14 @@ public class AiChatModalServiceImpl implements AiChatModelService { |
| 70 | 67 | } |
| 71 | 68 | |
| 72 | 69 | @Override |
| 73 | - public void update(Long id, AiChatModelAddReqVO req) { | |
| 70 | + public void update(AiChatModelUpdateReqVO req) { | |
| 74 | 71 | // 校验 platform |
| 75 | 72 | validatePlatform(req.getPlatform()); |
| 76 | 73 | // 校验模型是否存在 |
| 77 | - validateExists(id); | |
| 74 | + validateExists(req.getId()); | |
| 78 | 75 | // 转换 updateChatModalDO |
| 79 | 76 | AiChatModelDO updateChatModalDO = AiChatModelConvert.INSTANCE.convertAiChatModalDO(req); |
| 80 | - updateChatModalDO.setId(id); | |
| 77 | + updateChatModalDO.setId(req.getId()); | |
| 81 | 78 | // 更新数据库 |
| 82 | 79 | aiChatModelMapper.updateById(updateChatModalDO); |
| 83 | 80 | } | ... | ... |