Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
192c39d3b4
@ -1,15 +1,19 @@
|
||||
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.application.vo.ApplicationRespVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.datarefluxdata.vo.DataRefluxDataSaveReqVO;
|
||||
import cn.iocoder.yudao.module.llm.controller.admin.prompttemplates.vo.PromptTemplatesRespVO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.basemodel.BaseModelDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.dataobject.modelservice.ModelServiceDO;
|
||||
import cn.iocoder.yudao.module.llm.dal.mysql.modelservice.ModelServiceMapper;
|
||||
import cn.iocoder.yudao.module.llm.service.application.ApplicationService;
|
||||
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;
|
||||
import cn.iocoder.yudao.module.llm.service.prompttemplates.PromptTemplatesService;
|
||||
import com.alibaba.excel.util.StringUtils;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -53,6 +57,10 @@ public class ConversationServiceImpl implements ConversationService {
|
||||
private DataRefluxDataService dataRefluxDataService;
|
||||
@Resource
|
||||
private ModelServiceMapper modelServiceMapper;
|
||||
@Resource
|
||||
private ApplicationService applicationService;
|
||||
@Resource
|
||||
private PromptTemplatesService promptTemplatesService;
|
||||
|
||||
// 聊天会话历史记录缓存Key
|
||||
private final static String CHAT_HIStORY_REDIS_KEY = "llm:chat:history";
|
||||
@ -103,6 +111,16 @@ public class ConversationServiceImpl implements ConversationService {
|
||||
|
||||
@Override
|
||||
public ChatRespVO chat(ChatReqVO chatReqVO) {
|
||||
if(chatReqVO.getSystemPrompt() == null || chatReqVO.getSystemPrompt().equals("")){
|
||||
if(chatReqVO.getApplicationId() != null){
|
||||
ApplicationRespVO application = applicationService.getApplication(chatReqVO.getApplicationId());
|
||||
Long promptId = application.getPromptId();
|
||||
PromptTemplatesRespVO promptTemplates = promptTemplatesService.getPromptTemplates(promptId);
|
||||
if(chatReqVO != null){
|
||||
chatReqVO.setSystemPrompt(promptTemplates.getTemplateText());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Objects.equals(1, chatReqVO.getModelType())){
|
||||
return publicModelChat(chatReqVO);
|
||||
}else {
|
||||
|
@ -71,24 +71,24 @@ public class PromptTemplatesServiceImpl implements PromptTemplatesService {
|
||||
PromptTemplatesDO promptTemplates = BeanUtils.toBean(createReqVO, PromptTemplatesDO.class);
|
||||
// 暂时先去掉这个逻辑,演示用 -- zhangtao
|
||||
// promptTemplates.setTemplateType(2);
|
||||
String categoryName = this.dictDataApi.getDictDataLabel("llm_prompt_template_framework",Integer.valueOf(createReqVO
|
||||
.getTemplateFramework()));
|
||||
switch (categoryName) {
|
||||
case "简介框架":
|
||||
BriefFramework briefFramework = createReqVO.getBriefFramework();
|
||||
promptTemplates.setTemplateText(JSON.toJSONString(briefFramework));
|
||||
break;
|
||||
case "角色能力框架":
|
||||
AbilityFramework abilityFramework = createReqVO.getAbilityFramework();
|
||||
promptTemplates.setTemplateText(JSON.toJSONString(abilityFramework));
|
||||
break;
|
||||
case "样例提示框架":
|
||||
SampleFramework sampleFramework = createReqVO.getSampleFramework();
|
||||
promptTemplates.setTemplateText(JSON.toJSONString(sampleFramework));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// String categoryName = this.dictDataApi.getDictDataLabel("llm_prompt_template_framework",Integer.valueOf(createReqVO
|
||||
// .getTemplateFramework()));
|
||||
// switch (categoryName) {
|
||||
// case "简介框架":
|
||||
// BriefFramework briefFramework = createReqVO.getBriefFramework();
|
||||
// promptTemplates.setTemplateText(JSON.toJSONString(briefFramework));
|
||||
// break;
|
||||
// case "角色能力框架":
|
||||
// AbilityFramework abilityFramework = createReqVO.getAbilityFramework();
|
||||
// promptTemplates.setTemplateText(JSON.toJSONString(abilityFramework));
|
||||
// break;
|
||||
// case "样例提示框架":
|
||||
// SampleFramework sampleFramework = createReqVO.getSampleFramework();
|
||||
// promptTemplates.setTemplateText(JSON.toJSONString(sampleFramework));
|
||||
// break;
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
promptTemplatesMapper.insert(promptTemplates);
|
||||
List<String> tagIds = createReqVO.getTagIds();
|
||||
if(tagIds!=null && !tagIds.isEmpty()) {
|
||||
@ -123,24 +123,24 @@ public class PromptTemplatesServiceImpl implements PromptTemplatesService {
|
||||
this.isNameDuplicate(updateReqVO.getName());
|
||||
}
|
||||
PromptTemplatesDO updateObj = BeanUtils.toBean(updateReqVO, PromptTemplatesDO.class);
|
||||
String categoryName = this.dictDataApi.getDictDataLabel("llm_prompt_template_framework",Integer.valueOf(updateReqVO
|
||||
.getTemplateFramework()));
|
||||
switch (categoryName) {
|
||||
case "简介框架":
|
||||
BriefFramework briefFramework = updateReqVO.getBriefFramework();
|
||||
updateObj.setTemplateText(JSON.toJSONString(briefFramework));
|
||||
break;
|
||||
case "角色能力框架":
|
||||
AbilityFramework abilityFramework = updateReqVO.getAbilityFramework();
|
||||
updateObj.setTemplateText(JSON.toJSONString(abilityFramework));
|
||||
break;
|
||||
case "样例提示框架":
|
||||
SampleFramework sampleFramework = updateReqVO.getSampleFramework();
|
||||
updateObj.setTemplateText(JSON.toJSONString(sampleFramework));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// String categoryName = this.dictDataApi.getDictDataLabel("llm_prompt_template_framework",Integer.valueOf(updateReqVO
|
||||
// .getTemplateFramework()));
|
||||
// switch (categoryName) {
|
||||
// case "简介框架":
|
||||
// BriefFramework briefFramework = updateReqVO.getBriefFramework();
|
||||
// updateObj.setTemplateText(JSON.toJSONString(briefFramework));
|
||||
// break;
|
||||
// case "角色能力框架":
|
||||
// AbilityFramework abilityFramework = updateReqVO.getAbilityFramework();
|
||||
// updateObj.setTemplateText(JSON.toJSONString(abilityFramework));
|
||||
// break;
|
||||
// case "样例提示框架":
|
||||
// SampleFramework sampleFramework = updateReqVO.getSampleFramework();
|
||||
// updateObj.setTemplateText(JSON.toJSONString(sampleFramework));
|
||||
// break;
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
promptTemplatesMapper.updateById(updateObj);
|
||||
Map<String, Object> deleteCondition = new HashMap<>(1);
|
||||
deleteCondition.put("prompt_template_id", updateReqVO.getId());
|
||||
@ -214,26 +214,26 @@ public class PromptTemplatesServiceImpl implements PromptTemplatesService {
|
||||
.collect(Collectors.toList());
|
||||
promptTemplates.setApplicationIds(applicationIds);
|
||||
}
|
||||
String categoryName = this.dictDataApi.getDictDataLabel("llm_prompt_template_framework",Integer.valueOf(templatesDO.getTemplateFramework()));
|
||||
switch (categoryName) {
|
||||
case "简介框架":
|
||||
promptTemplates.setBriefFramework(JSON.parseObject(promptTemplates
|
||||
.getTemplateText(), BriefFramework.class));
|
||||
promptTemplates.setTemplateText("");
|
||||
break;
|
||||
case "角色能力框架":
|
||||
promptTemplates.setAbilityFramework(JSON.parseObject(promptTemplates
|
||||
.getTemplateText(), AbilityFramework.class));
|
||||
promptTemplates.setTemplateText("");
|
||||
break;
|
||||
case "样例提示框架":
|
||||
promptTemplates.setSampleFramework(JSON.parseObject(promptTemplates
|
||||
.getTemplateText(), SampleFramework.class));
|
||||
promptTemplates.setTemplateText("");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// String categoryName = this.dictDataApi.getDictDataLabel("llm_prompt_template_framework",Integer.valueOf(templatesDO.getTemplateFramework()));
|
||||
// switch (categoryName) {
|
||||
// case "简介框架":
|
||||
// promptTemplates.setBriefFramework(JSON.parseObject(promptTemplates
|
||||
// .getTemplateText(), BriefFramework.class));
|
||||
// promptTemplates.setTemplateText("");
|
||||
// break;
|
||||
// case "角色能力框架":
|
||||
// promptTemplates.setAbilityFramework(JSON.parseObject(promptTemplates
|
||||
// .getTemplateText(), AbilityFramework.class));
|
||||
// promptTemplates.setTemplateText("");
|
||||
// break;
|
||||
// case "样例提示框架":
|
||||
// promptTemplates.setSampleFramework(JSON.parseObject(promptTemplates
|
||||
// .getTemplateText(), SampleFramework.class));
|
||||
// promptTemplates.setTemplateText("");
|
||||
// break;
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
return promptTemplates;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user