From 4f8672b2eb973962f3865892b5ea08d2b7290d6a Mon Sep 17 00:00:00 2001 From: qianbao Date: Mon, 9 Mar 2026 11:20:50 +0800 Subject: [PATCH] AI 对于时间的处理 --- src/main/java/com/xly/service/XlyErpService.java | 9 ++------- src/main/java/com/xly/tool/DynamicToolProvider.java | 14 +++++++++----- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/xly/service/XlyErpService.java b/src/main/java/com/xly/service/XlyErpService.java index 98fe0a5..8a43985 100644 --- a/src/main/java/com/xly/service/XlyErpService.java +++ b/src/main/java/com/xly/service/XlyErpService.java @@ -112,9 +112,9 @@ public class XlyErpService { if (aiAgent == null){ return getChatiAgent (input, session,StrUtil.EMPTY); } - List chatMessage = operableChatMemoryProvider.getCurrentChatMessages(session.getUserId()); +// List chatMessage = operableChatMemoryProvider.getCurrentChatMessages(session.getUserId()); String sResponMessage = aiAgent.chat(userId, input); - List chatMessage2 = operableChatMemoryProvider.getCurrentChatMessages(session.getUserId()); +// List chatMessage2 = operableChatMemoryProvider.getCurrentChatMessages(session.getUserId()); String sResponMessageOld = StrUtil.EMPTY; // 调用方法,参数缺失部分提示,就直接使用方法返回的 if(session.getCurrentTool() != null @@ -480,11 +480,6 @@ public class XlyErpService { .build(); UserSceneSessionService.CHAT_AGENT_CACHE.put(session.getUserId(), chatiAgent); } String sChatMessage = chatiAgent.chat(session.getUserId(), input); - //随便聊聊移除系统返回的提示记忆 -// List chatMessage = operableChatMemoryProvider.getCurrentChatMessages(session.getUserId()); -// removeMssageSbll(chatMessage, session.getUserId()); -// operableChatMemoryProvider.deleteUserLasterMessage(session.getUserId()); -// chatMessage = operableChatMemoryProvider.getCurrentChatMessages(session.getUserId()); return AiResponseDTO.builder().sSceneName(sceneName).sMethodName(methodName).aiText(sChatMessage).systemText(StrUtil.EMPTY).sReturnType(ReturnTypeCode.HTML.getCode()).build(); } /*** diff --git a/src/main/java/com/xly/tool/DynamicToolProvider.java b/src/main/java/com/xly/tool/DynamicToolProvider.java index 5210ae8..adc8292 100644 --- a/src/main/java/com/xly/tool/DynamicToolProvider.java +++ b/src/main/java/com/xly/tool/DynamicToolProvider.java @@ -230,11 +230,11 @@ public class DynamicToolProvider implements ToolProvider { StringBuffer sl = new StringBuffer(); if(ObjectUtil.isNotEmpty(meta.getStoolDesc())){ - stoolDesc.append("MethodNo:").append(meta.getSMethodNo()).append(",核心工作内容:【").append(meta.getSMethodName()); + stoolDesc.append("MethodNo:").append(meta.getSMethodNo()).append(",当用户").append(meta.getSMethodName()); // if (meta.getIBizType()==4){ // stoolDesc.append(",").append("并选择数据后执行["+meta.getSControlName()+"]操作"); // } - stoolDesc.append("】").append(meta.getStoolDesc()); + stoolDesc.append("时,必须调用本工具").append(meta.getSMethodNo()).append(",").append(meta.getStoolDesc()); if (meta.getIBizType()==4){ stoolDesc.append(",").append("并选择数据后执行 "+meta.getSControlName()+" 操作"); // .append("1.全部数据生成多个单据 回复【全部确认】;2.全部数据生成一个单据 回复【合并确认】;3.按自然语义描述生成一个单据 如"1,3行确认""); @@ -256,7 +256,8 @@ public class DynamicToolProvider implements ToolProvider { String paramType = paramRule.getSType(); Boolean bEmpty = paramRule.getBEmpty(); String sExampleValue = paramRule.getSExampleValue(); - if(ObjectUtil.isNotEmpty(sExampleValue)){ + //示例值,只有枚举放 + if(ObjectUtil.isNotEmpty(sExampleValue) && "enum".equals(paramType.toLowerCase())){ //英文 // slMap.put(paramName,sExampleValue); //中文 @@ -534,7 +535,7 @@ public class DynamicToolProvider implements ToolProvider { // Map argsOld = DeepCopyUtils.deepCopy(args); List paramRuleData = meta.getParamRuleListAll(); // 2. 【自动补全】应用参数的默认值 - args = applyDefaultValues(args, paramRuleData); +// args = applyDefaultValues(args, paramRuleData); // 2.1 【补全动态参数】动态参数补全 try{ @@ -810,8 +811,11 @@ public class DynamicToolProvider implements ToolProvider { Map result = new HashMap<>(args); for (ParamRule pd : paramDefs) { String name = pd.getSParam(); - if ((!result.containsKey(name) || ObjectUtil.isEmpty(result.get(name))) + if ((!result.containsKey(name) + || ObjectUtil.isEmpty(result.get(name))) && ObjectUtil.isNotEmpty(pd.getSDefaultValue()) + && !"enum".equals(pd.getSType()) + && !"array".equals(pd.getSType()) ) { Object defaultValue = pd.getSDefaultValue(); result.put(name, defaultValue); -- libgit2 0.22.2