From 47fc68b2894ee24d6b98675f98829e648b42ace8 Mon Sep 17 00:00:00 2001 From: TangCheng <tangchengmail@163.com> Date: 星期四, 24 四月 2025 18:25:15 +0800 Subject: [PATCH] 开发中 --- JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/qwen/agent/SMTQwenAgentJavascript.java | 65 +++++++++++++++++++------------- 1 files changed, 39 insertions(+), 26 deletions(-) diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/qwen/agent/SMTQwenAgentJavascript.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/qwen/agent/SMTQwenAgentJavascript.java index 7c039ae..5c98ef5 100644 --- a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/qwen/agent/SMTQwenAgentJavascript.java +++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/qwen/agent/SMTQwenAgentJavascript.java @@ -58,39 +58,52 @@ @Override public SMTJavaAIError callAgents(String jsonPath, Json jsonArgs, SMTLLMConnect llm, String question, SMTAIServerRequest tranReq) throws Exception { - - // 鍒嗘瀽鐢熸垚js浠g爜 - String jsCode = llm.callWithMessage(new String[] {_prompt}, question, tranReq).replace("\r", ""); - tranReq.traceLLMDebug(jsCode); - jsCode = SMTStatic.convLLMAnswerToJavascript(jsCode); - jsCode = "function ffffff(){" + jsCode + "};ffffff();"; - //String jsCode = "var arr = testRS(); var l = arr[0]; for(var i in arr){}"; - - try(ASTDBMap dbMap = new ASTDBMap()) + int maxCount = 1; + + // 澶辫触鏈�澶氬皾璇�3娆� + for(int j = 1; j <= maxCount; j ++) { - // 鎵ц鑴氭湰 - SMTQwenAgentScriptJet scriptJet = new SMTQwenAgentScriptJet(jsonArgs, dbMap, tranReq); - try + // 鍒嗘瀽鐢熸垚js浠g爜 + String jsCode = llm.callWithMessage(new String[] {_prompt}, question, tranReq).replace("\r", ""); + tranReq.traceLLMDebug(jsCode); + jsCode = SMTStatic.convLLMAnswerToJavascript(jsCode); + jsCode = "function ffffff(){" + jsCode + "};ffffff();"; + //String jsCode = "var arr = testRS(); var l = arr[0]; for(var i in arr){}"; + + try(ASTDBMap dbMap = new ASTDBMap()) { - Context cx = scriptJet.entryContext(); + // 鎵ц鑴氭湰 + SMTQwenAgentScriptJet scriptJet = new SMTQwenAgentScriptJet(jsonArgs, dbMap, tranReq); try { - scriptJet.executeScript(cx, jsCode); + Context cx = scriptJet.entryContext(); + try + { + scriptJet.executeScript(cx, jsCode); + break; + } + finally + { + Context.exit(); + } } - finally + catch(Exception ex) { - Context.exit(); + StringBuilder sbCode = new StringBuilder(); + String[] lines = jsCode.replace("\r", "").split("\n"); + for(int i = 0; i < lines.length; i ++) + { + sbCode.append(String.format("%04d %s", i + 1, lines[i]) + "\n"); + _logger.fatal(String.format("%04d %s", i + 1, lines[i])); + } + + tranReq.sendChunkedBlock("begin", "瑙f瀽澶辫触(" + ex.getMessage() + "),閲嶆柊瑙f瀽"); + + if(j < maxCount) + _logger.fatal("execute js agent error : " + this.getAgentId() + "\n" + sbCode, ex); + else + throw new Exception("execute js agent error : " + this.getAgentId() + "\n" + sbCode + "\n" + SMTStatic.toString(ex)); } - } - catch(Exception ex) - { - String[] lines = jsCode.replace("\r", "").split("\n"); - for(int i = 0; i < lines.length; i ++) - { - _logger.fatal(String.format("%04d %s", i + 1, lines[i])); - } - - throw new Exception("execute js agent error : " + this.getAgentId() + "\n" + SMTStatic.toString(ex)); } } return null; -- Gitblit v1.9.3