模型演化改造

This commit is contained in:
fanshuai 2024-06-06 16:34:59 +08:00
parent 257c4d704c
commit 3d3113506b
4 changed files with 88 additions and 36 deletions

View File

@ -90,7 +90,7 @@ public class ModelDependency implements Serializable {
private Integer state;
private Long workflowId;
private int availableRange;
private Models models;
public Integer getId() {
return id;
@ -236,12 +236,12 @@ public class ModelDependency implements Serializable {
this.workflowId = workflowId;
}
public int getAvailableRange() {
return availableRange;
public Models getModels() {
return models;
}
public void setAvailableRange(int availableRange) {
this.availableRange = availableRange;
public void setModels(Models models) {
this.models = models;
}
}

View File

@ -3,12 +3,10 @@ package com.ruoyi.platform.service.impl;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.platform.domain.*;
import com.ruoyi.platform.mapper.ModelDependencyDao;
import com.ruoyi.platform.service.ExperimentInsService;
import com.ruoyi.platform.service.ExperimentService;
import com.ruoyi.platform.service.ModelDependencyService;
import com.ruoyi.platform.service.ModelsService;
import com.ruoyi.platform.service.*;
import com.ruoyi.platform.utils.JacksonUtil;
import com.ruoyi.platform.vo.ModelDependcyTreeVo;
import com.ruoyi.platform.vo.ModelVersionDependcyVo;
import com.ruoyi.system.api.model.LoginUser;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.annotation.Lazy;
@ -38,6 +36,8 @@ public class ModelDependencyServiceImpl implements ModelDependencyService {
@Resource
private ModelsService modelsService;
@Resource
private ModelsVersionService modelsVersionService;
@Lazy
@Resource
private ExperimentService experimentService;
@ -77,21 +77,6 @@ public class ModelDependencyServiceImpl implements ModelDependencyService {
@Override
public List<ModelDependency> queryByModelDependency(ModelDependency modelDependency) throws IOException {
List<ModelDependency> modelDependencyList = this.modelDependencyDao.queryByModelDependency(modelDependency);
/**
* 补充workFlow_id + 是否共有
*/
if (modelDependencyList == null || modelDependencyList.size()==0){
return new ArrayList<>();
}
for (ModelDependency md : modelDependencyList){
Integer currentModelId = md.getCurrentModelId();
Integer expInsId = md.getExpInsId();
Models models = modelsService.queryById(currentModelId);
ExperimentIns experimentIns = experimentInsService.queryById(expInsId);
Experiment experiment = experimentService.queryById(experimentIns.getExperimentId());
md.setWorkflowId(experiment.getWorkflowId());
md.setAvailableRange(models.getAvailableRange());
}
return modelDependencyList;
}
@ -130,7 +115,6 @@ public class ModelDependencyServiceImpl implements ModelDependencyService {
if (modelDependencyList!=null&&modelDependencyList.size()>=0){
for (ModelDependency modelDependency:modelDependencyList){
ModelDependcyTreeVo modelDependencyTreeVoIn = ModelDependencyConvertToTree(modelDependency);
modelDependencyTreeVoIn.setCurrentModelName((String) parent.get("model_name"));
processParentModel(modelDependencyTreeVoIn);
ps.add(modelDependencyTreeVoIn);
}
@ -142,7 +126,7 @@ public class ModelDependencyServiceImpl implements ModelDependencyService {
}
private void processChildrenModel(ModelDependcyTreeVo modelDependcyTreeVo){
private void processChildrenModel(ModelDependcyTreeVo modelDependcyTreeVo) throws IOException {
String version = modelDependcyTreeVo.getVersion();
Integer modelId = modelDependcyTreeVo.getCurrentModelId();
List<ModelDependcyTreeVo> cs = new ArrayList<ModelDependcyTreeVo>();
@ -159,7 +143,7 @@ public class ModelDependencyServiceImpl implements ModelDependencyService {
modelDependcyTreeVo.setChildrenModels(cs);
}
private ModelDependcyTreeVo ModelDependencyConvertToTree(ModelDependency modelDependency){
private ModelDependcyTreeVo ModelDependencyConvertToTree(ModelDependency modelDependency) throws IOException {
ModelDependcyTreeVo modelDependcyTreeVo = new ModelDependcyTreeVo();
modelDependcyTreeVo.setCurrentModelId(modelDependency.getCurrentModelId());
modelDependcyTreeVo.setExpInsId(modelDependency.getExpInsId());
@ -172,12 +156,33 @@ public class ModelDependencyServiceImpl implements ModelDependencyService {
modelDependcyTreeVo.setTestDataset(JacksonUtil.parseJSONStr2MapList(modelDependency.getTestDataset()));
modelDependcyTreeVo.setProjectDependency(JacksonUtil.parseJSONStr2Map(modelDependency.getProjectDependency()));
modelDependcyTreeVo.setParentModelsMap(JacksonUtil.parseJSONStr2MapList(modelDependency.getParentModels()));
modelDependcyTreeVo.setWorkflowId(modelDependency.getWorkflowId());
modelDependcyTreeVo.setAvailableRange(modelDependcyTreeVo.getAvailableRange());
Models models = modelsService.queryById(modelDependency.getCurrentModelId());
if (models!=null) {
modelDependcyTreeVo.setCurrentModelName(models.getName());
}
/**
* 补充workFlow_id + 是否共有
*/
Integer currentModelId = modelDependency.getCurrentModelId();
Integer expInsId = modelDependency.getExpInsId();
Models models = modelsService.queryById(currentModelId);
ModelsVersion modelsVersionquery = new ModelsVersion();
modelsVersionquery.setModelsId(currentModelId);
modelsVersionquery.setVersion(modelDependency.getVersion());
ModelsVersion modelsVersion = modelsVersionService.queryByModelsVersion(modelsVersionquery);
ExperimentIns experimentIns = experimentInsService.queryById(expInsId);
Experiment experiment = experimentService.queryById(experimentIns.getExperimentId());
ModelVersionDependcyVo modelVersionDependcyVo = new ModelVersionDependcyVo();
modelVersionDependcyVo.setName(models.getName());
modelVersionDependcyVo.setAvailableRange(models.getAvailableRange());
modelVersionDependcyVo.setDescription(models.getDescription());
modelVersionDependcyVo.setModelTag(models.getModelTag());
modelVersionDependcyVo.setModelType(models.getModelType());
modelVersionDependcyVo.setModelTagName(models.getModelTagName());
modelVersionDependcyVo.setModelTypeName(models.getModelTypeName());
modelVersionDependcyVo.setFileName(modelsVersion.getFileName());
modelVersionDependcyVo.setFileSize(modelsVersion.getFileSize());
modelVersionDependcyVo.setUrl(modelsVersion.getUrl());
modelDependcyTreeVo.setWorkflowId(experiment.getWorkflowId());
modelDependcyTreeVo.setModelVersionDependcyVo(modelVersionDependcyVo);
return modelDependcyTreeVo;
}

View File

@ -2,6 +2,7 @@ package com.ruoyi.platform.vo;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.ruoyi.platform.domain.Models;
import lombok.Data;
import java.util.List;
@ -66,8 +67,6 @@ public class ModelDependcyTreeVo {
*/
private List<ModelDependcyTreeVo> childrenModels;
private String currentModelName;
private Long workflowId;
private int availableRange;
private ModelVersionDependcyVo modelVersionDependcyVo;
}

View File

@ -0,0 +1,48 @@
package com.ruoyi.platform.vo;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.ruoyi.platform.annotations.CheckDuplicate;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class ModelVersionDependcyVo implements Serializable {
@ApiModelProperty(name = "name")
private String name;
// private String version;
@ApiModelProperty(name = "description")
private String description;
@ApiModelProperty(value = "模型可见范围1表示公开0表示私有")
private int availableRange;
@ApiModelProperty(value = "模型类型(模型框架)")
private String modelType;
@ApiModelProperty(value = "模型标签")
private String modelTag;
@ApiModelProperty(value = "模型类型名")
private String modelTypeName;
@ApiModelProperty(value = "模型tag名")
private String modelTagName;
@ApiModelProperty(value = "模型存储地址")
private String url;
@ApiModelProperty(value = "文件名")
private String fileName;
@ApiModelProperty(value = "文件大小")
private String fileSize;
}