| | |
| | | |
| | | @Override |
| | | public void onResponse(Call call, Response response) { |
| | | int a = 1; |
| | | AiMessage aiMessage = new AiMessage(); |
| | | com.agentsflex.core.llm.response.AiMessageResponse aiMessageResponse |
| | | = new com.agentsflex.core.llm.response.AiMessageResponse(new HistoriesPrompt(), response.message(), aiMessage); |
| | |
| | | // 这里需要根据具体API调整路径 |
| | | JsonObject messageObj = gson.fromJson(data, JsonObject.class); |
| | | // System.out.println(messageObj); |
| | | if(messageObj.get("event").getAsString().equals("message_end")){ |
| | | if(!messageObj.has("answer")){ |
| | | try { |
| | | JsonArray asJsonArray = messageObj.getAsJsonObject("metadata").getAsJsonArray("retriever_resources"); |
| | | if (asJsonArray.size() > 0) { |
| | | aiMessage.setFullContent("-----------------------"); |
| | | sb.append("\n"+aiMessage.getFullContent()); |
| | | emitter.send(JSON.toJSONString(aiMessage)); |
| | | for (int i = 0; i < asJsonArray.size(); i++) { |
| | | aiMessage.setFullContent(asJsonArray.get(i).getAsJsonObject().get("document_name").getAsString()); |
| | | aiMessage.setContent(null); |
| | | // aiMessageResponse.setMessage(aiMessage); |
| | | sb.append("\n"+aiMessage.getFullContent()); |
| | | emitter.send(JSON.toJSONString(aiMessage)); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | System.out.println("meizuo"); |
| | | } |
| | | AiBotMessage aiBotMessage = new AiBotMessage(); |
| | | aiBotMessage.setBotId(botId); |
| | | aiBotMessage.setSessionId(sessionId); |
| | | aiBotMessage.setAccountId(new BigInteger(userId)); |
| | | aiBotMessage.setRole("assistant"); |
| | | String content = aiBotMessage.getContent(); |
| | | aiBotMessage.setContent(sb.toString()); |
| | | aiBotMessage.setCreated(new Date()); |
| | | aiBotMessage.setIsExternalMsg(1); |
| | | aiBotMessageService.save(aiBotMessage); |
| | | if(a == 1){ |
| | | a = 0; |
| | | aiBotMessageService.save(aiBotMessage); |
| | | }else{ |
| | | QueryWrapper qw = new QueryWrapper(); |
| | | qw.eq("content", content); |
| | | aiBotMessageService.remove(qw); |
| | | aiBotMessageService.save(aiBotMessage); |
| | | } |
| | | // System.out.println("end"); |
| | | }else{ |
| | | String context = messageObj.get("answer").getAsString(); |
| | |
| | | aiMessage.setContent(context); |
| | | aiMessageResponse.setMessage(aiMessage); |
| | | if (!messageObj.get("answer").getAsString().isEmpty()) { |
| | | if(!blean && aiMessage.getContent().startsWith("</details>")){ |
| | | blean = true; |
| | | aiMessage.setContent(aiMessage.getContent().replaceAll("(?i)<[^>]*>", "\n\n")); |
| | | } |
| | | if(blean){ |
| | | // if(!blean && aiMessage.getContent().startsWith("</details>")){ |
| | | // blean = true; |
| | | // aiMessage.setContent(aiMessage.getContent().replaceAll("(?i)<[^>]*>", "\n\n")); |
| | | // } |
| | | // if(blean){ |
| | | sb.append(aiMessage.getContent()); |
| | | // System.out.println(aiMessage); |
| | | // 发送消息片段给前端 |
| | | emitter.send(JSON.toJSONString(aiMessage)); |
| | | } |
| | | // } |
| | | } |
| | | } |
| | | |