From f254e95844e401d73dbd11b4d215e529bc339f01 Mon Sep 17 00:00:00 2001 From: limin Date: Thu, 19 Dec 2024 10:50:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AF=84=E4=BC=B0=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=20=E8=87=AA=E5=8A=A8=E8=AF=84=E4=BC=B0=20=E4=BA=BA?= =?UTF-8?q?=E5=B7=A5=E8=AF=84=E4=BC=B0=20=E8=AF=8D=E8=A1=A8=20=E8=AF=84?= =?UTF-8?q?=E4=BC=B0=E7=BB=B4=E5=BA=A6=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/llm/enums/ErrorCodeConstants.java | 8 ++ .../ModelAssessStoplistController.java | 103 ++++++++++++++++ .../vo/ModelAssessStoplistPageReqVO.java | 25 ++++ .../vo/ModelAssessStoplistRespVO.java | 27 +++++ .../vo/ModelAssessStoplistSaveReqVO.java | 19 +++ .../ModelAssessTaskAutoController.java | 105 +++++++++++++++++ .../ModelAssessTaskStoplistController.java | 97 +++++++++++++++ .../vo/ModelAssessTaskAutoPageReqVO.java | 40 +++++++ .../vo/ModelAssessTaskAutoRespVO.java | 51 ++++++++ .../vo/ModelAssessTaskAutoSaveReqVO.java | 38 ++++++ .../vo/ModelAssessTaskStoplistPageReqVO.java | 28 +++++ .../vo/ModelAssessTaskStoplistRespVO.java | 31 +++++ .../vo/ModelAssessTaskStoplistSaveReqVO.java | 21 ++++ .../ModelAssessDimensionController.java | 104 ++++++++++++++++ .../ModelAssessTaskDimensionController.java | 98 ++++++++++++++++ .../ModelAssessTaskManualController.java | 105 +++++++++++++++++ .../vo/ModelAssessDimensionPageReqVO.java | 25 ++++ .../vo/ModelAssessDimensionRespVO.java | 27 +++++ .../vo/ModelAssessDimensionSaveReqVO.java | 18 +++ .../vo/ModelAssessTaskDimensionPageReqVO.java | 31 +++++ .../vo/ModelAssessTaskDimensionRespVO.java | 35 ++++++ .../vo/ModelAssessTaskDimensionSaveReqVO.java | 25 ++++ .../vo/ModelAssessTaskManualPageReqVO.java | 21 ++++ .../vo/ModelAssessTaskManualRespVO.java | 52 ++++++++ .../vo/ModelAssessTaskManualSaveReqVO.java | 34 ++++++ .../ModelAssessStoplistDO.java | 35 ++++++ .../ModelAssessTaskAutoDO.java | 55 +++++++++ .../ModelAssessTaskStoplistDO.java | 39 ++++++ .../ModelAssessDimensionDO.java | 35 ++++++ .../ModelAssessTaskDimensionDO.java | 43 +++++++ .../ModelAssessTaskManualDO.java | 53 +++++++++ .../ModelAssessStoplistMapper.java | 28 +++++ .../ModelAssessTaskAutoMapper.java | 33 ++++++ .../ModelAssessTaskStoplistMapper.java | 30 +++++ .../ModelAssessDimensionMapper.java | 29 +++++ .../ModelAssessTaskDimensionMapper.java | 31 +++++ .../ModelAssessTaskManualMapper.java | 27 +++++ .../ModelAssessStoplistService.java | 61 ++++++++++ .../ModelAssessStoplistServiceImpl.java | 85 ++++++++++++++ .../ModelAssessTaskAutoService.java | 55 +++++++++ .../ModelAssessTaskAutoServiceImpl.java | 111 ++++++++++++++++++ .../ModelAssessTaskStoplistService.java | 57 +++++++++ .../ModelAssessTaskStoplistServiceImpl.java | 77 ++++++++++++ .../ModelAssessDimensionService.java | 61 ++++++++++ .../ModelAssessDimensionServiceImpl.java | 83 +++++++++++++ .../ModelAssessTaskDimensionService.java | 56 +++++++++ .../ModelAssessTaskDimensionServiceImpl.java | 75 ++++++++++++ .../ModelAssessTaskManualService.java | 55 +++++++++ .../ModelAssessTaskManualServiceImpl.java | 107 +++++++++++++++++ .../ModelAssessStoplistMapper.xml | 12 ++ .../ModelAssessTaskAutoMapper.xml | 12 ++ .../ModelAssessTaskStoplistMapper.xml | 12 ++ .../ModelAssessDimensionMapper.xml | 12 ++ .../ModelAssessTaskDimensionMapper.xml | 12 ++ .../ModelAssessTaskManualMapper.xml | 12 ++ 55 files changed, 2561 insertions(+) create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/ModelAssessStoplistController.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/vo/ModelAssessStoplistPageReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/vo/ModelAssessStoplistRespVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/vo/ModelAssessStoplistSaveReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/ModelAssessTaskAutoController.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/ModelAssessTaskStoplistController.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskAutoPageReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskAutoRespVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskAutoSaveReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskStoplistPageReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskStoplistRespVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskStoplistSaveReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessDimensionController.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskDimensionController.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskManualController.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessDimensionPageReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessDimensionRespVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessDimensionSaveReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskDimensionPageReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskDimensionRespVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskDimensionSaveReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualPageReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualRespVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualSaveReqVO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassessstoplist/ModelAssessStoplistDO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskauto/ModelAssessTaskAutoDO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskauto/ModelAssessTaskStoplistDO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanual/ModelAssessDimensionDO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanual/ModelAssessTaskDimensionDO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanual/ModelAssessTaskManualDO.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassessstoplist/ModelAssessStoplistMapper.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskauto/ModelAssessTaskAutoMapper.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskauto/ModelAssessTaskStoplistMapper.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanual/ModelAssessDimensionMapper.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanual/ModelAssessTaskDimensionMapper.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanual/ModelAssessTaskManualMapper.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassessstoplist/ModelAssessStoplistService.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassessstoplist/ModelAssessStoplistServiceImpl.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskAutoService.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskAutoServiceImpl.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskStoplistService.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskStoplistServiceImpl.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessDimensionService.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessDimensionServiceImpl.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskDimensionService.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskDimensionServiceImpl.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualService.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualServiceImpl.java create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassessstoplist/ModelAssessStoplistMapper.xml create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskauto/ModelAssessTaskAutoMapper.xml create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskauto/ModelAssessTaskStoplistMapper.xml create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanual/ModelAssessDimensionMapper.xml create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanual/ModelAssessTaskDimensionMapper.xml create mode 100644 yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanual/ModelAssessTaskManualMapper.xml diff --git a/yudao-module-llm/yudao-module-llm-api/src/main/java/cn/iocoder/yudao/module/llm/enums/ErrorCodeConstants.java b/yudao-module-llm/yudao-module-llm-api/src/main/java/cn/iocoder/yudao/module/llm/enums/ErrorCodeConstants.java index 9436e8c69..43a7fb3e9 100644 --- a/yudao-module-llm/yudao-module-llm-api/src/main/java/cn/iocoder/yudao/module/llm/enums/ErrorCodeConstants.java +++ b/yudao-module-llm/yudao-module-llm-api/src/main/java/cn/iocoder/yudao/module/llm/enums/ErrorCodeConstants.java @@ -19,4 +19,12 @@ public interface ErrorCodeConstants { ErrorCode DATA_REFLUX_CONFIG_NOT_EXISTS = new ErrorCode(10008, "数据回流不存在"); + ErrorCode MODEL_ASSESS_TASK_MANUAL_NOT_EXISTS = new ErrorCode(10009, "人工评估不存在"); + + ErrorCode MODEL_ASSESS_DIMENSION_NOT_EXISTS = new ErrorCode(10010, "评估维度不存在"); + ErrorCode MODEL_ASSESS_TASK_DIMENSION_NOT_EXISTS = new ErrorCode(10011, "人工评估维度不存在"); + ErrorCode MODEL_ASSESS_TASK_AUTO_NOT_EXISTS = new ErrorCode(10012, "自动评估维度不存在"); + ErrorCode MODEL_ASSESS_TASK_STOPLIST_NOT_EXISTS = new ErrorCode(10013, "自动评估维度不存在"); + ErrorCode MODEL_ASSESS_STOPLIST_NOT_EXISTS = new ErrorCode(10014, "自动评估维度不存在"); + } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/ModelAssessStoplistController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/ModelAssessStoplistController.java new file mode 100644 index 000000000..b8f8838e4 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/ModelAssessStoplistController.java @@ -0,0 +1,103 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassessstoplist; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.llm.controller.admin.modelassessstoplist.vo.*; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassessstoplist.ModelAssessStoplistDO; +import cn.iocoder.yudao.module.llm.service.modelassessstoplist.ModelAssessStoplistService; + +@Tag(name = "管理后台 - 停用词表 定义") +@RestController +@RequestMapping("/llm/model-assess-stoplist") +@Validated +public class ModelAssessStoplistController { + + @Resource + private ModelAssessStoplistService modelAssessStoplistService; + + @PostMapping("/create") + @Operation(summary = "创建停用词表 定义") + @PreAuthorize("@ss.hasPermission('llm:model-assess-stoplist:create')") + public CommonResult createModelAssessStoplist(@Valid @RequestBody ModelAssessStoplistSaveReqVO createReqVO) { + return success(modelAssessStoplistService.createModelAssessStoplist(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新停用词表 定义") + @PreAuthorize("@ss.hasPermission('llm:model-assess-stoplist:update')") + public CommonResult updateModelAssessStoplist(@Valid @RequestBody ModelAssessStoplistSaveReqVO updateReqVO) { + modelAssessStoplistService.updateModelAssessStoplist(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除停用词表 定义") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('llm:model-assess-stoplist:delete')") + public CommonResult deleteModelAssessStoplist(@RequestParam("id") Long id) { + modelAssessStoplistService.deleteModelAssessStoplist(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得停用词表 定义") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('llm:model-assess-stoplist:query')") + public CommonResult getModelAssessStoplist(@RequestParam("id") Long id) { + ModelAssessStoplistDO modelAssessStoplist = modelAssessStoplistService.getModelAssessStoplist(id); + return success(BeanUtils.toBean(modelAssessStoplist, ModelAssessStoplistRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得停用词表 定义分页") + @PreAuthorize("@ss.hasPermission('llm:model-assess-stoplist:query')") + public CommonResult> getModelAssessStoplistPage(@Valid ModelAssessStoplistPageReqVO pageReqVO) { + PageResult pageResult = modelAssessStoplistService.getModelAssessStoplistPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ModelAssessStoplistRespVO.class)); + } + + @GetMapping("/all") + @Operation(summary = "获得停用词表 定义分页") + @PreAuthorize("@ss.hasPermission('llm:model-assess-stoplist:query')") + public CommonResult> getModelAssessStoplistAll() { + List list = modelAssessStoplistService.getModelAssessStoplistAll(); + return success(BeanUtils.toBean(list, ModelAssessStoplistRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出停用词表 定义 Excel") + @PreAuthorize("@ss.hasPermission('llm:model-assess-stoplist:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportModelAssessStoplistExcel(@Valid ModelAssessStoplistPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = modelAssessStoplistService.getModelAssessStoplistPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "停用词表 定义.xls", "数据", ModelAssessStoplistRespVO.class, + BeanUtils.toBean(list, ModelAssessStoplistRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/vo/ModelAssessStoplistPageReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/vo/ModelAssessStoplistPageReqVO.java new file mode 100644 index 000000000..29af29aaa --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/vo/ModelAssessStoplistPageReqVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassessstoplist.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 停用词表 定义分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ModelAssessStoplistPageReqVO extends PageParam { + + @Schema(description = "停用词") + private String word; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/vo/ModelAssessStoplistRespVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/vo/ModelAssessStoplistRespVO.java new file mode 100644 index 000000000..4936177ef --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/vo/ModelAssessStoplistRespVO.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassessstoplist.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 停用词表 定义 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ModelAssessStoplistRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10892") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "停用词", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("停用词") + private String word; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/vo/ModelAssessStoplistSaveReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/vo/ModelAssessStoplistSaveReqVO.java new file mode 100644 index 000000000..20844817c --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassessstoplist/vo/ModelAssessStoplistSaveReqVO.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassessstoplist.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 停用词表 定义新增/修改 Request VO") +@Data +public class ModelAssessStoplistSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10892") + private Long id; + + @Schema(description = "停用词", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "停用词不能为空") + private String word; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/ModelAssessTaskAutoController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/ModelAssessTaskAutoController.java new file mode 100644 index 000000000..251c984db --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/ModelAssessTaskAutoController.java @@ -0,0 +1,105 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto; + +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskStoplistDO; +import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskauto.ModelAssessTaskStoplistMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.*; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskAutoDO; +import cn.iocoder.yudao.module.llm.service.modelassesstaskauto.ModelAssessTaskAutoService; + +@Tag(name = "管理后台 - 模型评估任务 —— 自动评估") +@RestController +@RequestMapping("/llm/model-assess-task-auto") +@Validated +public class ModelAssessTaskAutoController { + + @Resource + private ModelAssessTaskAutoService modelAssessTaskAutoService; + @Resource + private ModelAssessTaskStoplistMapper modelingTaskStoplistMapper; + + @PostMapping("/create") + @Operation(summary = "创建模型评估任务 —— 自动评估") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-auto:create')") + public CommonResult createModelAssessTaskAuto(@Valid @RequestBody ModelAssessTaskAutoSaveReqVO createReqVO) { + return success(modelAssessTaskAutoService.createModelAssessTaskAuto(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新模型评估任务 —— 自动评估") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-auto:update')") + public CommonResult updateModelAssessTaskAuto(@Valid @RequestBody ModelAssessTaskAutoSaveReqVO updateReqVO) { + modelAssessTaskAutoService.updateModelAssessTaskAuto(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除模型评估任务 —— 自动评估") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-auto:delete')") + public CommonResult deleteModelAssessTaskAuto(@RequestParam("id") Long id) { + modelAssessTaskAutoService.deleteModelAssessTaskAuto(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得模型评估任务 —— 自动评估") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-auto:query')") + public CommonResult getModelAssessTaskAuto(@RequestParam("id") Long id) { + ModelAssessTaskAutoDO modelAssessTaskAuto = modelAssessTaskAutoService.getModelAssessTaskAuto(id); + ModelAssessTaskAutoRespVO bean = BeanUtils.toBean(modelAssessTaskAuto, ModelAssessTaskAutoRespVO.class); + List modelAssessTaskStoplistDOS = modelingTaskStoplistMapper.selectList(new LambdaQueryWrapper() + .eq(ModelAssessTaskStoplistDO::getTaskId, id) + .eq(ModelAssessTaskStoplistDO::getDeleted, false)); + bean.setStoplists(modelAssessTaskStoplistDOS); + return success(bean); + } + + @GetMapping("/page") + @Operation(summary = "获得模型评估任务 —— 自动评估分页") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-auto:query')") + public CommonResult> getModelAssessTaskAutoPage(@Valid ModelAssessTaskAutoPageReqVO pageReqVO) { + PageResult pageResult = modelAssessTaskAutoService.getModelAssessTaskAutoPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ModelAssessTaskAutoRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出模型评估任务 —— 自动评估 Excel") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-auto:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportModelAssessTaskAutoExcel(@Valid ModelAssessTaskAutoPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = modelAssessTaskAutoService.getModelAssessTaskAutoPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "模型评估任务 —— 自动评估.xls", "数据", ModelAssessTaskAutoRespVO.class, + BeanUtils.toBean(list, ModelAssessTaskAutoRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/ModelAssessTaskStoplistController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/ModelAssessTaskStoplistController.java new file mode 100644 index 000000000..8588df498 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/ModelAssessTaskStoplistController.java @@ -0,0 +1,97 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto; + +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.ModelAssessTaskStoplistPageReqVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.ModelAssessTaskStoplistRespVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.ModelAssessTaskStoplistSaveReqVO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskStoplistDO; +import cn.iocoder.yudao.module.llm.service.modelassesstaskauto.ModelAssessTaskStoplistService; +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + + +/*@Tag(name = "管理后台 - 模型评估任务 —— 自动评估 ——停用词") +@RestController +@RequestMapping("/llm/model-assess-task-stoplist")*/ +@Validated +public class ModelAssessTaskStoplistController { + + @Resource + private ModelAssessTaskStoplistService modelAssessTaskStoplistService; + + @PostMapping("/create") + @Operation(summary = "创建模型评估任务 —— 自动评估 ——停用词") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-stoplist:create')") + public CommonResult createModelAssessTaskStoplist(@Valid @RequestBody ModelAssessTaskStoplistSaveReqVO createReqVO) { + return success(modelAssessTaskStoplistService.createModelAssessTaskStoplist(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新模型评估任务 —— 自动评估 ——停用词") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-stoplist:update')") + public CommonResult updateModelAssessTaskStoplist(@Valid @RequestBody ModelAssessTaskStoplistSaveReqVO updateReqVO) { + modelAssessTaskStoplistService.updateModelAssessTaskStoplist(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除模型评估任务 —— 自动评估 ——停用词") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-stoplist:delete')") + public CommonResult deleteModelAssessTaskStoplist(@RequestParam("id") Long id) { + modelAssessTaskStoplistService.deleteModelAssessTaskStoplist(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得模型评估任务 —— 自动评估 ——停用词") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-stoplist:query')") + public CommonResult getModelAssessTaskStoplist(@RequestParam("id") Long id) { + ModelAssessTaskStoplistDO modelAssessTaskStoplist = modelAssessTaskStoplistService.getModelAssessTaskStoplist(id); + return success(BeanUtils.toBean(modelAssessTaskStoplist, ModelAssessTaskStoplistRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得模型评估任务 —— 自动评估 ——停用词分页") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-stoplist:query')") + public CommonResult> getModelAssessTaskStoplistPage(@Valid ModelAssessTaskStoplistPageReqVO pageReqVO) { + PageResult pageResult = modelAssessTaskStoplistService.getModelAssessTaskStoplistPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ModelAssessTaskStoplistRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出模型评估任务 —— 自动评估 ——停用词 Excel") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-stoplist:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportModelAssessTaskStoplistExcel(@Valid ModelAssessTaskStoplistPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = modelAssessTaskStoplistService.getModelAssessTaskStoplistPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "模型评估任务 —— 自动评估 ——停用词.xls", "数据", ModelAssessTaskStoplistRespVO.class, + BeanUtils.toBean(list, ModelAssessTaskStoplistRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskAutoPageReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskAutoPageReqVO.java new file mode 100644 index 000000000..083dcf24a --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskAutoPageReqVO.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 模型评估任务 —— 自动评估分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ModelAssessTaskAutoPageReqVO extends PageParam { + + @Schema(description = "任务名称", example = "芋艿") + private String taskName; + + @Schema(description = "任务描述") + private String taskInfro; + + @Schema(description = "CPU类型,使用字典(llm_cpu_type)", example = "2") + private Integer cpuType; + + @Schema(description = "模型服务") + private Long modelService; + + @Schema(description = "数据集") + private Long dataset; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "评估方向,使用字典(llm_dimension_type)") + private Integer dimension; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskAutoRespVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskAutoRespVO.java new file mode 100644 index 000000000..4a57cd2b5 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskAutoRespVO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo; + +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskStoplistDO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 模型评估任务 —— 自动评估 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ModelAssessTaskAutoRespVO { + + @Schema(description = "评估任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14449") + @ExcelProperty("评估任务ID") + private Long id; + + @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @ExcelProperty("任务名称") + private String taskName; + + @Schema(description = "任务描述") + @ExcelProperty("任务描述") + private String taskInfro; + + @Schema(description = "CPU类型,使用字典(llm_cpu_type)", example = "2") + @ExcelProperty("CPU类型,使用字典(llm_cpu_type)") + private Integer cpuType; + + @Schema(description = "模型服务") + @ExcelProperty("模型服务") + private Long modelService; + + @Schema(description = "数据集") + @ExcelProperty("数据集") + private Long dataset; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "评估方向,使用字典(llm_dimension_type)") + @ExcelProperty("评估方向,使用字典(llm_dimension_type)") + private Integer dimension; + + @Schema(description = "自动评估列表") + private List stoplists; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskAutoSaveReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskAutoSaveReqVO.java new file mode 100644 index 000000000..775efd5c3 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskAutoSaveReqVO.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 模型评估任务 —— 自动评估新增/修改 Request VO") +@Data +public class ModelAssessTaskAutoSaveReqVO { + + @Schema(description = "评估任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14449") + private Long id; + + @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @NotEmpty(message = "任务名称不能为空") + private String taskName; + + @Schema(description = "任务描述") + private String taskInfro; + + @Schema(description = "CPU类型,使用字典(llm_cpu_type)", example = "2") + private Integer cpuType; + + @Schema(description = "模型服务") + private Long modelService; + + @Schema(description = "数据集") + private Long dataset; + + @Schema(description = "评估方向,使用字典(llm_dimension_type)") + private Integer dimension; + + @Schema(description = "自动规则打分,停用词表") + private List stoplists; + + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskStoplistPageReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskStoplistPageReqVO.java new file mode 100644 index 000000000..cf07f9587 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskStoplistPageReqVO.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 模型评估任务 —— 自动评估 ——停用词分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ModelAssessTaskStoplistPageReqVO extends PageParam { + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "自动任务ID", example = "9914") + private String taskId; + + @Schema(description = "停用词ID", example = "9298") + private Long stoplistId; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskStoplistRespVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskStoplistRespVO.java new file mode 100644 index 000000000..d31919040 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskStoplistRespVO.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 模型评估任务 —— 自动评估 ——停用词 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ModelAssessTaskStoplistRespVO { + + @Schema(description = "评估任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27416") + @ExcelProperty("评估任务ID") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "自动任务ID", example = "9914") + @ExcelProperty("自动任务ID") + private Long taskId; + + @Schema(description = "停用词ID", example = "9298") + @ExcelProperty("停用词ID") + private Long stoplistId; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskStoplistSaveReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskStoplistSaveReqVO.java new file mode 100644 index 000000000..e1f4b8a49 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskauto/vo/ModelAssessTaskStoplistSaveReqVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 模型评估任务 —— 自动评估 ——停用词新增/修改 Request VO") +@Data +public class ModelAssessTaskStoplistSaveReqVO { + + @Schema(description = "评估任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27416") + private Long id; + + @Schema(description = "自动任务ID", example = "9914") + private Long taskId; + + @Schema(description = "停用词ID", example = "9298") + private Long stoplistId; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessDimensionController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessDimensionController.java new file mode 100644 index 000000000..4011296c2 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessDimensionController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual; + +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessDimensionPageReqVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessDimensionRespVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessDimensionSaveReqVO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessDimensionDO; +import cn.iocoder.yudao.module.llm.service.modelassesstaskmanual.ModelAssessDimensionService; +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + + +@Tag(name = "管理后台 - 评估维度定义") +@RestController +@RequestMapping("/llm/model-assess-dimension") +@Validated +public class ModelAssessDimensionController { + + @Resource + private ModelAssessDimensionService modelAssessDimensionService; + + @PostMapping("/create") + @Operation(summary = "创建评估维度定义") + @PreAuthorize("@ss.hasPermission('llm:model-assess-dimension:create')") + public CommonResult createModelAssessDimension(@Valid @RequestBody ModelAssessDimensionSaveReqVO createReqVO) { + return success(modelAssessDimensionService.createModelAssessDimension(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新评估维度定义") + @PreAuthorize("@ss.hasPermission('llm:model-assess-dimension:update')") + public CommonResult updateModelAssessDimension(@Valid @RequestBody ModelAssessDimensionSaveReqVO updateReqVO) { + modelAssessDimensionService.updateModelAssessDimension(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除评估维度定义") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('llm:model-assess-dimension:delete')") + public CommonResult deleteModelAssessDimension(@RequestParam("id") Long id) { + modelAssessDimensionService.deleteModelAssessDimension(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得评估维度定义") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('llm:model-assess-dimension:query')") + public CommonResult getModelAssessDimension(@RequestParam("id") Long id) { + ModelAssessDimensionDO modelAssessDimension = modelAssessDimensionService.getModelAssessDimension(id); + return success(BeanUtils.toBean(modelAssessDimension, ModelAssessDimensionRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得评估维度定义分页") + @PreAuthorize("@ss.hasPermission('llm:model-assess-dimension:query')") + public CommonResult> getModelAssessDimensionPage(@Valid ModelAssessDimensionPageReqVO pageReqVO) { + PageResult pageResult = modelAssessDimensionService.getModelAssessDimensionPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ModelAssessDimensionRespVO.class)); + } + @GetMapping("/all") + @Operation(summary = "获得所有评估维度定义") + @PreAuthorize("@ss.hasPermission('llm:model-assess-dimension:all')") + public CommonResult> getModelAssessDimensionAll() { + List list = modelAssessDimensionService.getModelAssessDimensionAll(); + return success(BeanUtils.toBean(list, ModelAssessDimensionRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出评估维度定义 Excel") + @PreAuthorize("@ss.hasPermission('llm:model-assess-dimension:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportModelAssessDimensionExcel(@Valid ModelAssessDimensionPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = modelAssessDimensionService.getModelAssessDimensionPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "评估维度定义.xls", "数据", ModelAssessDimensionRespVO.class, + BeanUtils.toBean(list, ModelAssessDimensionRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskDimensionController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskDimensionController.java new file mode 100644 index 000000000..421a5d7ab --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskDimensionController.java @@ -0,0 +1,98 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual; + +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskDimensionPageReqVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskDimensionRespVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskDimensionSaveReqVO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskDimensionDO; +import cn.iocoder.yudao.module.llm.service.modelassesstaskmanual.ModelAssessTaskDimensionService; +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + + + +//@Tag(name = "管理后台 - 人工打分 评估维度") +//@RestController +//@RequestMapping("/llm/model-assess-task-dimension") +@Validated +public class ModelAssessTaskDimensionController { + + @Resource + private ModelAssessTaskDimensionService modelAssessTaskDimensionService; + + @PostMapping("/create") + @Operation(summary = "创建人工打分 评估维度") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-dimension:create')") + public CommonResult createModelAssessTaskDimension(@Valid @RequestBody ModelAssessTaskDimensionSaveReqVO createReqVO) { + return success(modelAssessTaskDimensionService.createModelAssessTaskDimension(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新人工打分 评估维度") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-dimension:update')") + public CommonResult updateModelAssessTaskDimension(@Valid @RequestBody ModelAssessTaskDimensionSaveReqVO updateReqVO) { + modelAssessTaskDimensionService.updateModelAssessTaskDimension(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除人工打分 评估维度") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-dimension:delete')") + public CommonResult deleteModelAssessTaskDimension(@RequestParam("id") Long id) { + modelAssessTaskDimensionService.deleteModelAssessTaskDimension(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得人工打分 评估维度") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-dimension:query')") + public CommonResult getModelAssessTaskDimension(@RequestParam("id") Long id) { + ModelAssessTaskDimensionDO modelAssessTaskDimension = modelAssessTaskDimensionService.getModelAssessTaskDimension(id); + return success(BeanUtils.toBean(modelAssessTaskDimension, ModelAssessTaskDimensionRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得人工打分 评估维度分页") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-dimension:query')") + public CommonResult> getModelAssessTaskDimensionPage(@Valid ModelAssessTaskDimensionPageReqVO pageReqVO) { + PageResult pageResult = modelAssessTaskDimensionService.getModelAssessTaskDimensionPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ModelAssessTaskDimensionRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出人工打分 评估维度 Excel") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-dimension:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportModelAssessTaskDimensionExcel(@Valid ModelAssessTaskDimensionPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = modelAssessTaskDimensionService.getModelAssessTaskDimensionPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "人工打分 评估维度.xls", "数据", ModelAssessTaskDimensionRespVO.class, + BeanUtils.toBean(list, ModelAssessTaskDimensionRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskManualController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskManualController.java new file mode 100644 index 000000000..921b3d524 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/ModelAssessTaskManualController.java @@ -0,0 +1,105 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual; + +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskDimensionDO; +import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessTaskDimensionMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.*; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskManualDO; +import cn.iocoder.yudao.module.llm.service.modelassesstaskmanual.ModelAssessTaskManualService; + +@Tag(name = "管理后台 - 模型评估任务 —— 人工评估") +@RestController +@RequestMapping("/llm/model-assess-task-manual") +@Validated +public class ModelAssessTaskManualController { + + @Resource + private ModelAssessTaskManualService modelAssessTaskManualService; + @Resource + ModelAssessTaskDimensionMapper modelAssessTaskDimensionMapper; + + @PostMapping("/create") + @Operation(summary = "创建模型评估任务 —— 人工评估") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual:create')") + public CommonResult createModelAssessTaskManual(@Valid @RequestBody ModelAssessTaskManualSaveReqVO createReqVO) { + return success(modelAssessTaskManualService.createModelAssessTaskManual(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新模型评估任务 —— 人工评估") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual:update')") + public CommonResult updateModelAssessTaskManual(@Valid @RequestBody ModelAssessTaskManualSaveReqVO updateReqVO) { + modelAssessTaskManualService.updateModelAssessTaskManual(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除模型评估任务 —— 人工评估") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual:delete')") + public CommonResult deleteModelAssessTaskManual(@RequestParam("id") Long id) { + modelAssessTaskManualService.deleteModelAssessTaskManual(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得模型评估任务 —— 人工评估") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual:query')") + public CommonResult getModelAssessTaskManual(@RequestParam("id") Long id) { + ModelAssessTaskManualDO modelAssessTaskManual = modelAssessTaskManualService.getModelAssessTaskManual(id); + ModelAssessTaskManualRespVO bean = BeanUtils.toBean(modelAssessTaskManual, ModelAssessTaskManualRespVO.class); + List modelAssessTaskDimensionDOS = modelAssessTaskDimensionMapper.selectList(new LambdaQueryWrapper() + .eq(ModelAssessTaskDimensionDO::getTaskId, id) + .eq(ModelAssessTaskDimensionDO::getDeleted, false)); + bean.setDimensions(modelAssessTaskDimensionDOS); + return success(bean); + } + + @GetMapping("/page") + @Operation(summary = "获得模型评估任务 —— 人工评估分页") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual:query')") + public CommonResult> getModelAssessTaskManualPage(@Valid ModelAssessTaskManualPageReqVO pageReqVO) { + PageResult pageResult = modelAssessTaskManualService.getModelAssessTaskManualPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ModelAssessTaskManualRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出模型评估任务 —— 人工评估 Excel") + @PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportModelAssessTaskManualExcel(@Valid ModelAssessTaskManualPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = modelAssessTaskManualService.getModelAssessTaskManualPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "模型评估任务 —— 人工评估.xls", "数据", ModelAssessTaskManualRespVO.class, + BeanUtils.toBean(list, ModelAssessTaskManualRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessDimensionPageReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessDimensionPageReqVO.java new file mode 100644 index 000000000..8300cacac --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessDimensionPageReqVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 评估维度定义分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ModelAssessDimensionPageReqVO extends PageParam { + + @Schema(description = "评估维度") + private String dimension; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessDimensionRespVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessDimensionRespVO.java new file mode 100644 index 000000000..e8062b51c --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessDimensionRespVO.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 评估维度定义 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ModelAssessDimensionRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20394") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "评估维度") + @ExcelProperty("评估维度") + private String dimension; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessDimensionSaveReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessDimensionSaveReqVO.java new file mode 100644 index 000000000..36846055d --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessDimensionSaveReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 评估维度定义新增/修改 Request VO") +@Data +public class ModelAssessDimensionSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20394") + private Long id; + + @Schema(description = "评估维度") + private String dimension; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskDimensionPageReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskDimensionPageReqVO.java new file mode 100644 index 000000000..97bb08350 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskDimensionPageReqVO.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 人工打分 评估维度分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ModelAssessTaskDimensionPageReqVO extends PageParam { + + @Schema(description = "任务ID", example = "4731") + private Long taskId; + + @Schema(description = "评估维度ID", example = "10188") + private Long dimensionId; + + @Schema(description = "备注", example = "你猜") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskDimensionRespVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskDimensionRespVO.java new file mode 100644 index 000000000..b8072825a --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskDimensionRespVO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 人工打分 评估维度 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ModelAssessTaskDimensionRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25467") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4731") + @ExcelProperty("任务ID") + private Long taskId; + + @Schema(description = "评估维度ID", example = "10188") + @ExcelProperty("评估维度ID") + private Long dimensionId; + + @Schema(description = "备注", example = "你猜") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskDimensionSaveReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskDimensionSaveReqVO.java new file mode 100644 index 000000000..50b4761e3 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskDimensionSaveReqVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 人工打分 评估维度新增/修改 Request VO") +@Data +public class ModelAssessTaskDimensionSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25467") + private Long id; + + @Schema(description = "任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4731") + @NotNull(message = "任务ID不能为空") + private Long taskId; + + @Schema(description = "评估维度ID", example = "10188") + private Long dimensionId; + + @Schema(description = "备注", example = "你猜") + private String remark; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualPageReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualPageReqVO.java new file mode 100644 index 000000000..fb40c4668 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualPageReqVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 模型评估任务 —— 人工评估分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ModelAssessTaskManualPageReqVO extends PageParam { + + @Schema(description = "任务名称", example = "张三") + private String taskName; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualRespVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualRespVO.java new file mode 100644 index 000000000..4512f871a --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualRespVO.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo; + +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskDimensionDO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; + +@Schema(description = "管理后台 - 模型评估任务 —— 人工评估 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ModelAssessTaskManualRespVO { + + @Schema(description = "评估任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16493") + @ExcelProperty("评估任务ID") + private Long id; + + @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @ExcelProperty("任务名称") + private String taskName; + + @Schema(description = "任务描述") + @ExcelProperty("任务描述") + private String taskInfro; + + @Schema(description = "CPU类型,使用字典(llm_cpu_type)", example = "2") + @ExcelProperty(value = "CPU类型,使用字典(llm_cpu_type)", converter = DictConvert.class) + @DictFormat("llm_cpu_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private Integer cpuType; + + @Schema(description = "模型服务") + @ExcelProperty("模型服务") + private Long modelService; + + @Schema(description = "数据集") + @ExcelProperty("数据集") + private Long dataset; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "人工评估列表") + private List dimensions; + + + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualSaveReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualSaveReqVO.java new file mode 100644 index 000000000..c3c39f31c --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanual/vo/ModelAssessTaskManualSaveReqVO.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 模型评估任务 —— 人工评估新增/修改 Request VO") +@Data +public class ModelAssessTaskManualSaveReqVO { + + @Schema(description = "评估任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16493") + private Long id; + + @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @NotEmpty(message = "任务名称不能为空") + private String taskName; + + @Schema(description = "任务描述") + private String taskInfro; + + @Schema(description = "CPU类型,使用字典(llm_cpu_type)", example = "2") + private Integer cpuType; + + @Schema(description = "模型服务") + private Long modelService; + + @Schema(description = "数据集") + private Long dataset; + + @Schema(description = "人工评估列表") + private List dimensions; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassessstoplist/ModelAssessStoplistDO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassessstoplist/ModelAssessStoplistDO.java new file mode 100644 index 000000000..60338bace --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassessstoplist/ModelAssessStoplistDO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.llm.dal.dataobject.modelassessstoplist; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 停用词表 定义 DO + * + * @author 华大大模型 + */ +@TableName("llm_model_assess_stoplist") +@KeySequence("llm_model_assess_stoplist_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ModelAssessStoplistDO extends BaseDO { + + /** + * ID + */ + @TableId + private Long id; + /** + * 停用词 + */ + private String word; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskauto/ModelAssessTaskAutoDO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskauto/ModelAssessTaskAutoDO.java new file mode 100644 index 000000000..809dd943a --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskauto/ModelAssessTaskAutoDO.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 模型评估任务 —— 自动评估 DO + * + * @author 华大大模型 + */ +@TableName("llm_model_assess_task_auto") +@KeySequence("llm_model_assess_task_auto_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ModelAssessTaskAutoDO extends BaseDO { + + /** + * 评估任务ID + */ + @TableId + private Long id; + /** + * 任务名称 + */ + private String taskName; + /** + * 任务描述 + */ + private String taskInfro; + /** + * CPU类型,使用字典(llm_cpu_type) + */ + private Integer cpuType; + /** + * 模型服务 + */ + private Long modelService; + /** + * 数据集 + */ + private Long dataset; + /** + * 评估方向,使用字典(llm_dimension_type) + */ + private Integer dimension; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskauto/ModelAssessTaskStoplistDO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskauto/ModelAssessTaskStoplistDO.java new file mode 100644 index 000000000..d8732b27b --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskauto/ModelAssessTaskStoplistDO.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 模型评估任务 —— 自动评估 ——停用词 DO + * + * @author 华大大模型 + */ +@TableName("llm_model_assess_task_stoplist") +@KeySequence("llm_model_assess_task_stoplist_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ModelAssessTaskStoplistDO extends BaseDO { + + /** + * 评估任务ID + */ + @TableId + private Long id; + /** + * 自动任务ID + */ + private Long taskId; + /** + * 停用词ID + */ + private Long stoplistId; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanual/ModelAssessDimensionDO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanual/ModelAssessDimensionDO.java new file mode 100644 index 000000000..f8effa636 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanual/ModelAssessDimensionDO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 评估维度定义 DO + * + * @author 华大大模型 + */ +@TableName("llm_model_assess_dimension") +@KeySequence("llm_model_assess_dimension_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ModelAssessDimensionDO extends BaseDO { + + /** + * ID + */ + @TableId + private Long id; + /** + * 评估维度 + */ + private String dimension; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanual/ModelAssessTaskDimensionDO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanual/ModelAssessTaskDimensionDO.java new file mode 100644 index 000000000..ec0c6481a --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanual/ModelAssessTaskDimensionDO.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 人工打分 评估维度 DO + * + * @author 华大大模型 + */ +@TableName("llm_model_assess_task_dimension") +@KeySequence("llm_model_assess_task_dimension_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ModelAssessTaskDimensionDO extends BaseDO { + + /** + * ID + */ + @TableId + private Long id; + /** + * 任务ID + */ + private Long taskId; + /** + * 评估维度ID + */ + private Long dimensionId; + /** + * 备注 + */ + private String remark; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanual/ModelAssessTaskManualDO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanual/ModelAssessTaskManualDO.java new file mode 100644 index 000000000..c0a75e99e --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanual/ModelAssessTaskManualDO.java @@ -0,0 +1,53 @@ +package cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 模型评估任务 —— 人工评估 DO + * + * @author 华大大模型 + */ +@TableName("llm_model_assess_task_manual") +@KeySequence("llm_model_assess_task_manual_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ModelAssessTaskManualDO extends BaseDO { + + /** + * 评估任务ID + */ + @TableId + private Long id; + /** + * 任务名称 + */ + private String taskName; + /** + * 任务描述 + */ + private String taskInfro; + /** + * CPU类型,使用字典(llm_cpu_type) + * + * 枚举 {@link TODO llm_cpu_type 对应的类} + */ + private Integer cpuType; + /** + * 模型服务 + */ + private Long modelService; + /** + * 数据集 + */ + private Long dataset; + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassessstoplist/ModelAssessStoplistMapper.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassessstoplist/ModelAssessStoplistMapper.java new file mode 100644 index 000000000..256ab5429 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassessstoplist/ModelAssessStoplistMapper.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.llm.dal.mysql.modelassessstoplist; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassessstoplist.ModelAssessStoplistDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.llm.controller.admin.modelassessstoplist.vo.*; + +/** + * 停用词表 定义 Mapper + * + * @author 华大大模型 + */ +@Mapper +public interface ModelAssessStoplistMapper extends BaseMapperX { + + default PageResult selectPage(ModelAssessStoplistPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eq(ModelAssessStoplistDO::getDeleted, false) + .eqIfPresent(ModelAssessStoplistDO::getWord, reqVO.getWord()) + .betweenIfPresent(ModelAssessStoplistDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(ModelAssessStoplistDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskauto/ModelAssessTaskAutoMapper.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskauto/ModelAssessTaskAutoMapper.java new file mode 100644 index 000000000..cf203b470 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskauto/ModelAssessTaskAutoMapper.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskauto; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskAutoDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.*; + +/** + * 模型评估任务 —— 自动评估 Mapper + * + * @author 华大大模型 + */ +@Mapper +public interface ModelAssessTaskAutoMapper extends BaseMapperX { + + default PageResult selectPage(ModelAssessTaskAutoPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eq(ModelAssessTaskAutoDO::getDeleted, false) + .likeIfPresent(ModelAssessTaskAutoDO::getTaskName, reqVO.getTaskName()) + .eqIfPresent(ModelAssessTaskAutoDO::getTaskInfro, reqVO.getTaskInfro()) + .eqIfPresent(ModelAssessTaskAutoDO::getCpuType, reqVO.getCpuType()) + .eqIfPresent(ModelAssessTaskAutoDO::getModelService, reqVO.getModelService()) + .eqIfPresent(ModelAssessTaskAutoDO::getDataset, reqVO.getDataset()) + .betweenIfPresent(ModelAssessTaskAutoDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ModelAssessTaskAutoDO::getDimension, reqVO.getDimension()) + .orderByDesc(ModelAssessTaskAutoDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskauto/ModelAssessTaskStoplistMapper.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskauto/ModelAssessTaskStoplistMapper.java new file mode 100644 index 000000000..03ab45b57 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskauto/ModelAssessTaskStoplistMapper.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskauto; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.ModelAssessTaskStoplistPageReqVO; + +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskStoplistDO; +import org.apache.ibatis.annotations.Mapper; + + +/** + * 模型评估任务 —— 自动评估 ——停用词 Mapper + * + * @author 华大大模型 + */ +@Mapper +public interface ModelAssessTaskStoplistMapper extends BaseMapperX { + + default PageResult selectPage(ModelAssessTaskStoplistPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(ModelAssessTaskStoplistDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ModelAssessTaskStoplistDO::getTaskId, reqVO.getTaskId()) + .eqIfPresent(ModelAssessTaskStoplistDO::getStoplistId, reqVO.getStoplistId()) + .orderByDesc(ModelAssessTaskStoplistDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanual/ModelAssessDimensionMapper.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanual/ModelAssessDimensionMapper.java new file mode 100644 index 000000000..158bc6d46 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanual/ModelAssessDimensionMapper.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; + +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessDimensionPageReqVO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessDimensionDO; +import org.apache.ibatis.annotations.Mapper; + + +/** + * 评估维度定义 Mapper + * + * @author 华大大模型 + */ +@Mapper +public interface ModelAssessDimensionMapper extends BaseMapperX { + + default PageResult selectPage(ModelAssessDimensionPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ModelAssessDimensionDO::getDimension, reqVO.getDimension()) + .betweenIfPresent(ModelAssessDimensionDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(ModelAssessDimensionDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanual/ModelAssessTaskDimensionMapper.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanual/ModelAssessTaskDimensionMapper.java new file mode 100644 index 000000000..92d7c33fa --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanual/ModelAssessTaskDimensionMapper.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; + +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskDimensionPageReqVO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskDimensionDO; +import org.apache.ibatis.annotations.Mapper; + + +/** + * 人工打分 评估维度 Mapper + * + * @author 华大大模型 + */ +@Mapper +public interface ModelAssessTaskDimensionMapper extends BaseMapperX { + + default PageResult selectPage(ModelAssessTaskDimensionPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ModelAssessTaskDimensionDO::getTaskId, reqVO.getTaskId()) + .eqIfPresent(ModelAssessTaskDimensionDO::getDimensionId, reqVO.getDimensionId()) + .eqIfPresent(ModelAssessTaskDimensionDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(ModelAssessTaskDimensionDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(ModelAssessTaskDimensionDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanual/ModelAssessTaskManualMapper.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanual/ModelAssessTaskManualMapper.java new file mode 100644 index 000000000..aa9fe36a1 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/mysql/modelassesstaskmanual/ModelAssessTaskManualMapper.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskManualDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.*; + +/** + * 模型评估任务 —— 人工评估 Mapper + * + * @author 华大大模型 + */ +@Mapper +public interface ModelAssessTaskManualMapper extends BaseMapperX { + + default PageResult selectPage(ModelAssessTaskManualPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(ModelAssessTaskManualDO::getTaskName, reqVO.getTaskName()) + .eq(ModelAssessTaskManualDO::getDeleted, false) + .orderByDesc(ModelAssessTaskManualDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassessstoplist/ModelAssessStoplistService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassessstoplist/ModelAssessStoplistService.java new file mode 100644 index 000000000..4ab21acaa --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassessstoplist/ModelAssessStoplistService.java @@ -0,0 +1,61 @@ +package cn.iocoder.yudao.module.llm.service.modelassessstoplist; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.module.llm.controller.admin.modelassessstoplist.vo.*; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassessstoplist.ModelAssessStoplistDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 停用词表 定义 Service 接口 + * + * @author 华大大模型 + */ +public interface ModelAssessStoplistService { + + /** + * 创建停用词表 定义 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createModelAssessStoplist(@Valid ModelAssessStoplistSaveReqVO createReqVO); + + /** + * 更新停用词表 定义 + * + * @param updateReqVO 更新信息 + */ + void updateModelAssessStoplist(@Valid ModelAssessStoplistSaveReqVO updateReqVO); + + /** + * 删除停用词表 定义 + * + * @param id 编号 + */ + void deleteModelAssessStoplist(Long id); + + /** + * 获得停用词表 定义 + * + * @param id 编号 + * @return 停用词表 定义 + */ + ModelAssessStoplistDO getModelAssessStoplist(Long id); + + /** + * 获得停用词表 定义分页 + * + * @param pageReqVO 分页查询 + * @return 停用词表 定义分页 + */ + PageResult getModelAssessStoplistPage(ModelAssessStoplistPageReqVO pageReqVO); + + /** + * 停词表查询全部 + * @return + */ + List getModelAssessStoplistAll(); + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassessstoplist/ModelAssessStoplistServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassessstoplist/ModelAssessStoplistServiceImpl.java new file mode 100644 index 000000000..1c20b171c --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassessstoplist/ModelAssessStoplistServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.llm.service.modelassessstoplist; + +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.llm.controller.admin.modelassessstoplist.vo.*; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassessstoplist.ModelAssessStoplistDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import cn.iocoder.yudao.module.llm.dal.mysql.modelassessstoplist.ModelAssessStoplistMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*; + +/** + * 停用词表 定义 Service 实现类 + * + * @author 华大大模型 + */ +@Service +@Validated +public class ModelAssessStoplistServiceImpl implements ModelAssessStoplistService { + + @Resource + private ModelAssessStoplistMapper modelAssessStoplistMapper; + + @Override + public Long createModelAssessStoplist(ModelAssessStoplistSaveReqVO createReqVO) { + // 插入 + ModelAssessStoplistDO modelAssessStoplist = BeanUtils.toBean(createReqVO, ModelAssessStoplistDO.class); + modelAssessStoplistMapper.insert(modelAssessStoplist); + // 返回 + return modelAssessStoplist.getId(); + } + + @Override + public void updateModelAssessStoplist(ModelAssessStoplistSaveReqVO updateReqVO) { + // 校验存在 + validateModelAssessStoplistExists(updateReqVO.getId()); + // 更新 + ModelAssessStoplistDO updateObj = BeanUtils.toBean(updateReqVO, ModelAssessStoplistDO.class); + modelAssessStoplistMapper.updateById(updateObj); + } + + @Override + public void deleteModelAssessStoplist(Long id) { + // 校验存在 + validateModelAssessStoplistExists(id); + // 删除 + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(ModelAssessStoplistDO::getId, id) + .set(ModelAssessStoplistDO::getDeleted, true); + modelAssessStoplistMapper.update(wrapper); + } + + private void validateModelAssessStoplistExists(Long id) { + if (modelAssessStoplistMapper.selectById(id) == null) { + throw exception(MODEL_ASSESS_STOPLIST_NOT_EXISTS); + } + } + + @Override + public ModelAssessStoplistDO getModelAssessStoplist(Long id) { + return modelAssessStoplistMapper.selectById(id); + } + + @Override + public PageResult getModelAssessStoplistPage(ModelAssessStoplistPageReqVO pageReqVO) { + return modelAssessStoplistMapper.selectPage(pageReqVO); + } + + @Override + public List getModelAssessStoplistAll() { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(ModelAssessStoplistDO::getDeleted, false); + return modelAssessStoplistMapper.selectList(wrapper); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskAutoService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskAutoService.java new file mode 100644 index 000000000..a33a31940 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskAutoService.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.llm.service.modelassesstaskauto; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.*; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskAutoDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 模型评估任务 —— 自动评估 Service 接口 + * + * @author 华大大模型 + */ +public interface ModelAssessTaskAutoService { + + /** + * 创建模型评估任务 —— 自动评估 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createModelAssessTaskAuto(@Valid ModelAssessTaskAutoSaveReqVO createReqVO); + + /** + * 更新模型评估任务 —— 自动评估 + * + * @param updateReqVO 更新信息 + */ + void updateModelAssessTaskAuto(@Valid ModelAssessTaskAutoSaveReqVO updateReqVO); + + /** + * 删除模型评估任务 —— 自动评估 + * + * @param id 编号 + */ + void deleteModelAssessTaskAuto(Long id); + + /** + * 获得模型评估任务 —— 自动评估 + * + * @param id 编号 + * @return 模型评估任务 —— 自动评估 + */ + ModelAssessTaskAutoDO getModelAssessTaskAuto(Long id); + + /** + * 获得模型评估任务 —— 自动评估分页 + * + * @param pageReqVO 分页查询 + * @return 模型评估任务 —— 自动评估分页 + */ + PageResult getModelAssessTaskAutoPage(ModelAssessTaskAutoPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskAutoServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskAutoServiceImpl.java new file mode 100644 index 000000000..2ad280e94 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskAutoServiceImpl.java @@ -0,0 +1,111 @@ +package cn.iocoder.yudao.module.llm.service.modelassesstaskauto; + +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskStoplistDO; +import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskauto.ModelAssessTaskStoplistMapper; +import com.alibaba.druid.util.StringUtils; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.stream.Collectors; + +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.*; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskAutoDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskauto.ModelAssessTaskAutoMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*; + +/** + * 模型评估任务 —— 自动评估 Service 实现类 + * + * @author 华大大模型 + */ +@Service +@Validated +public class ModelAssessTaskAutoServiceImpl implements ModelAssessTaskAutoService { + + @Resource + private ModelAssessTaskAutoMapper modelAssessTaskAutoMapper; + @Resource + private ModelAssessTaskStoplistMapper modelingTaskStoplistMapper; + + @Override + public Long createModelAssessTaskAuto(ModelAssessTaskAutoSaveReqVO createReqVO) { + // 插入 + ModelAssessTaskAutoDO modelAssessTaskAuto = BeanUtils.toBean(createReqVO, ModelAssessTaskAutoDO.class); + modelAssessTaskAutoMapper.insert(modelAssessTaskAuto); + List stoplists = createReqVO.getStoplists(); + if (!CollectionUtils.isEmpty(stoplists)){ + stoplists.stream().forEach(stoplist -> { + stoplist.setTaskId(modelAssessTaskAuto.getId()); + ModelAssessTaskStoplistDO modelAssessTaskStoplistDO = BeanUtils.toBean(stoplist,ModelAssessTaskStoplistDO.class); + modelingTaskStoplistMapper.insert(modelAssessTaskStoplistDO); + }); + } + // 返回 + return modelAssessTaskAuto.getId(); + } + + @Override + public void updateModelAssessTaskAuto(ModelAssessTaskAutoSaveReqVO updateReqVO) { + // 校验存在 + validateModelAssessTaskAutoExists(updateReqVO.getId()); + // 更新 + ModelAssessTaskAutoDO updateObj = BeanUtils.toBean(updateReqVO, ModelAssessTaskAutoDO.class); + List stoplists = updateReqVO.getStoplists(); + if (!CollectionUtils.isEmpty(stoplists)){ + List stopIds = stoplists.stream().filter(stoplist -> stoplist.getId() != null) + .map(stoplist -> stoplist.getId()).collect(Collectors.toList()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + wrapper.eq(ModelAssessTaskStoplistDO::getTaskId,updateReqVO.getId()); + if (!CollectionUtils.isEmpty(stopIds)){ + wrapper.notIn(ModelAssessTaskStoplistDO::getId,stopIds); + } + modelingTaskStoplistMapper.delete(wrapper); + stoplists.stream().forEach(stoplist -> { +// stoplist.setTaskId(updateObj.getId()); + ModelAssessTaskStoplistDO modelAssessTaskStoplistDO = BeanUtils.toBean(stoplist,ModelAssessTaskStoplistDO.class); + modelingTaskStoplistMapper.insertOrUpdate(modelAssessTaskStoplistDO); + }); + } + modelAssessTaskAutoMapper.updateById(updateObj); + } + + @Override + public void deleteModelAssessTaskAuto(Long id) { + // 校验存在 + validateModelAssessTaskAutoExists(id); + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + // 删除 + wrapper.eq(ModelAssessTaskAutoDO::getId, id) + .set(ModelAssessTaskAutoDO::getDeleted, true); + modelAssessTaskAutoMapper.update(null, wrapper); + } + + private void validateModelAssessTaskAutoExists(Long id) { + if (modelAssessTaskAutoMapper.selectById(id) == null) { + throw exception(MODEL_ASSESS_TASK_AUTO_NOT_EXISTS); + } + } + + @Override + public ModelAssessTaskAutoDO getModelAssessTaskAuto(Long id) { + return modelAssessTaskAutoMapper.selectById(id); + } + + @Override + public PageResult getModelAssessTaskAutoPage(ModelAssessTaskAutoPageReqVO pageReqVO) { + return modelAssessTaskAutoMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskStoplistService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskStoplistService.java new file mode 100644 index 000000000..bf8fce652 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskStoplistService.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.llm.service.modelassesstaskauto; + +import java.util.*; +import javax.validation.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.ModelAssessTaskStoplistPageReqVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.ModelAssessTaskStoplistSaveReqVO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskStoplistDO; + +/** + * 模型评估任务 —— 自动评估 ——停用词 Service 接口 + * + * @author 华大大模型 + */ +public interface ModelAssessTaskStoplistService { + + /** + * 创建模型评估任务 —— 自动评估 ——停用词 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createModelAssessTaskStoplist(@Valid ModelAssessTaskStoplistSaveReqVO createReqVO); + + /** + * 更新模型评估任务 —— 自动评估 ——停用词 + * + * @param updateReqVO 更新信息 + */ + void updateModelAssessTaskStoplist(@Valid ModelAssessTaskStoplistSaveReqVO updateReqVO); + + /** + * 删除模型评估任务 —— 自动评估 ——停用词 + * + * @param id 编号 + */ + void deleteModelAssessTaskStoplist(Long id); + + /** + * 获得模型评估任务 —— 自动评估 ——停用词 + * + * @param id 编号 + * @return 模型评估任务 —— 自动评估 ——停用词 + */ + ModelAssessTaskStoplistDO getModelAssessTaskStoplist(Long id); + + /** + * 获得模型评估任务 —— 自动评估 ——停用词分页 + * + * @param pageReqVO 分页查询 + * @return 模型评估任务 —— 自动评估 ——停用词分页 + */ + PageResult getModelAssessTaskStoplistPage(ModelAssessTaskStoplistPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskStoplistServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskStoplistServiceImpl.java new file mode 100644 index 000000000..2ff0e490b --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskauto/ModelAssessTaskStoplistServiceImpl.java @@ -0,0 +1,77 @@ +package cn.iocoder.yudao.module.llm.service.modelassesstaskauto; + +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.ModelAssessTaskStoplistPageReqVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskauto.vo.ModelAssessTaskStoplistSaveReqVO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskauto.ModelAssessTaskStoplistDO; +import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskauto.ModelAssessTaskStoplistMapper; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*; + +/** + * 模型评估任务 —— 自动评估 ——停用词 Service 实现类 + * + * @author 华大大模型 + */ +@Service +@Validated +public class ModelAssessTaskStoplistServiceImpl implements ModelAssessTaskStoplistService { + + @Resource + private ModelAssessTaskStoplistMapper modelAssessTaskStoplistMapper; + + @Override + public Long createModelAssessTaskStoplist(ModelAssessTaskStoplistSaveReqVO createReqVO) { + // 插入 + ModelAssessTaskStoplistDO modelAssessTaskStoplist = BeanUtils.toBean(createReqVO, ModelAssessTaskStoplistDO.class); + modelAssessTaskStoplistMapper.insert(modelAssessTaskStoplist); + // 返回 + return modelAssessTaskStoplist.getId(); + } + + @Override + public void updateModelAssessTaskStoplist(ModelAssessTaskStoplistSaveReqVO updateReqVO) { + // 校验存在 + validateModelAssessTaskStoplistExists(updateReqVO.getId()); + // 更新 + ModelAssessTaskStoplistDO updateObj = BeanUtils.toBean(updateReqVO, ModelAssessTaskStoplistDO.class); + modelAssessTaskStoplistMapper.updateById(updateObj); + } + + @Override + public void deleteModelAssessTaskStoplist(Long id) { + // 校验存在 + validateModelAssessTaskStoplistExists(id); + // 删除 + modelAssessTaskStoplistMapper.deleteById(id); + } + + private void validateModelAssessTaskStoplistExists(Long id) { + if (modelAssessTaskStoplistMapper.selectById(id) == null) { + throw exception(MODEL_ASSESS_TASK_STOPLIST_NOT_EXISTS); + } + } + + @Override + public ModelAssessTaskStoplistDO getModelAssessTaskStoplist(Long id) { + return modelAssessTaskStoplistMapper.selectById(id); + } + + @Override + public PageResult getModelAssessTaskStoplistPage(ModelAssessTaskStoplistPageReqVO pageReqVO) { + return modelAssessTaskStoplistMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessDimensionService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessDimensionService.java new file mode 100644 index 000000000..204473244 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessDimensionService.java @@ -0,0 +1,61 @@ +package cn.iocoder.yudao.module.llm.service.modelassesstaskmanual; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessDimensionPageReqVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessDimensionSaveReqVO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessDimensionDO; + +/** + * 评估维度定义 Service 接口 + * + * @author 华大大模型 + */ +public interface ModelAssessDimensionService { + + /** + * 创建评估维度定义 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createModelAssessDimension(@Valid ModelAssessDimensionSaveReqVO createReqVO); + + /** + * 更新评估维度定义 + * + * @param updateReqVO 更新信息 + */ + void updateModelAssessDimension(@Valid ModelAssessDimensionSaveReqVO updateReqVO); + + /** + * 删除评估维度定义 + * + * @param id 编号 + */ + void deleteModelAssessDimension(Long id); + + /** + * 获得评估维度定义 + * + * @param id 编号 + * @return 评估维度定义 + */ + ModelAssessDimensionDO getModelAssessDimension(Long id); + + /** + * 获得评估维度定义分页 + * + * @param pageReqVO 分页查询 + * @return 评估维度定义分页 + */ + PageResult getModelAssessDimensionPage(ModelAssessDimensionPageReqVO pageReqVO); + + /** + * 获取所有模型评估定义 + * @return + */ + List getModelAssessDimensionAll(); +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessDimensionServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessDimensionServiceImpl.java new file mode 100644 index 000000000..dcc5394c5 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessDimensionServiceImpl.java @@ -0,0 +1,83 @@ +package cn.iocoder.yudao.module.llm.service.modelassesstaskmanual; + +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessDimensionPageReqVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessDimensionSaveReqVO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessDimensionDO; +import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessDimensionMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*; + +/** + * 评估维度定义 Service 实现类 + * + * @author 华大大模型 + */ +@Service +@Validated +public class ModelAssessDimensionServiceImpl implements ModelAssessDimensionService { + + @Resource + private ModelAssessDimensionMapper modelAssessDimensionMapper; + + @Override + public Long createModelAssessDimension(ModelAssessDimensionSaveReqVO createReqVO) { + // 插入 + ModelAssessDimensionDO modelAssessDimension = BeanUtils.toBean(createReqVO, ModelAssessDimensionDO.class); + modelAssessDimensionMapper.insert(modelAssessDimension); + // 返回 + return modelAssessDimension.getId(); + } + + @Override + public void updateModelAssessDimension(ModelAssessDimensionSaveReqVO updateReqVO) { + // 校验存在 + validateModelAssessDimensionExists(updateReqVO.getId()); + // 更新 + ModelAssessDimensionDO updateObj = BeanUtils.toBean(updateReqVO, ModelAssessDimensionDO.class); + modelAssessDimensionMapper.updateById(updateObj); + } + + @Override + public void deleteModelAssessDimension(Long id) { + // 校验存在 + validateModelAssessDimensionExists(id); + // 删除 + modelAssessDimensionMapper.deleteById(id); + } + + private void validateModelAssessDimensionExists(Long id) { + if (modelAssessDimensionMapper.selectById(id) == null) { + throw exception(MODEL_ASSESS_DIMENSION_NOT_EXISTS); + } + } + + @Override + public ModelAssessDimensionDO getModelAssessDimension(Long id) { + return modelAssessDimensionMapper.selectById(id); + } + + @Override + public PageResult getModelAssessDimensionPage(ModelAssessDimensionPageReqVO pageReqVO) { + return modelAssessDimensionMapper.selectPage(pageReqVO); + } + + @Override + public List getModelAssessDimensionAll() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ModelAssessDimensionDO::getDeleted,false); + return modelAssessDimensionMapper.selectList(wrapper); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskDimensionService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskDimensionService.java new file mode 100644 index 000000000..3b2a86761 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskDimensionService.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.llm.service.modelassesstaskmanual; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskDimensionPageReqVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskDimensionSaveReqVO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskDimensionDO; + +/** + * 人工打分 评估维度 Service 接口 + * + * @author 华大大模型 + */ +public interface ModelAssessTaskDimensionService { + + /** + * 创建人工打分 评估维度 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createModelAssessTaskDimension(@Valid ModelAssessTaskDimensionSaveReqVO createReqVO); + + /** + * 更新人工打分 评估维度 + * + * @param updateReqVO 更新信息 + */ + void updateModelAssessTaskDimension(@Valid ModelAssessTaskDimensionSaveReqVO updateReqVO); + + /** + * 删除人工打分 评估维度 + * + * @param id 编号 + */ + void deleteModelAssessTaskDimension(Long id); + + /** + * 获得人工打分 评估维度 + * + * @param id 编号 + * @return 人工打分 评估维度 + */ + ModelAssessTaskDimensionDO getModelAssessTaskDimension(Long id); + + /** + * 获得人工打分 评估维度分页 + * + * @param pageReqVO 分页查询 + * @return 人工打分 评估维度分页 + */ + PageResult getModelAssessTaskDimensionPage(ModelAssessTaskDimensionPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskDimensionServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskDimensionServiceImpl.java new file mode 100644 index 000000000..f7b4b8cce --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskDimensionServiceImpl.java @@ -0,0 +1,75 @@ +package cn.iocoder.yudao.module.llm.service.modelassesstaskmanual; + +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskDimensionPageReqVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskDimensionSaveReqVO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskDimensionDO; +import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessTaskDimensionMapper; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*; + +/** + * 人工打分 评估维度 Service 实现类 + * + * @author 华大大模型 + */ +@Service +@Validated +public class ModelAssessTaskDimensionServiceImpl implements ModelAssessTaskDimensionService { + + @Resource + private ModelAssessTaskDimensionMapper modelAssessTaskDimensionMapper; + + @Override + public Long createModelAssessTaskDimension(ModelAssessTaskDimensionSaveReqVO createReqVO) { + // 插入 + ModelAssessTaskDimensionDO modelAssessTaskDimension = BeanUtils.toBean(createReqVO, ModelAssessTaskDimensionDO.class); + modelAssessTaskDimensionMapper.insert(modelAssessTaskDimension); + // 返回 + return modelAssessTaskDimension.getId(); + } + + @Override + public void updateModelAssessTaskDimension(ModelAssessTaskDimensionSaveReqVO updateReqVO) { + // 校验存在 + validateModelAssessTaskDimensionExists(updateReqVO.getId()); + // 更新 + ModelAssessTaskDimensionDO updateObj = BeanUtils.toBean(updateReqVO, ModelAssessTaskDimensionDO.class); + modelAssessTaskDimensionMapper.updateById(updateObj); + } + + @Override + public void deleteModelAssessTaskDimension(Long id) { + // 校验存在 + validateModelAssessTaskDimensionExists(id); + // 删除 + modelAssessTaskDimensionMapper.deleteById(id); + } + + private void validateModelAssessTaskDimensionExists(Long id) { + if (modelAssessTaskDimensionMapper.selectById(id) == null) { + throw exception(MODEL_ASSESS_TASK_DIMENSION_NOT_EXISTS); + } + } + + @Override + public ModelAssessTaskDimensionDO getModelAssessTaskDimension(Long id) { + return modelAssessTaskDimensionMapper.selectById(id); + } + + @Override + public PageResult getModelAssessTaskDimensionPage(ModelAssessTaskDimensionPageReqVO pageReqVO) { + return modelAssessTaskDimensionMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualService.java new file mode 100644 index 000000000..b9e63ed22 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualService.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.llm.service.modelassesstaskmanual; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.*; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskManualDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 模型评估任务 —— 人工评估 Service 接口 + * + * @author 华大大模型 + */ +public interface ModelAssessTaskManualService { + + /** + * 创建模型评估任务 —— 人工评估 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createModelAssessTaskManual(@Valid ModelAssessTaskManualSaveReqVO createReqVO); + + /** + * 更新模型评估任务 —— 人工评估 + * + * @param updateReqVO 更新信息 + */ + void updateModelAssessTaskManual(@Valid ModelAssessTaskManualSaveReqVO updateReqVO); + + /** + * 删除模型评估任务 —— 人工评估 + * + * @param id 编号 + */ + void deleteModelAssessTaskManual(Long id); + + /** + * 获得模型评估任务 —— 人工评估 + * + * @param id 编号 + * @return 模型评估任务 —— 人工评估 + */ + ModelAssessTaskManualDO getModelAssessTaskManual(Long id); + + /** + * 获得模型评估任务 —— 人工评估分页 + * + * @param pageReqVO 分页查询 + * @return 模型评估任务 —— 人工评估分页 + */ + PageResult getModelAssessTaskManualPage(ModelAssessTaskManualPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualServiceImpl.java new file mode 100644 index 000000000..fb8133741 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanual/ModelAssessTaskManualServiceImpl.java @@ -0,0 +1,107 @@ +package cn.iocoder.yudao.module.llm.service.modelassesstaskmanual; + +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskDimensionDO; +import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessTaskDimensionMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.*; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskManualDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessTaskManualMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.*; + +/** + * 模型评估任务 —— 人工评估 Service 实现类 + * + * @author 华大大模型 + */ +@Service +@Validated +public class ModelAssessTaskManualServiceImpl implements ModelAssessTaskManualService { + + @Resource + private ModelAssessTaskManualMapper modelAssessTaskManualMapper; + @Resource + private ModelAssessTaskDimensionMapper modelAssessTaskDimensionMapper; + + @Override + public Long createModelAssessTaskManual(ModelAssessTaskManualSaveReqVO createReqVO) { + // 插入 + ModelAssessTaskManualDO modelAssessTaskManual = BeanUtils.toBean(createReqVO, ModelAssessTaskManualDO.class); + modelAssessTaskManualMapper.insert(modelAssessTaskManual); + List dimensions = createReqVO.getDimensions(); + dimensions.stream().forEach(dimension -> { + dimension.setTaskId(modelAssessTaskManual.getId()); + ModelAssessTaskDimensionDO modelAssessTaskDimensionDO = BeanUtils.toBean(dimension,ModelAssessTaskDimensionDO.class); + modelAssessTaskDimensionMapper.insert(modelAssessTaskDimensionDO); + }); + // 返回 + return modelAssessTaskManual.getId(); + } + + @Override + public void updateModelAssessTaskManual(ModelAssessTaskManualSaveReqVO updateReqVO) { + // 校验存在 + validateModelAssessTaskManualExists(updateReqVO.getId()); + // 更新 + ModelAssessTaskManualDO updateObj = BeanUtils.toBean(updateReqVO, ModelAssessTaskManualDO.class); + List dimensions = updateReqVO.getDimensions(); + List dimensionsIds = dimensions.stream() + .filter(dimension -> dimension.getId() != null) + .map(dimension -> dimension.getId()).collect(Collectors.toList()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .eq(ModelAssessTaskDimensionDO::getTaskId, updateReqVO.getId()); + if (!dimensionsIds.isEmpty()){ + wrapper.notIn(ModelAssessTaskDimensionDO::getId,dimensionsIds); + } + modelAssessTaskDimensionMapper.delete(wrapper); + dimensions.stream().forEach(dimension -> { + ModelAssessTaskDimensionDO modelAssessTaskDimensionDO = BeanUtils.toBean(dimension,ModelAssessTaskDimensionDO.class); + modelAssessTaskDimensionMapper.insertOrUpdate(modelAssessTaskDimensionDO); + }); + modelAssessTaskManualMapper.updateById(updateObj); + } + + @Override + public void deleteModelAssessTaskManual(Long id) { + // 校验存在 + validateModelAssessTaskManualExists(id); + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(ModelAssessTaskManualDO::getId, id); + wrapper.set(ModelAssessTaskManualDO::getDeleted,true); + // 删除 + modelAssessTaskManualMapper.update(null, wrapper); + } + + private void validateModelAssessTaskManualExists(Long id) { + if (modelAssessTaskManualMapper.selectById(id) == null) { + throw exception(MODEL_ASSESS_TASK_MANUAL_NOT_EXISTS); + } + } + + @Override + public ModelAssessTaskManualDO getModelAssessTaskManual(Long id) { + ModelAssessTaskManualDO modelAssessTaskManualDO = modelAssessTaskManualMapper.selectById(id); + return modelAssessTaskManualDO; + } + + @Override + public PageResult getModelAssessTaskManualPage(ModelAssessTaskManualPageReqVO pageReqVO) { + return modelAssessTaskManualMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassessstoplist/ModelAssessStoplistMapper.xml b/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassessstoplist/ModelAssessStoplistMapper.xml new file mode 100644 index 000000000..8b6a1610d --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassessstoplist/ModelAssessStoplistMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskauto/ModelAssessTaskAutoMapper.xml b/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskauto/ModelAssessTaskAutoMapper.xml new file mode 100644 index 000000000..1b0aa8b96 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskauto/ModelAssessTaskAutoMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskauto/ModelAssessTaskStoplistMapper.xml b/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskauto/ModelAssessTaskStoplistMapper.xml new file mode 100644 index 000000000..1662c87e9 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskauto/ModelAssessTaskStoplistMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanual/ModelAssessDimensionMapper.xml b/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanual/ModelAssessDimensionMapper.xml new file mode 100644 index 000000000..0aba20db2 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanual/ModelAssessDimensionMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanual/ModelAssessTaskDimensionMapper.xml b/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanual/ModelAssessTaskDimensionMapper.xml new file mode 100644 index 000000000..670748366 --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanual/ModelAssessTaskDimensionMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanual/ModelAssessTaskManualMapper.xml b/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanual/ModelAssessTaskManualMapper.xml new file mode 100644 index 000000000..778dea7af --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/resources/mapper/modelassesstaskmanual/ModelAssessTaskManualMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file