diff --git a/backend/generation-service/src/main/java/com/artedu/generation/controller/GenerationController.java b/backend/generation-service/src/main/java/com/artedu/generation/controller/GenerationController.java index dbdce6d..1db6301 100644 --- a/backend/generation-service/src/main/java/com/artedu/generation/controller/GenerationController.java +++ b/backend/generation-service/src/main/java/com/artedu/generation/controller/GenerationController.java @@ -324,7 +324,7 @@ public class GenerationController { } count++; } - + String chatContext = sb.toString(); String generated = ""; //如果最后几条都是客户消息返回不为空,则直接返回结果,否则走原逻辑 if (!StringUtils.isBlank(external_str)){ //不为空 发起知识库的查询 @@ -339,9 +339,20 @@ public class GenerationController { String res = qianwenClient.generate(promptNew, 800); generated = generated + res + "|||"; } + if(StringUtils.isNotBlank(generated)){ + String[] parts = generated.split("\\|\\|\\|"); + if(parts.length<3){ + for (int i = 0; i < 3-parts.length; i++) { + String systemPrompt = promptEngine.buildSystemPrompt(chatContext, staffName); + String generatedNew = qianwenClient.generate(systemPrompt, "", 1200); + generated = generated + generatedNew; + } + } + } + } } - String chatContext = sb.toString(); + if (chatContext == null || chatContext.isEmpty()) { Map err = new HashMap<>(); err.put("type", "error");