diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/ModelAssessTaskManualBackupController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/ModelAssessTaskManualBackupController.java index ce6c36992..bd65e950b 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/ModelAssessTaskManualBackupController.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/ModelAssessTaskManualBackupController.java @@ -67,8 +67,8 @@ public class ModelAssessTaskManualBackupController { @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('llm:model-assess-task-manual-backup:query')") public CommonResult getModelAssessTaskManualBackup(@RequestParam("id") Long id) { - ModelAssessTaskManualBackupDO modelAssessTaskManualBackup = modelAssessTaskManualBackupService.getModelAssessTaskManualBackup(id); - return success(BeanUtils.toBean(modelAssessTaskManualBackup, ModelAssessTaskManualBackupRespVO.class)); + ModelAssessTaskManualBackupRespVO modelAssessTaskManual = modelAssessTaskManualBackupService.getModelAssessTaskManualBackup1(id); + return success(modelAssessTaskManual); } @GetMapping("/page") diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupRespVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupRespVO.java index 3170252b6..6694374ed 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupRespVO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupRespVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanualbackup.vo; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskDimensionRespVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -51,5 +52,17 @@ public class ModelAssessTaskManualBackupRespVO { @Schema(description = "进度") @ExcelProperty("进度") private Integer progress; + @Schema(description = "人工评估列表") + private List dimensions; + @Schema(description = "模型服务名称") + private String modelServiceName; + + @Schema(description = "数据集名称") + private String datasetName; + /** + * 模型类型 + */ + @Schema(description = "模型类型(0普通,1官方)") + private Integer modelType; } \ 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/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupSaveReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupSaveReqVO.java index 7f0224577..1cf20fbef 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupSaveReqVO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/modelassesstaskmanualbackup/vo/ModelAssessTaskManualBackupSaveReqVO.java @@ -38,5 +38,7 @@ public class ModelAssessTaskManualBackupSaveReqVO { @Schema(description = "进度") private Integer progress; + @Schema(description = "模型类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") + private Integer modelType; } \ 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/prompttemplates/vo/PromptTemplatesRespVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/prompttemplates/vo/PromptTemplatesRespVO.java index 0d1bb04ef..e68072f91 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/prompttemplates/vo/PromptTemplatesRespVO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/prompttemplates/vo/PromptTemplatesRespVO.java @@ -39,9 +39,15 @@ public class PromptTemplatesRespVO { @Schema(description = "标签Id列表", example = "[1, 2, 3]") private List tagIds; + @Schema(description = "标签名称列表", example = "[1, 2, 3]") + private List tagNames; + @Schema(description = "应用Id列表", example = "[1, 2, 3]") private List applicationIds; + @Schema(description = "应用名称列表", example = "[1, 2, 3]") + private List applicationNames; + @Schema(description = "使用量") @ExcelProperty("使用量") private int usedCount; diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanualbackup/ModelAssessTaskManualBackupDO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanualbackup/ModelAssessTaskManualBackupDO.java index 969912a85..53a6825d0 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanualbackup/ModelAssessTaskManualBackupDO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/modelassesstaskmanualbackup/ModelAssessTaskManualBackupDO.java @@ -59,5 +59,6 @@ public class ModelAssessTaskManualBackupDO extends BaseDO { * 进度 */ private Integer progress; + private Integer modelType; } \ 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/application/ApplicationService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/application/ApplicationService.java index 9ec90decd..d2b05ff57 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/application/ApplicationService.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/application/ApplicationService.java @@ -54,4 +54,6 @@ public interface ApplicationService { List getApplicationList(ApplicationPageReqVO pageReqVO); + List getList(); + } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/application/ApplicationServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/application/ApplicationServiceImpl.java index ef0635fe1..e2539f3d4 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/application/ApplicationServiceImpl.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/application/ApplicationServiceImpl.java @@ -143,4 +143,9 @@ public class ApplicationServiceImpl implements ApplicationService { return result; } + @Override + public List getList() { + return applicationMapper.selectList(); + } + } diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanualbackup/ModelAssessTaskManualBackupService.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanualbackup/ModelAssessTaskManualBackupService.java index b37a4046d..2c6bab4fa 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanualbackup/ModelAssessTaskManualBackupService.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanualbackup/ModelAssessTaskManualBackupService.java @@ -55,4 +55,6 @@ public interface ModelAssessTaskManualBackupService { void isBackup(Long srcId); void unBackup(Long id); + + ModelAssessTaskManualBackupRespVO getModelAssessTaskManualBackup1(Long id); } \ 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/modelassesstaskmanualbackup/ModelAssessTaskManualBackupServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanualbackup/ModelAssessTaskManualBackupServiceImpl.java index da05f0733..6ebfb881f 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanualbackup/ModelAssessTaskManualBackupServiceImpl.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/modelassesstaskmanualbackup/ModelAssessTaskManualBackupServiceImpl.java @@ -1,14 +1,31 @@ package cn.iocoder.yudao.module.llm.service.modelassesstaskmanualbackup; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskDimensionRespVO; +import cn.iocoder.yudao.module.llm.controller.admin.modelassesstaskmanual.vo.ModelAssessTaskManualRespVO; +import cn.iocoder.yudao.module.llm.dal.dataobject.basemodel.BaseModelDO; +import cn.iocoder.yudao.module.llm.dal.dataobject.dataset.DatasetDO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessDimensionDO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskDimensionDO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanual.ModelAssessTaskManualDO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanualbackup.ModelAssessTaskDimensionBackupDO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelservice.ModelServiceDO; +import cn.iocoder.yudao.module.llm.dal.mysql.basemodel.BaseModelMapper; +import cn.iocoder.yudao.module.llm.dal.mysql.dataset.DatasetMapper; import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ManualModelAnswerMapper; +import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanual.ModelAssessDimensionMapper; import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanualbackup.ManualModelAnswerBackupMapper; import cn.iocoder.yudao.module.llm.dal.mysql.modelassesstaskmanualbackup.ModelAssessTaskDimensionBackupMapper; +import cn.iocoder.yudao.module.llm.dal.mysql.modelservice.ModelServiceMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.modelassesstaskmanualbackup.vo.*; import cn.iocoder.yudao.module.llm.dal.dataobject.modelassesstaskmanualbackup.ModelAssessTaskManualBackupDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -35,6 +52,14 @@ public class ModelAssessTaskManualBackupServiceImpl implements ModelAssessTaskMa private ModelAssessTaskDimensionBackupMapper modelAssessTaskDimensionBackupMapper; @Resource private ManualModelAnswerBackupMapper manualModelAnswerBackupMapper; + @Resource + private ModelAssessDimensionMapper modelAssessDimensionMapper; + @Resource + private ModelServiceMapper modelServiceMapper; + @Resource + private DatasetMapper datasetMapper; + @Resource + private BaseModelMapper baseModelMapper; @Override public Long createModelAssessTaskManualBackup(ModelAssessTaskManualBackupSaveReqVO createReqVO) { @@ -93,4 +118,48 @@ public class ModelAssessTaskManualBackupServiceImpl implements ModelAssessTaskMa manualModelAnswerBackupMapper.deleteTrue(id); } + @Override + public ModelAssessTaskManualBackupRespVO getModelAssessTaskManualBackup1(Long id) { + ModelAssessTaskManualBackupDO modelAssessTaskManual = modelAssessTaskManualBackupMapper.selectById(id); + ModelAssessTaskManualBackupRespVO result = BeanUtils.toBean(modelAssessTaskManual, ModelAssessTaskManualBackupRespVO.class); + List modelAssessTaskDimensionDOS = modelAssessTaskDimensionBackupMapper.selectList(new LambdaQueryWrapper() + .eq(ModelAssessTaskDimensionBackupDO::getTaskId, id) + .eq(ModelAssessTaskDimensionBackupDO::getDeleted, false)); + List modelAssessTaskDimensionRespVOS = BeanUtils.toBean(modelAssessTaskDimensionDOS, ModelAssessTaskDimensionRespVO.class); + // 提取id + List dimensionIds = modelAssessTaskDimensionDOS.stream().map(ModelAssessTaskDimensionBackupDO::getDimensionId).collect(Collectors.toList()); + // 查询模型评估维度 将维度名称返回 + if (!CollectionUtils.isEmpty(dimensionIds)){ + List modelAssessDimensionDOS = modelAssessDimensionMapper.selectList(new LambdaQueryWrapper() + .in(ModelAssessDimensionDO::getId, dimensionIds)); + Map longModelDimesionDOMap = cn.iocoder.yudao.framework.common.util.collection. + CollectionUtils.convertMap(modelAssessDimensionDOS, ModelAssessDimensionDO::getId); + modelAssessTaskDimensionRespVOS.stream().forEach( + modelAssessTaskDimensionRespVO -> { + ModelAssessDimensionDO modelAssessDimensionDO = longModelDimesionDOMap.get(modelAssessTaskDimensionRespVO.getDimensionId()); + if (modelAssessDimensionDO != null){ + modelAssessTaskDimensionRespVO.setDimensionName(modelAssessDimensionDO.getDimension()); + } + } + ); + } + result.setDimensions(modelAssessTaskDimensionRespVOS); + if (modelAssessTaskManual.getModelType() == 0){ + ModelServiceDO modelServiceDO = modelServiceMapper.selectById(modelAssessTaskManual.getModelService()); + if (modelServiceDO != null){ + result.setModelServiceName(modelServiceDO.getServiceName()); + } + }else { + BaseModelDO baseModelDO = baseModelMapper.selectById(modelAssessTaskManual.getModelService()); + if (baseModelDO != null){ + result.setModelServiceName(baseModelDO.getModelName()); + } + } + DatasetDO datasetDO = datasetMapper.selectById(modelAssessTaskManual.getDataset()); + if (datasetDO != null){ + result.setDatasetName(datasetDO.getDatasetName()); + } + return result; + } + } \ 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/prompttemplates/PromptTemplatesServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/prompttemplates/PromptTemplatesServiceImpl.java index 319fcb1dc..7f2c29f40 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/prompttemplates/PromptTemplatesServiceImpl.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/prompttemplates/PromptTemplatesServiceImpl.java @@ -2,12 +2,14 @@ package cn.iocoder.yudao.module.llm.service.prompttemplates; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.llm.controller.admin.prompttemplatesbackup.vo.PromptTemplatesBackupSaveReqVO; +import cn.iocoder.yudao.module.llm.dal.dataobject.application.ApplicationDO; import cn.iocoder.yudao.module.llm.dal.dataobject.label.LabelDO; import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatesapplications.PromptTemplatesApplicationsDO; import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatesbackup.PromptTemplatesBackupDO; import cn.iocoder.yudao.module.llm.dal.dataobject.prompttemplatestags.PromptTemplatesTagsDO; import cn.iocoder.yudao.module.llm.dal.mysql.prompttemplatesapplications.PromptTemplatesApplicationsMapper; import cn.iocoder.yudao.module.llm.dal.mysql.prompttemplatestags.PromptTemplatesTagsMapper; +import cn.iocoder.yudao.module.llm.service.application.ApplicationService; import cn.iocoder.yudao.module.llm.service.label.LabelService; import cn.iocoder.yudao.module.llm.service.prompttemplatesbackup.PromptTemplatesBackupService; import cn.iocoder.yudao.module.system.api.dict.DictDataApi; @@ -48,6 +50,8 @@ public class PromptTemplatesServiceImpl implements PromptTemplatesService { private LabelService labelService; @Resource private PromptTemplatesBackupService promptTemplatesBackupService; + @Resource + private ApplicationService applicationService; @Override public Long createPromptTemplates(PromptTemplatesSaveReqVO createReqVO) { @@ -226,6 +230,19 @@ public class PromptTemplatesServiceImpl implements PromptTemplatesService { PageResult pageDoList = this.promptTemplatesMapper.selectPage(pageReqVO); PageResult pageRespList = BeanUtils.toBean(pageDoList, PromptTemplatesRespVO.class); List templatesRespList = pageRespList.getList(); + + List labelList = labelService.getLabelList(); + HashMap labelMap = new HashMap<>(); + for (LabelDO labelDO : labelList) { + labelMap.put(labelDO.getId(),labelDO.getLabelName()); + } + + List appList = applicationService.getList(); + HashMap appMap = new HashMap<>(); + for (ApplicationDO applicationDO : appList) { + appMap.put(applicationDO.getId(),applicationDO.getAppName()); + } + for(PromptTemplatesRespVO respVO : templatesRespList) { // TODO 使用量查询暂时设置为0 respVO.setUsedCount(0); @@ -236,16 +253,28 @@ public class PromptTemplatesServiceImpl implements PromptTemplatesService { List tagIds = tagDOList.stream() .map(p->p.getTagId().toString()) .collect(Collectors.toList()); - respVO.setTagIds(tagIds); + + List labelNameList = new ArrayList<>(); + for (String tagId : tagIds) { + labelNameList.add(labelMap.get(Long.parseLong(tagId))); + } +// respVO.setTagIds(tagIds); + respVO.setTagNames(labelNameList); } } catch(Exception e) { e.printStackTrace(); } try { - Long applicationCount = this.promptTemplatesApplicationsMapper.selectCount( + List applicationIds = this.promptTemplatesApplicationsMapper.selectList( new QueryWrapper() .eq("prompt_template_id", respVO.getId())); - respVO.setApplicationCount(Integer.parseInt(applicationCount.toString())); + + List appNames = new ArrayList<>(); + for (PromptTemplatesApplicationsDO applicationId : applicationIds) { + appNames.add(appMap.get(applicationId.getId())); + } + respVO.setApplicationCount(applicationIds.size()); + respVO.setApplicationNames(appNames); } catch(Exception e) { e.printStackTrace(); }