Merge remote-tracking branch 'origin/master'

This commit is contained in:
sunxiqing 2025-01-03 19:42:49 +08:00
commit 98262ba46e
10 changed files with 134 additions and 5 deletions

View File

@ -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<ModelAssessTaskManualBackupRespVO> 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")

View File

@ -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<ModelAssessTaskDimensionRespVO> dimensions;
@Schema(description = "模型服务名称")
private String modelServiceName;
@Schema(description = "数据集名称")
private String datasetName;
/**
* 模型类型
*/
@Schema(description = "模型类型0普通1官方")
private Integer modelType;
}

View File

@ -38,5 +38,7 @@ public class ModelAssessTaskManualBackupSaveReqVO {
@Schema(description = "进度")
private Integer progress;
@Schema(description = "模型类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
private Integer modelType;
}

View File

@ -39,9 +39,15 @@ public class PromptTemplatesRespVO {
@Schema(description = "标签Id列表", example = "[1, 2, 3]")
private List<String> tagIds;
@Schema(description = "标签名称列表", example = "[1, 2, 3]")
private List<String> tagNames;
@Schema(description = "应用Id列表", example = "[1, 2, 3]")
private List<String> applicationIds;
@Schema(description = "应用名称列表", example = "[1, 2, 3]")
private List<String> applicationNames;
@Schema(description = "使用量")
@ExcelProperty("使用量")
private int usedCount;

View File

@ -59,5 +59,6 @@ public class ModelAssessTaskManualBackupDO extends BaseDO {
* 进度
*/
private Integer progress;
private Integer modelType;
}

View File

@ -54,4 +54,6 @@ public interface ApplicationService {
List<ApplicationRespVO> getApplicationList(ApplicationPageReqVO pageReqVO);
List<ApplicationDO> getList();
}

View File

@ -143,4 +143,9 @@ public class ApplicationServiceImpl implements ApplicationService {
return result;
}
@Override
public List<ApplicationDO> getList() {
return applicationMapper.selectList();
}
}

View File

@ -55,4 +55,6 @@ public interface ModelAssessTaskManualBackupService {
void isBackup(Long srcId);
void unBackup(Long id);
ModelAssessTaskManualBackupRespVO getModelAssessTaskManualBackup1(Long id);
}

View File

@ -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<ModelAssessTaskDimensionBackupDO> modelAssessTaskDimensionDOS = modelAssessTaskDimensionBackupMapper.selectList(new LambdaQueryWrapper<ModelAssessTaskDimensionBackupDO>()
.eq(ModelAssessTaskDimensionBackupDO::getTaskId, id)
.eq(ModelAssessTaskDimensionBackupDO::getDeleted, false));
List<ModelAssessTaskDimensionRespVO> modelAssessTaskDimensionRespVOS = BeanUtils.toBean(modelAssessTaskDimensionDOS, ModelAssessTaskDimensionRespVO.class);
// 提取id
List<Long> dimensionIds = modelAssessTaskDimensionDOS.stream().map(ModelAssessTaskDimensionBackupDO::getDimensionId).collect(Collectors.toList());
// 查询模型评估维度 将维度名称返回
if (!CollectionUtils.isEmpty(dimensionIds)){
List<ModelAssessDimensionDO> modelAssessDimensionDOS = modelAssessDimensionMapper.selectList(new LambdaQueryWrapper<ModelAssessDimensionDO>()
.in(ModelAssessDimensionDO::getId, dimensionIds));
Map<Long, ModelAssessDimensionDO> 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;
}
}

View File

@ -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<PromptTemplatesDO> pageDoList = this.promptTemplatesMapper.selectPage(pageReqVO);
PageResult<PromptTemplatesRespVO> pageRespList = BeanUtils.toBean(pageDoList, PromptTemplatesRespVO.class);
List<PromptTemplatesRespVO> templatesRespList = pageRespList.getList();
List<LabelDO> labelList = labelService.getLabelList();
HashMap<Long,String> labelMap = new HashMap<>();
for (LabelDO labelDO : labelList) {
labelMap.put(labelDO.getId(),labelDO.getLabelName());
}
List<ApplicationDO> appList = applicationService.getList();
HashMap<Long,String> 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<String> tagIds = tagDOList.stream()
.map(p->p.getTagId().toString())
.collect(Collectors.toList());
respVO.setTagIds(tagIds);
List<String> 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<PromptTemplatesApplicationsDO> applicationIds = this.promptTemplatesApplicationsMapper.selectList(
new QueryWrapper<PromptTemplatesApplicationsDO>()
.eq("prompt_template_id", respVO.getId()));
respVO.setApplicationCount(Integer.parseInt(applicationCount.toString()));
List<String> 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();
}