diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mq/CorpusDccMqConsumer.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mq/CorpusDccMqConsumer.java index 12fee6e..ee08c9b 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mq/CorpusDccMqConsumer.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/mq/CorpusDccMqConsumer.java @@ -52,9 +52,9 @@ public class CorpusDccMqConsumer implements RocketMQListener { AicorpusTelephoneDTO aicorpusTelephone = objectMapper.readValue(message, AicorpusTelephoneDTO.class); //DCC场景 if(Objects.equals(aicorpusTelephone.getCategoryCode(), Constant.CHANNEL_DCC)){ - //TODO 这里需要确认客户画像下这个字段值是什么? 已经确认了,和总结需求的dcc场景是一致的 , 所以不需要修改。。 + //总结和客户画像都是这一个:Constant.CHANNEL_DCC - log.info(" dcc_mq接收到消息 , 总结和分类业务场景: " + JSON.toJSONString(aicorpusTelephone)); + log.info(" dcc_mq接收到消息 , 总结和客户画像业务场景: " + JSON.toJSONString(aicorpusTelephone)); tmTelephoneCorpusService.runTelephoneCorpusDify(aicorpusTelephone); } //channel_4in1场景 diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/CorpusPortraitServiceImpl.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/CorpusPortraitServiceImpl.java index a5db5ba..8692f3b 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/CorpusPortraitServiceImpl.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/CorpusPortraitServiceImpl.java @@ -251,15 +251,21 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService { inputMap.put("chat", chatList.toString()); inputMap.put("unionId", unionId); inputMap.put("consultantId", userId); - inputMap.put("communicateDate", DateUtil.format(maxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN)); + inputMap.put(BRAND_KEY,getBrand()); inputMap.put("brandSeries",getSeriesByBrandId()); - diFyImageReq.setInputs(inputMap); CorpusReportDTO corpusReportDTO = new CorpusReportDTO(); corpusReportDTO.setCorpusTime(DateUtil.format(maxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN)); corpusReportDTO.setUnionId(unionId); corpusReportDTO.setUserId(userId); + + inputMap.put("communicateDate", DateUtil.format(maxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN)); + inputMap.put("businessId",unionId); + inputMap.put("analysisScene", "3"); + diFyImageReq.setInputs(inputMap); + + // 获取配置 JSONObject execDifyFlow = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.CORPUS_PORTRAIT_QIWEI.getCode(), JSONObject.toJSONString(corpusReportDTO), null); log.info("runDify execDifyFlow 企微语料,画像场景 Dify的返回 : {}", execDifyFlow); diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmNameplateCorpusServiceImpl.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmNameplateCorpusServiceImpl.java index bd2e1d4..593b857 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmNameplateCorpusServiceImpl.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmNameplateCorpusServiceImpl.java @@ -150,6 +150,7 @@ public class TmNameplateCorpusServiceImpl extends ServiceImpl portraitFuture = CompletableFuture.runAsync(() -> { + //"analysisScene": "分析类型", // 1、企微会话 2、AI通话录音 3、AI铭牌(客流) 4、AI铭牌(试驾) + + inputMap.put("businessId",item.getCustomerFlowId()); + inputMap.put("communicateDate",item.getNameplateEndTime()); + inputMap.put("analysisScene", "3"); + diFyImageReq.setInputs(inputMap); // 创建新的DiFyReq对象以避免线程安全问题 diFyImageReq.setFlowId(oneTokenPortrait); JSONObject execDifyFlowForPortrait = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.CORPUS_PORTRAIT_NAMEPLATE.getCode(), diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmTelephoneCorpusServiceImpl.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmTelephoneCorpusServiceImpl.java index 91e7bbd..dfcdb14 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmTelephoneCorpusServiceImpl.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/TmTelephoneCorpusServiceImpl.java @@ -160,29 +160,41 @@ public class TmTelephoneCorpusServiceImpl extends ServiceImpl summaryFuture = CompletableFuture.runAsync(() -> { - JSONObject execDifyFlow = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.SMART_ASSISTANT.getCode(), - JSONObject.toJSONString(corpusReportDTO), aicorpusTelephone.getAiAnalysisRequestId()); + try { + JSONObject execDifyFlow = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.SMART_ASSISTANT.getCode(), + JSONObject.toJSONString(corpusReportDTO), aicorpusTelephone.getAiAnalysisRequestId()); - log.info("runDify execDifyFlow 返回 ,总结场景 : {}", execDifyFlow); - parseDfiyResult(execDifyFlow, aicorpusTelephone.getSourceId(), formattedDateStartTime, aicorpusTelephone.getAiAnalysisRequestId(), - BusinessTypeEnum.SMART_ASSISTANT.getCode()); + log.info("runDify execDifyFlow 返回 ,总结场景 : {}", execDifyFlow); + parseDfiyResult(execDifyFlow, aicorpusTelephone.getSourceId(), formattedDateStartTime, aicorpusTelephone.getAiAnalysisRequestId(), + BusinessTypeEnum.SMART_ASSISTANT.getCode()); + } catch (Exception e) { + log.error("runDify 异常", e); + } }, executorService); long endTime = System.currentTimeMillis(); log.info("第一个业务场景(总结和分类)执行时间: {} ms", (endTime - startTime)); - //第一个业务场景, 结束 + //第一个业务场景, 结束 long startTime2 = System.currentTimeMillis(); CompletableFuture portraitFuture = CompletableFuture.runAsync(() -> { + try { + // 创建新的DiFyReq对象以避免线程安全问题 + inputMap.put("businessId",aicorpusTelephone.getSourceId()); + inputMap.put("communicateDate",aicorpusTelephone.getTranscribeTime()); + inputMap.put("analysisScene", "2"); + diFyImageReq.setInputs(inputMap); - // 创建新的DiFyReq对象以避免线程安全问题 - diFyImageReq.setFlowId(oneTokenPortrait); - JSONObject execDifyFlowForPortrait = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.CORPUS_PORTRAIT_DCC.getCode(), - JSONObject.toJSONString(corpusReportDTO), aicorpusTelephone.getAiAnalysisRequestId()); + diFyImageReq.setFlowId(oneTokenPortrait); + JSONObject execDifyFlowForPortrait = diFyService.executeDifyFlow(diFyImageReq, BusinessTypeEnum.CORPUS_PORTRAIT_DCC.getCode(), + JSONObject.toJSONString(corpusReportDTO), aicorpusTelephone.getAiAnalysisRequestId()); - log.info("runDify execDifyFlow 返回 ,客户画像场景: {}", execDifyFlowForPortrait); + log.info("runDify execDifyFlow 返回 ,客户画像场景: {}", execDifyFlowForPortrait); - parseDfiyResult(execDifyFlowForPortrait, aicorpusTelephone.getSourceId(), formattedDateStartTime, - aicorpusTelephone.getAiAnalysisRequestId(), BusinessTypeEnum.CORPUS_PORTRAIT_DCC.getCode()); + parseDfiyResult(execDifyFlowForPortrait, aicorpusTelephone.getSourceId(), formattedDateStartTime, + aicorpusTelephone.getAiAnalysisRequestId(), BusinessTypeEnum.CORPUS_PORTRAIT_DCC.getCode()); + } catch (Exception e) { + log.error("runDify 异常", e); + } }, executorService); long endTime2 = System.currentTimeMillis(); log.info("第二个业务场景(用户画像)执行时间: {} ms", (endTime2 - startTime2));