Commit fe7e6177 authored by alex yao's avatar alex yao

fix[车险]:修复对话结束无[DONE]输出问题

parent 19a3f26f
...@@ -340,7 +340,7 @@ ...@@ -340,7 +340,7 @@
<dependency> <dependency>
<groupId>com.baidubce</groupId> <groupId>com.baidubce</groupId>
<artifactId>appbuilder</artifactId> <artifactId>appbuilder</artifactId>
<version>0.9.4</version> <version>1.1.0</version>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -339,65 +339,69 @@ public class AiDialoguesServiceImpl implements AiDialoguesService { ...@@ -339,65 +339,69 @@ public class AiDialoguesServiceImpl implements AiDialoguesService {
StringBuilder reasoningContentBuilder = new StringBuilder(); StringBuilder reasoningContentBuilder = new StringBuilder();
long inputTimeStamp = System.currentTimeMillis(); long inputTimeStamp = System.currentTimeMillis();
if (dialoguesType.equals(AiDialoguesTypeEnum.CAR_INSURANCE.getType())) {//AppBuilder try {
BizAiDialogues3rdRelationEntity bizAiDialogues3rdRelationEntity = new BizAiDialogues3rdRelationEntity(); if (dialoguesType.equals(AiDialoguesTypeEnum.CAR_INSURANCE.getType())) {//AppBuilder
bizAiDialogues3rdRelationEntity.setDialoguesId(dialoguesId); BizAiDialogues3rdRelationEntity bizAiDialogues3rdRelationEntity = new BizAiDialogues3rdRelationEntity();
bizAiDialogues3rdRelationEntity.setPlatform(DialoguesPlatformEnum.AppBuilder.getPlatform()); bizAiDialogues3rdRelationEntity.setDialoguesId(dialoguesId);
bizAiDialogues3rdRelationEntity.setIsDeleted(CommonConstant.IsDeleted.N); bizAiDialogues3rdRelationEntity.setPlatform(DialoguesPlatformEnum.AppBuilder.getPlatform());
List<BizAiDialogues3rdRelationEntity> relationEntities = bizAiDialogues3rdRelationService.findByExample(bizAiDialogues3rdRelationEntity, null); bizAiDialogues3rdRelationEntity.setIsDeleted(CommonConstant.IsDeleted.N);
if (CollectionUtils.isEmpty(relationEntities)) { List<BizAiDialogues3rdRelationEntity> relationEntities = bizAiDialogues3rdRelationService.findByExample(bizAiDialogues3rdRelationEntity, null);
throw new BusinessException("获取会话配置异常"); if (CollectionUtils.isEmpty(relationEntities)) {
} throw new BusinessException("获取会话配置异常");
AppBuilderClientIterator iterator = appBuilderService.communication(relationEntities.get(0).getRelationId(), input, null, true); }
while (iterator.hasNext()) { AppBuilderClientIterator iterator = appBuilderService.communication(relationEntities.get(0).getRelationId(), input, null, true);
AppBuilderClientResult res = iterator.next(); while (iterator.hasNext()) {
LargeModelDemandResult largeModelDemandResult = new LargeModelDemandResult(); AppBuilderClientResult res = iterator.next();
if (ArrayUtils.isNotEmpty(res.getEvents())) { LargeModelDemandResult largeModelDemandResult = new LargeModelDemandResult();
Event event = res.getEvents()[0]; largeModelDemandResult.setCode("0");
String eventType = event.getEventType(); if (ArrayUtils.isNotEmpty(res.getEvents())) {
if ("chatflow".equals(eventType)) { Event event = res.getEvents()[0];
Map<String, Object> detail = event.getDetail(); String eventType = event.getEventType();
if (detail.containsKey("message")) { if ("chatflow".equals(eventType)) {
String mess = detail.get("message").toString(); Map<String, Object> detail = event.getDetail();
largeModelDemandResult.setMessage(mess); if (detail.containsKey("message")) {
contentBuilder.append(mess); String mess = detail.get("message").toString();
largeModelDemandResult.setMessage(mess);
contentBuilder.append(mess);
}
} }
} else if (StringUtils.isNotEmpty(res.getAnswer())) {
largeModelDemandResult.setMessage(res.getAnswer());
contentBuilder.append(res.getAnswer());
} }
} else if (StringUtils.isNotEmpty(res.getAnswer())) { sseUtil.send(JsonUtils.serialize(largeModelDemandResult));
largeModelDemandResult.setMessage(res.getAnswer());
contentBuilder.append(res.getAnswer());
} }
sseUtil.send(JsonUtils.serialize(largeModelDemandResult));
} }
} catch (Exception e) {
logger.error(e.getMessage());
sseUtil.completeByError(e.getMessage());
} finally {
sseUtil.send("[DONE]"); sseUtil.send("[DONE]");
sseUtil.complete(); sseUtil.complete();
//保存对话记录
//用户输入记录
BizAgentApplicationDialoguesRecordEntity inputRecord = new BizAgentApplicationDialoguesRecordEntity();
inputRecord.setAgentId(null);
inputRecord.setMemberId(userId);
inputRecord.setContent(input);
inputRecord.setDialogsId(dialoguesId);
inputRecord.setRole(AgentApplicationDialoguesRecordConstants.ROLE.USER);
inputRecord.setTimestamp(inputTimeStamp);
bizAgentApplicationDialoguesRecordService.save(inputRecord);
//AI输出记录
BizAgentApplicationDialoguesRecordEntity outputRecord = new BizAgentApplicationDialoguesRecordEntity();
outputRecord.setRole(AgentApplicationDialoguesRecordConstants.ROLE.ASSISTANT);
outputRecord.setAgentId(null);
outputRecord.setDialogsId(dialoguesId);
outputRecord.setMemberId(userId);
if (toolFunction != null) {
outputRecord.setFunction(JsonUtils.serialize(toolFunction));
}
outputRecord.setTimestamp(System.currentTimeMillis());
outputRecord.setContent(contentBuilder.toString());
outputRecord.setReasoningContent(reasoningContentBuilder.toString());
bizAgentApplicationDialoguesRecordService.save(outputRecord);
} }
//保存对话记录
//用户输入记录
BizAgentApplicationDialoguesRecordEntity inputRecord = new BizAgentApplicationDialoguesRecordEntity();
inputRecord.setAgentId(null);
inputRecord.setMemberId(userId);
inputRecord.setContent(input);
inputRecord.setDialogsId(dialoguesId);
inputRecord.setRole(AgentApplicationDialoguesRecordConstants.ROLE.USER);
inputRecord.setTimestamp(inputTimeStamp);
bizAgentApplicationDialoguesRecordService.save(inputRecord);
//AI输出记录
BizAgentApplicationDialoguesRecordEntity outputRecord = new BizAgentApplicationDialoguesRecordEntity();
outputRecord.setRole(AgentApplicationDialoguesRecordConstants.ROLE.ASSISTANT);
outputRecord.setAgentId(null);
outputRecord.setDialogsId(dialoguesId);
outputRecord.setMemberId(userId);
if (toolFunction != null) {
outputRecord.setFunction(JsonUtils.serialize(toolFunction));
}
outputRecord.setTimestamp(System.currentTimeMillis());
outputRecord.setContent(contentBuilder.toString());
outputRecord.setReasoningContent(reasoningContentBuilder.toString());
bizAgentApplicationDialoguesRecordService.save(outputRecord);
return contentBuilder.toString(); return contentBuilder.toString();
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment