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