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,6 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 5 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO; | 5 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO; |
| 6 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO; | 6 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO; |
| 7 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO; | 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 | import cn.iocoder.yudao.module.ai.service.AiChatModelService; | 9 | import cn.iocoder.yudao.module.ai.service.AiChatModelService; |
| 9 | import io.swagger.v3.oas.annotations.Operation; | 10 | import io.swagger.v3.oas.annotations.Operation; |
| 10 | import io.swagger.v3.oas.annotations.tags.Tag; | 11 | import io.swagger.v3.oas.annotations.tags.Tag; |
| @@ -46,9 +47,8 @@ public class AiChatModelController { | @@ -46,9 +47,8 @@ public class AiChatModelController { | ||
| 46 | 47 | ||
| 47 | @Operation(summary = "ai模型 - 修改") | 48 | @Operation(summary = "ai模型 - 修改") |
| 48 | @PostMapping("/update") | 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 | return CommonResult.success(null); | 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 | package cn.iocoder.yudao.module.ai.controller.admin.model.vo.model; | 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 | import io.swagger.v3.oas.annotations.media.Schema; | 7 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | import lombok.Data; | 8 | import lombok.Data; |
| 5 | import lombok.experimental.Accessors; | 9 | import lombok.experimental.Accessors; |
| @@ -15,27 +19,36 @@ import lombok.experimental.Accessors; | @@ -15,27 +19,36 @@ import lombok.experimental.Accessors; | ||
| 15 | @Accessors(chain = true) | 19 | @Accessors(chain = true) |
| 16 | public class AiChatModelListRespVO { | 20 | public class AiChatModelListRespVO { |
| 17 | 21 | ||
| 18 | - @Schema(description = "id") | 22 | + @Schema(description = "编号") |
| 19 | private Long id; | 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 | private String name; | 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 | private Integer sort; | 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 | package cn.iocoder.yudao.module.ai.convert; | 1 | package cn.iocoder.yudao.module.ai.convert; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO; | ||
| 3 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO; | 4 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO; |
| 4 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO; | 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 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; | 7 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; |
| 7 | import org.mapstruct.Mapper; | 8 | import org.mapstruct.Mapper; |
| 8 | import org.mapstruct.factory.Mappers; | 9 | import org.mapstruct.factory.Mappers; |
| @@ -37,6 +38,13 @@ public interface AiChatModelConvert { | @@ -37,6 +38,13 @@ public interface AiChatModelConvert { | ||
| 37 | */ | 38 | */ |
| 38 | AiChatModelDO convertAiChatModalDO(AiChatModelAddReqVO req); | 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 | * 转换 - AiChatModalRes | 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 | package cn.iocoder.yudao.module.ai.service; | 1 | package cn.iocoder.yudao.module.ai.service; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 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 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; | 5 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; |
| 9 | 6 | ||
| 10 | /** | 7 | /** |
| @@ -34,10 +31,9 @@ public interface AiChatModelService { | @@ -34,10 +31,9 @@ public interface AiChatModelService { | ||
| 34 | /** | 31 | /** |
| 35 | * ai modal - 更新 | 32 | * ai modal - 更新 |
| 36 | * | 33 | * |
| 37 | - * @param id | ||
| 38 | * @param req | 34 | * @param req |
| 39 | */ | 35 | */ |
| 40 | - void update(Long id, AiChatModelAddReqVO req); | 36 | + void update(AiChatModelUpdateReqVO req); |
| 41 | 37 | ||
| 42 | /** | 38 | /** |
| 43 | * ai modal - 删除 | 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,10 +8,7 @@ import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; | ||
| 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 9 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | 9 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| 10 | import cn.iocoder.yudao.module.ai.ErrorCodeConstants; | 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 | import cn.iocoder.yudao.module.ai.convert.AiChatModelConvert; | 12 | import cn.iocoder.yudao.module.ai.convert.AiChatModelConvert; |
| 16 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; | 13 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; |
| 17 | import cn.iocoder.yudao.module.ai.dal.mysql.AiChatModelMapper; | 14 | import cn.iocoder.yudao.module.ai.dal.mysql.AiChatModelMapper; |
| @@ -70,14 +67,14 @@ public class AiChatModalServiceImpl implements AiChatModelService { | @@ -70,14 +67,14 @@ public class AiChatModalServiceImpl implements AiChatModelService { | ||
| 70 | } | 67 | } |
| 71 | 68 | ||
| 72 | @Override | 69 | @Override |
| 73 | - public void update(Long id, AiChatModelAddReqVO req) { | 70 | + public void update(AiChatModelUpdateReqVO req) { |
| 74 | // 校验 platform | 71 | // 校验 platform |
| 75 | validatePlatform(req.getPlatform()); | 72 | validatePlatform(req.getPlatform()); |
| 76 | // 校验模型是否存在 | 73 | // 校验模型是否存在 |
| 77 | - validateExists(id); | 74 | + validateExists(req.getId()); |
| 78 | // 转换 updateChatModalDO | 75 | // 转换 updateChatModalDO |
| 79 | AiChatModelDO updateChatModalDO = AiChatModelConvert.INSTANCE.convertAiChatModalDO(req); | 76 | AiChatModelDO updateChatModalDO = AiChatModelConvert.INSTANCE.convertAiChatModalDO(req); |
| 80 | - updateChatModalDO.setId(id); | 77 | + updateChatModalDO.setId(req.getId()); |
| 81 | // 更新数据库 | 78 | // 更新数据库 |
| 82 | aiChatModelMapper.updateById(updateChatModalDO); | 79 | aiChatModelMapper.updateById(updateChatModalDO); |
| 83 | } | 80 | } |