From da8c12516e954b20d7a053e88ebc33c2d7baab65 Mon Sep 17 00:00:00 2001 From: qianbao Date: Tue, 7 Apr 2026 15:24:08 +0800 Subject: [PATCH] 添加向量库 --- src/main/java/com/xly/service/XlyErpService.java | 46 ++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/xly/tool/DynamicToolProvider.java | 11 +++++++++-- src/main/java/com/xly/tts/bean/TTSRequestDTO.java | 1 + src/main/java/com/xly/tts/service/PythonTtsProxyService.java | 19 +++++++++++++++++++ src/main/java/com/xly/web/TTSStreamController.java | 12 ++++++++++++ 5 files changed, 87 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/xly/service/XlyErpService.java b/src/main/java/com/xly/service/XlyErpService.java index 10294eb..c8674ac 100644 --- a/src/main/java/com/xly/service/XlyErpService.java +++ b/src/main/java/com/xly/service/XlyErpService.java @@ -250,6 +250,52 @@ public class XlyErpService { /*** * @Author 钱豹 + * @Date 14:37 2026/4/7 + * @Param [userInput, userId, sUserName, sBrandsId, sSubsidiaryId, sUserType, authorization] + * @return com.xly.entity.AiResponseDTO + * @Description 清空条件 + **/ + public AiResponseDTO removeCondition(String userId , + String sUserName , + String sBrandsId , + String sSubsidiaryId, + String sUserType, + String authorization, + String removeCondition + ) { + String sceneName = StrUtil.EMPTY; + String methodName = StrUtil.EMPTY; + UserSceneSession session=null; + try { + // 1. 初始化用户场景会话(权限内场景) + session = userSceneSessionService.getUserSceneSession(userId,sUserName,sBrandsId,sSubsidiaryId,sUserType,authorization); + session.setAuthorization(authorization); + session.setSFunPrompts(null); + session.setDbCach(StrUtil.EMPTY); + session.setDbType(StrUtil.EMPTY); + sceneName = ObjectUtil.isNotEmpty(session.getCurrentScene())?session.getCurrentScene().getSSceneName():StrUtil.EMPTY; + Map args = session.getArgs(); + String[] removeConditionA = removeCondition.split(","); + for(String one:removeConditionA){ + args.remove(one); + } + session.setArgs(args); + String sResponMessage = dynamicToolProvider.doDynamicTool(session.getCurrentTool(),session); + return AiResponseDTO.builder().sSceneName(sceneName).sMethodName(methodName).aiText(sResponMessage).dbType(session.getDbType()).dbCach(session.getDbCach()).sReturnType(ReturnTypeCode.HTML.getCode()).build(); + } catch (Exception e) { + e.printStackTrace(); + return AiResponseDTO.builder().sSceneName(sceneName).sMethodName(methodName).aiText("系统异常:" + e.getMessage() + ",请稍后重试!").dbType(session.getDbType()).dbCach(session.getDbCach()).sReturnType(ReturnTypeCode.HTML.getCode()).build(); + }finally { + //5.执行工具方法后,清除记忆 + if(session !=null && session.getBCleanMemory()){ + doCleanUserMemory(session,userId); + } + } + } + + + /*** + * @Author 钱豹 * @Date 19:18 2026/1/27 * @Param [userInput, userId, sUserType] * @return java.lang.String diff --git a/src/main/java/com/xly/tool/DynamicToolProvider.java b/src/main/java/com/xly/tool/DynamicToolProvider.java index 691bf1d..c34dc47 100644 --- a/src/main/java/com/xly/tool/DynamicToolProvider.java +++ b/src/main/java/com/xly/tool/DynamicToolProvider.java @@ -1135,10 +1135,17 @@ public class DynamicToolProvider implements ToolProvider { if(ObjectUtil.isNotEmpty(argsOld.get(one.getSParam()))){ if(one.getSParamValue().startsWith("d")){ if(Double.valueOf(argsOld.get(one.getSParam()).toString())>0){ - markdown.append(one.getSParam()).append(":").append(argsOld.get(one.getSParam()).toString()).append(" "); + markdown.append("") + .append(one.getSParam()).append(":").append(argsOld.get(one.getSParam()).toString()).append(" ") + .append(" × ") + .append(""); } }else{ - markdown.append(one.getSParam()).append(":").append(argsOld.get(one.getSParam()).toString()).append(" "); + markdown.append("") + .append(one.getSParam()).append(":").append(argsOld.get(one.getSParam()).toString()).append(" ") + .append(" × ") + .append(""); +// markdown.append(one.getSParam()).append(":").append(argsOld.get(one.getSParam()).toString()).append(" "); } } } diff --git a/src/main/java/com/xly/tts/bean/TTSRequestDTO.java b/src/main/java/com/xly/tts/bean/TTSRequestDTO.java index 9523a31..ec91197 100644 --- a/src/main/java/com/xly/tts/bean/TTSRequestDTO.java +++ b/src/main/java/com/xly/tts/bean/TTSRequestDTO.java @@ -18,6 +18,7 @@ public class TTSRequestDTO { private Integer page; private Integer pageCount; private String sceneId; + private String removeCondition; } \ No newline at end of file diff --git a/src/main/java/com/xly/tts/service/PythonTtsProxyService.java b/src/main/java/com/xly/tts/service/PythonTtsProxyService.java index e3f1a0b..6705344 100644 --- a/src/main/java/com/xly/tts/service/PythonTtsProxyService.java +++ b/src/main/java/com/xly/tts/service/PythonTtsProxyService.java @@ -87,6 +87,25 @@ public class PythonTtsProxyService { return synthesizeStreamAi(request, voiceText); } + /*** + * @Author 钱豹 + * @Date 14:35 2026/4/7 + * @Param [request] + * @return org.springframework.http.ResponseEntity + * @Description 清空条件 + **/ + public ResponseEntity removeCondition(TTSRequestDTO request) { + String sUserId = request.getUserid(); + String sUserName = request.getUsername(); + String sBrandsId = request.getBrandsid(); + String sSubsidiaryId = request.getSubsidiaryid(); + String sUserType = request.getUsertype(); + String authorization = request.getAuthorization(); + String removeCondition = request.getRemoveCondition(); + AiResponseDTO voiceText = xlyErpService.removeCondition(sUserId, sUserName, sBrandsId, sSubsidiaryId, sUserType, authorization,removeCondition); + return synthesizeStreamAi(request, voiceText); + } + /** * 【保持原有返回类型】AI对话 + 流式TTS */ diff --git a/src/main/java/com/xly/web/TTSStreamController.java b/src/main/java/com/xly/web/TTSStreamController.java index 10248d8..9e7d412 100644 --- a/src/main/java/com/xly/web/TTSStreamController.java +++ b/src/main/java/com/xly/web/TTSStreamController.java @@ -89,6 +89,18 @@ public class TTSStreamController { return pythonTtsProxyService.change(request); } + /*** + * @Author 钱豹 + * @Date 8:53 2026/4/7 + * @Param [request] + * @return org.springframework.http.ResponseEntity + * @Description 换一换 + **/ + @PostMapping(value = "/stream/removeCondition", consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.ALL_VALUE}) + public ResponseEntity removeCondition(@RequestBody TTSRequestDTO request) { + return pythonTtsProxyService.removeCondition(request); + } + /** * 流式合成语音(代理到Python服务) */ -- libgit2 0.22.2