feat(module-llm): 添加获取模型服务管理 GPU 类型的功能- 新增 getGpuTypeById 方法,根据 ID 获取 GPU 类型
- 优化了代码格式,调整了部分缩进和空格 - 移除了未使用的导入信息
This commit is contained in:
parent
a3f7074d9d
commit
2766385bcb
@ -7,7 +7,6 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelservice.vo.ModelServicePageReqVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelservice.vo.ModelServiceRespVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.modelservice.vo.ModelServiceSaveReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.basemodel.BaseModelDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.finetuningtask.FineTuningTaskDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelservice.ModelServiceDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.finetuningtask.FineTuningTaskMapper;
|
||||
@ -15,7 +14,6 @@ import cn.iocoder.yudao.module.llm.dal.mysql.modelservice.ModelServiceMapper;
|
||||
import cn.iocoder.yudao.module.llm.framework.backend.config.LLMBackendProperties;
|
||||
import cn.iocoder.yudao.module.llm.service.application.ApplicationService;
|
||||
import cn.iocoder.yudao.module.llm.service.async.AsyncModelServiceService;
|
||||
import cn.iocoder.yudao.module.llm.service.finetuningtask.FineTuningTaskService;
|
||||
import cn.iocoder.yudao.module.llm.service.http.ModelService;
|
||||
import cn.iocoder.yudao.module.llm.service.modelassesstaskauto.ModelAssessTaskAutoService;
|
||||
import cn.iocoder.yudao.module.llm.service.modelassesstaskmanual.ModelAssessTaskManualService;
|
||||
@ -73,11 +71,11 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
|
||||
|
||||
@Override
|
||||
public Long createModelService(ModelServiceSaveReqVO createReqVO) {
|
||||
public Long createModelService (ModelServiceSaveReqVO createReqVO) {
|
||||
LambdaQueryWrapper<ModelServiceDO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ModelServiceDO::getFineTuningTask,createReqVO.getFineTuningTask());
|
||||
queryWrapper.eq(ModelServiceDO::getFineTuningTask, createReqVO.getFineTuningTask());
|
||||
List<ModelServiceDO> modelServiceDOS = modelServiceMapper.selectList(queryWrapper);
|
||||
if(modelServiceDOS.size() > 0){
|
||||
if (modelServiceDOS.size() > 0) {
|
||||
throw exception(new ErrorCode(10003_001, "该微调任务已生成过模型服务,不可再生成"));
|
||||
|
||||
}
|
||||
@ -87,7 +85,7 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
|
||||
FineTuningTaskDO fineTuningTaskDO = fineTuningTaskMapper.selectById(createReqVO.getFineTuningTask());
|
||||
|
||||
if (fineTuningTaskDO != null){
|
||||
if (fineTuningTaskDO != null) {
|
||||
//aigc模型列表中的id 以及 对话用的modelName
|
||||
modelService.setJobId(fineTuningTaskDO.getJobModelListId());
|
||||
modelService.setBaseModelName(fineTuningTaskDO.getJobModelName());
|
||||
@ -102,12 +100,12 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
|
||||
modelService.setStatus(0);
|
||||
modelServiceMapper.insert(modelService);
|
||||
// asyncModelServiceService.createModelService(modelService);
|
||||
// asyncModelServiceService.createModelService(modelService);
|
||||
// 返回
|
||||
return modelService.getId();
|
||||
}
|
||||
|
||||
public String getApikey() {
|
||||
public String getApikey () {
|
||||
Random random = new Random();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < 30; i++) {
|
||||
@ -126,7 +124,7 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateModelService(ModelServiceSaveReqVO updateReqVO) {
|
||||
public void updateModelService (ModelServiceSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateModelServiceExists(updateReqVO.getId());
|
||||
validateModelServiceNameExists(updateReqVO);
|
||||
@ -136,7 +134,7 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteModelService(Long id) {
|
||||
public void deleteModelService (Long id) {
|
||||
// 校验存在
|
||||
validateModelServiceExists(id);
|
||||
// 校验使用
|
||||
@ -221,43 +219,44 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
}
|
||||
}
|
||||
|
||||
private void validateModelServiceExists(Long id) {
|
||||
private void validateModelServiceExists (Long id) {
|
||||
if (modelServiceMapper.selectById(id) == null) {
|
||||
throw exception(MODEL_SERVICE_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
private void validateModelServiceNameExists(ModelServiceSaveReqVO updateReqVO) {
|
||||
|
||||
private void validateModelServiceNameExists (ModelServiceSaveReqVO updateReqVO) {
|
||||
LambdaQueryWrapper<ModelServiceDO> wrapper = new LambdaQueryWrapper<ModelServiceDO>()
|
||||
.eq(ModelServiceDO::getServiceName, updateReqVO.getServiceName());
|
||||
|
||||
if (updateReqVO.getId() != null){
|
||||
if (updateReqVO.getId() != null) {
|
||||
wrapper.ne(ModelServiceDO::getId, updateReqVO.getId());
|
||||
}
|
||||
List<ModelServiceDO> modelServiceDOS = modelServiceMapper.selectList(wrapper);
|
||||
if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isNotEmpty(modelServiceDOS)){
|
||||
if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isNotEmpty(modelServiceDOS)) {
|
||||
throw exception(MODEL_SERVIC_ENAME_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModelServiceDO getModelService(Long id) {
|
||||
public ModelServiceDO getModelService (Long id) {
|
||||
return modelServiceMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<ModelServiceDO> getModelServicePage(ModelServicePageReqVO pageReqVO) {
|
||||
public PageResult<ModelServiceDO> getModelServicePage (ModelServicePageReqVO pageReqVO) {
|
||||
return modelServiceMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ModelServiceDO> getModelServiceList() {
|
||||
public List<ModelServiceDO> getModelServiceList () {
|
||||
LambdaQueryWrapper<ModelServiceDO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ModelServiceDO::getStatus,2);
|
||||
queryWrapper.eq(ModelServiceDO::getStatus, 2);
|
||||
return modelServiceMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void active(ModelServiceSaveReqVO updateReqVO) {
|
||||
public void active (ModelServiceSaveReqVO updateReqVO) {
|
||||
ModelServiceDO updateObj = BeanUtils.toBean(updateReqVO, ModelServiceDO.class);
|
||||
updateObj.setStatus(1);
|
||||
modelServiceMapper.updateById(updateObj);
|
||||
@ -267,7 +266,7 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unactive(ModelServiceSaveReqVO updateReqVO) {
|
||||
public void unactive (ModelServiceSaveReqVO updateReqVO) {
|
||||
ModelServiceDO updateObj = BeanUtils.toBean(updateReqVO, ModelServiceDO.class);
|
||||
updateObj.setStatus(0);
|
||||
modelServiceMapper.updateById(updateObj);
|
||||
@ -279,18 +278,18 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<ModelServiceRespVO> getModelServicePage1(ModelServicePageReqVO pageReqVO) {
|
||||
public PageResult<ModelServiceRespVO> getModelServicePage1 (ModelServicePageReqVO pageReqVO) {
|
||||
PageResult<ModelServiceDO> pageResult = modelServiceMapper.selectPage(pageReqVO);
|
||||
PageResult<ModelServiceRespVO> respVo = BeanUtils.toBean(pageResult, ModelServiceRespVO.class);
|
||||
if (!CollectionUtils.isAnyEmpty(pageResult.getList())){
|
||||
if (!CollectionUtils.isAnyEmpty(pageResult.getList())) {
|
||||
List<Long> ids = pageResult.getList().stream()
|
||||
.map(ModelServiceDO::getFineTuningTask)
|
||||
.collect(Collectors.toList());
|
||||
List<FineTuningTaskDO> fineTuningTaskDOS = fineTuningTaskMapper.selectBatchIds(ids);
|
||||
Map<Long, FineTuningTaskDO> fineTuningTaskMap = CollectionUtils.convertMap(fineTuningTaskDOS, FineTuningTaskDO::getId);
|
||||
respVo.getList().forEach(item->{
|
||||
respVo.getList().forEach(item -> {
|
||||
FineTuningTaskDO fineTuningTaskDO = fineTuningTaskMap.get(item.getFineTuningTask());
|
||||
if(fineTuningTaskDO != null){
|
||||
if (fineTuningTaskDO != null) {
|
||||
item.setFineTuningTaskName(fineTuningTaskDO.getTaskName());
|
||||
}
|
||||
});
|
||||
@ -299,31 +298,43 @@ public class ModelServiceServiceImpl implements ModelServiceService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModelServiceDO getByApiKey(String apiKey) {
|
||||
public ModelServiceDO getByApiKey (String apiKey) {
|
||||
LambdaQueryWrapper<ModelServiceDO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ModelServiceDO::getApiKey,apiKey);
|
||||
return modelServiceMapper.selectOne(queryWrapper);
|
||||
queryWrapper.eq(ModelServiceDO::getApiKey, apiKey);
|
||||
return modelServiceMapper.selectOne(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getDownLoadList(Long id) {
|
||||
public List<String> getDownLoadList (Long id) {
|
||||
ModelServiceDO modelServiceDO = modelServiceMapper.selectById(id);
|
||||
String baseModelName = modelServiceDO.getBaseModelName();
|
||||
|
||||
List<String> fileList = modelService.getFileList(baseModelName);
|
||||
String modelFileDownload = llmBackendProperties.getModelFileDownload();
|
||||
List<String> res = new ArrayList<>();
|
||||
if (fileList != null){
|
||||
if (fileList != null) {
|
||||
for (String fileName : fileList) {
|
||||
Pattern extensionPattern = Pattern.compile("\\.[a-zA-Z0-9]+$");
|
||||
if (!extensionPattern.matcher(fileName).find()){
|
||||
if (!extensionPattern.matcher(fileName).find()) {
|
||||
continue;
|
||||
}
|
||||
res.add(modelFileDownload + baseModelName +"/" + fileName);
|
||||
res.add(modelFileDownload + baseModelName + "/" + fileName);
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据 ID 获取 GPU 类型
|
||||
*
|
||||
* @param id id
|
||||
* @return Gpu类型
|
||||
*/
|
||||
public Long getGpuTypeById (Long id) {
|
||||
ModelServiceDO modelServiceDO = modelServiceMapper.selectById(id);
|
||||
return modelServiceDO.getGpuType();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取模型服务管理数量
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user