feat(module-llm): 添加获取模型服务管理 GPU 类型的功能- 新增 getGpuTypeById 方法,根据 ID 获取 GPU 类型

- 优化了代码格式,调整了部分缩进和空格
- 移除了未使用的导入信息
This commit is contained in:
Liuyang 2025-02-18 11:18:52 +08:00
parent a3f7074d9d
commit 2766385bcb

View File

@ -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();
}
/**
* 获取模型服务管理数量
*