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

This commit is contained in:
cherishsince 2024-05-07 15:24:18 +08:00
parent 46b5f17bbc
commit a0e06cc0b7
7 changed files with 103 additions and 32 deletions

View File

@ -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);
}

View File

@ -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 = "API 秘钥编号")
private Long keyId;
@Schema(description = "模型类型 参考 YiYanChatModel、XingHuoChatModel")
private String modal;
@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;
}

View File

@ -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;
}

View File

@ -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

View File

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

View File

@ -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 - 删除

View File

@ -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);
}