数据回流
This commit is contained in:
parent
dc7f004d0f
commit
ce1cf17635
@ -21,7 +21,7 @@ public class DataRefluxDataSaveReqVO {
|
||||
|
||||
@Schema(description = "是否预知模型(0普通 1官方)", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
|
||||
@NotNull(message = "是否预知模型(0普通 1官方)不能为空")
|
||||
private Long modelType;
|
||||
private Integer modelType;
|
||||
|
||||
@Schema(description = "system")
|
||||
private String system;
|
||||
|
@ -38,7 +38,7 @@ public class DataRefluxDataDO extends BaseDO {
|
||||
/**
|
||||
* 是否预知模型(0普通 1官方)
|
||||
*/
|
||||
private Long modelType;
|
||||
private Integer modelType;
|
||||
/**
|
||||
* system
|
||||
*/
|
||||
|
@ -1,8 +1,10 @@
|
||||
package cn.iocoder.yudao.module.llm.service.conversation;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.datarefluxdata.vo.DataRefluxDataSaveReqVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.basemodel.BaseModelDO;
|
||||
import cn.iocoder.yudao.module.llm.service.basemodel.BaseModelService;
|
||||
import cn.iocoder.yudao.module.llm.service.datarefluxdata.DataRefluxDataService;
|
||||
import cn.iocoder.yudao.module.llm.service.http.ModelService;
|
||||
import cn.iocoder.yudao.module.llm.service.http.vo.ModelCompletionsReqVO;
|
||||
import cn.iocoder.yudao.module.llm.service.http.vo.ModelCompletionsRespVO;
|
||||
@ -44,6 +46,8 @@ public class ConversationServiceImpl implements ConversationService {
|
||||
private ModelService modelService;
|
||||
@Resource
|
||||
private BaseModelService baseModelService;
|
||||
@Resource
|
||||
private DataRefluxDataService dataRefluxDataService;
|
||||
|
||||
// 聊天会话历史记录缓存Key
|
||||
private final static String CHAT_HIStORY_REDIS_KEY = "llm:chat:history";
|
||||
@ -130,6 +134,13 @@ public class ConversationServiceImpl implements ConversationService {
|
||||
chatRespVO.setResponse(modelCompletionsRespVO.getAnswer());
|
||||
// 将聊天记录放入缓存
|
||||
stringRedisTemplate.opsForList().rightPush(CHAT_HIStORY_REDIS_KEY + ":" + chatReqVO.getUuid(), JsonUtils.toJsonString(message));
|
||||
DataRefluxDataSaveReqVO dataRefluxDataSaveReqVO = new DataRefluxDataSaveReqVO();
|
||||
dataRefluxDataSaveReqVO.setModelServiceId(chatReqVO.getModelId());
|
||||
dataRefluxDataSaveReqVO.setModelType(chatReqVO.getModelType());
|
||||
dataRefluxDataSaveReqVO.setPrompt(chatReqVO.getPrompt());
|
||||
dataRefluxDataSaveReqVO.setResponse(modelCompletionsRespVO.getAnswer());
|
||||
dataRefluxDataSaveReqVO.setSystem(modelCompletionsRespVO.getSystem());
|
||||
dataRefluxDataService.saveDataRefluxData(dataRefluxDataSaveReqVO);
|
||||
return chatRespVO;
|
||||
}
|
||||
}
|
@ -55,4 +55,6 @@ public interface DataRefluxDataService {
|
||||
PageResult<DataRefluxDataDO> getDataRefluxDataPage(DataRefluxDataPageReqVO pageReqVO);
|
||||
|
||||
List<DataRefluxDataDO> getTheDetails(DataRefluxConfigPageReqVO pageReqVO);
|
||||
|
||||
Long saveDataRefluxData(DataRefluxDataSaveReqVO createReqVO);
|
||||
}
|
||||
|
@ -8,13 +8,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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 cn.iocoder.yudao.module.llm.controller.admin.datarefluxdata.vo.*;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.datarefluxdata.DataRefluxDataDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.datarefluxdata.DataRefluxDataMapper;
|
||||
@ -93,4 +91,22 @@ public class DataRefluxDataServiceImpl implements DataRefluxDataService {
|
||||
return dataRefluxDataMapper.selectList(eq);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long saveDataRefluxData(DataRefluxDataSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
DataRefluxDataDO dataRefluxData = BeanUtils.toBean(createReqVO, DataRefluxDataDO.class);
|
||||
LambdaQueryWrapper<DataRefluxConfigDO> eq = new LambdaQueryWrapper<DataRefluxConfigDO>()
|
||||
.eq(DataRefluxConfigDO::getModelServiceId, dataRefluxData.getModelServiceId())
|
||||
.eq(DataRefluxConfigDO::getModelType, dataRefluxData.getModelType())
|
||||
.like(DataRefluxConfigDO::getCreator, dataRefluxData.getCreator());
|
||||
List<DataRefluxConfigDO> dataRefluxConfigDOS = dataRefluxConfigMapper.selectList(eq);
|
||||
if (!dataRefluxConfigDOS.isEmpty()) {
|
||||
dataRefluxData.setConfigId(dataRefluxConfigDOS.get(0).getId());
|
||||
dataRefluxDataMapper.insert(dataRefluxData);
|
||||
// 返回
|
||||
return dataRefluxData.getId();
|
||||
} else {
|
||||
throw exception(DATA_REFLUX_CONFIG_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user