修复模型部署
This commit is contained in:
parent
96d65952a3
commit
c230296d18
@ -2,9 +2,11 @@ package cn.iocoder.yudao.module.llm.service.async;
|
||||
|
||||
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.dataobject.servername.ServerNameDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.basemodel.BaseModelMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.finetuningtask.FineTuningTaskMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelservice.ModelServiceMapper;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.servername.ServerNameMapper;
|
||||
import cn.iocoder.yudao.module.llm.service.http.TrainHttpService;
|
||||
import cn.iocoder.yudao.module.llm.service.http.vo.*;
|
||||
import org.slf4j.Logger;
|
||||
@ -31,6 +33,8 @@ public class AsyncModelServiceService {
|
||||
private TrainHttpService trainHttpService;
|
||||
@Resource
|
||||
private BaseModelMapper baseModelMapper;
|
||||
@Resource
|
||||
private ServerNameMapper serverNameMapper;
|
||||
|
||||
@Async
|
||||
public void createModelService(ModelServiceDO updateObj) {
|
||||
@ -64,7 +68,7 @@ public class AsyncModelServiceService {
|
||||
aIgcModelDeploySaveReq.setModelName(System.currentTimeMillis()+generateRandomString(5));
|
||||
aIgcModelDeploySaveReq.setMaxTokens(4096);
|
||||
aIgcModelDeploySaveReq.setParameters(5);
|
||||
AigcModelCreateRespVO aigcModelCreateRespVO = trainHttpService.modelCreate(new HashMap<>(), aIgcModelDeploySaveReq);
|
||||
AigcModelCreateRespVO aigcModelCreateRespVO = trainHttpService.modelCreate(new HashMap<>(),aIgcModelDeploySaveReq);
|
||||
log.info("model create info {}",aigcModelCreateRespVO);
|
||||
updateObj.setJobId(fineTuningTaskDO.getJobModelListId());
|
||||
updateObj.setBaseModelName(fineTuningTaskDO.getJobModelName());
|
||||
@ -78,12 +82,14 @@ public class AsyncModelServiceService {
|
||||
public void startModelService(ModelServiceDO updateObj) {
|
||||
try {
|
||||
ModelServiceDO modelServiceDO = modelServiceMapper.selectById(updateObj.getId());
|
||||
ServerNameDO serverNameDO = serverNameMapper.selectById(modelServiceDO.getGpuType());
|
||||
if (modelServiceDO.getJobId() != null){
|
||||
AigcModelDeployVO modelDeployVO = trainHttpService.modelUndeploy(new HashMap<>(), modelServiceDO.getJobId());
|
||||
AigcModelDeployVO modelDeployVO = trainHttpService.modelUndeploy(new HashMap<>(),serverNameDO.getHost(), modelServiceDO.getJobId());
|
||||
}
|
||||
AigcModelDeploySaveReq aigcModelDeploySaveReq = new AigcModelDeploySaveReq(modelServiceDO.getBaseModelName(),
|
||||
"gpu");
|
||||
ModelDeployRespVO modelDeployRespVO = trainHttpService.modelDeploy(new HashMap<>(), aigcModelDeploySaveReq);
|
||||
ModelDeployRespVO modelDeployRespVO = trainHttpService.modelDeploy(new HashMap<>(),serverNameDO.getHost(), aigcModelDeploySaveReq);
|
||||
log.info("modelDeploy info {}",modelDeployRespVO);
|
||||
if (modelDeployRespVO.getMessage().equals("error")){
|
||||
updateObj.setStatus(3);
|
||||
}else {
|
||||
@ -104,8 +110,9 @@ public class AsyncModelServiceService {
|
||||
public void stopModelService(ModelServiceDO updateObj) {
|
||||
try {
|
||||
ModelServiceDO modelServiceDO = modelServiceMapper.selectById(updateObj.getId());
|
||||
ServerNameDO serverNameDO = serverNameMapper.selectById(modelServiceDO.getGpuType());
|
||||
// Thread.sleep(30000);
|
||||
AigcModelDeployVO modelDeployRespVO = trainHttpService.modelUndeploy(new HashMap<>(), modelServiceDO.getJobId());
|
||||
AigcModelDeployVO modelDeployRespVO = trainHttpService.modelUndeploy(new HashMap<>(), serverNameDO.getHost(),modelServiceDO.getJobId());
|
||||
if (modelDeployRespVO.getStatus().equals("stop")){
|
||||
updateObj.setStatus(0);
|
||||
}
|
||||
|
@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.llm.service.basemodel;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.basemodel.vo.BaseModelSaveReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.basemodel.BaseModelDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.servername.ServerNameDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.servername.ServerNameMapper;
|
||||
import cn.iocoder.yudao.module.llm.enums.ModelDeployConstantEnum;
|
||||
import cn.iocoder.yudao.module.llm.handler.AigcCustomDateTimeDeserializer;
|
||||
import cn.iocoder.yudao.module.llm.service.basemodel.vo.ModelListRes;
|
||||
@ -35,6 +37,9 @@ public class BaseModelTaskService {
|
||||
@Resource
|
||||
BaseModelService baseModelService;
|
||||
|
||||
@Resource
|
||||
ServerNameMapper serverNameMapper;
|
||||
|
||||
private static final String DEFAULT_MODEL_URL_SUFFIX = "/v1/chat/completions";
|
||||
// 减少维护 先注释掉
|
||||
// @Scheduled(cron ="0 0/1 * * * ?")
|
||||
@ -51,6 +56,8 @@ public class BaseModelTaskService {
|
||||
SimpleModule module = new SimpleModule();
|
||||
module.addDeserializer(LocalDateTime.class, new AigcCustomDateTimeDeserializer());
|
||||
mapper.registerModule(module);
|
||||
// 获取gpuhost主机
|
||||
ServerNameDO serverNameDO = serverNameMapper.selectById(baseModelDO.getGpuId());
|
||||
List<AigcModelDeployVO> aigcModelDeployVOS = mapper.readValue(res,new TypeReference<List<AigcModelDeployVO>>() {});
|
||||
if (!aigcModelDeployVOS.isEmpty()) {
|
||||
AigcModelDeployVO latestRecord = aigcModelDeployVOS.get(0);
|
||||
@ -59,7 +66,7 @@ public class BaseModelTaskService {
|
||||
|
||||
AigcModelDeploySaveReq aigcModelDeploySaveReq = new AigcModelDeploySaveReq(baseModelDO.getAigcModelName(),
|
||||
"gpu");
|
||||
ModelDeployRespVO modelDeployRespVO = trainHttpService.modelDeploy(new HashMap<>(), aigcModelDeploySaveReq);
|
||||
ModelDeployRespVO modelDeployRespVO = trainHttpService.modelDeploy(new HashMap<>(),serverNameDO.getHost(), aigcModelDeploySaveReq);
|
||||
if (!modelDeployRespVO.getMessage().equals("error")) {
|
||||
BaseModelSaveReqVO baseModelSaveReqVO = new BaseModelSaveReqVO();
|
||||
baseModelSaveReqVO.setId(baseModelDO.getId());
|
||||
|
@ -240,11 +240,11 @@ public class TrainHttpService {
|
||||
return res;
|
||||
}
|
||||
|
||||
public ModelDeployRespVO modelDeploy(Map<String, String> headers,AigcModelDeploySaveReq req){
|
||||
public ModelDeployRespVO modelDeploy(Map<String, String> headers,String url,AigcModelDeploySaveReq req){
|
||||
login(headers);
|
||||
String modelDeploy = llmBackendProperties.getModelDeploy();
|
||||
log.info(" modelDeploy request:{}", JSON.toJSONString(req));
|
||||
String res = HttpUtils.post(modelDeploy, headers, JSON.toJSONString(req));
|
||||
String res = HttpUtils.post(url+modelDeploy, headers, JSON.toJSONString(req));
|
||||
log.info(" modelDeploy:{}", res);
|
||||
JSONObject parseObject = JSON.parseObject(res);
|
||||
ModelDeployRespVO modelDeployRespVO=new ModelDeployRespVO();
|
||||
@ -258,10 +258,10 @@ public class TrainHttpService {
|
||||
|
||||
return modelDeployRespVO;
|
||||
}
|
||||
public AigcModelDeployVO modelUndeploy(Map<String, String> headers, Long deployId) {
|
||||
public AigcModelDeployVO modelUndeploy(Map<String, String> headers,String url, Long deployId) {
|
||||
login(headers);
|
||||
String modelDeploy = llmBackendProperties.getModelUndeploy();
|
||||
String res = HttpUtils.post(modelDeploy + deployId, headers,"");
|
||||
String res = HttpUtils.post(url+modelDeploy + deployId, headers,"");
|
||||
log.info(" modelDeploy:{}", res);
|
||||
AigcModelDeployVO modelDeployRespVO = JSON.parseObject(res, AigcModelDeployVO.class);
|
||||
log.info(" modelDeploy:{}", modelDeployRespVO);
|
||||
|
Loading…
x
Reference in New Issue
Block a user