From 4510a9b0d7c22fbcb3a8b7cc99b948e262e6a759 Mon Sep 17 00:00:00 2001 From: TangCheng <tangchengmail@163.com> Date: 星期一, 10 三月 2025 19:00:17 +0800 Subject: [PATCH] 添加调用大模型接口 --- JAVA/SMTAIServer/src/main/resources/requestmap/java_ai.json | 14 ++++++++++++++ JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTJavaAIControl.java | 34 ++++++++++++++++++++++++++++++++++ JAVA/SMTAIServer/src/main/resources/requestmap/server_api.json | 2 +- 3 files changed, 49 insertions(+), 1 deletions(-) diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTJavaAIControl.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTJavaAIControl.java index 143c5ba..2458ca6 100644 --- a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTJavaAIControl.java +++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTJavaAIControl.java @@ -1296,4 +1296,38 @@ return tranReq.returnJson(jsonWr); } + + public ModelAndView callLLM(SMTAIServerRequest tranReq) throws Exception + { + String llmId = tranReq.convParamToString("llm_id", false); + Json jsonSystems = tranReq.convParamToJson("system_json", false); + String question = tranReq.convParamToString("question", true); + boolean answerIsJson = tranReq.convParamToBoolean("answer_is_json", true); + + + SMTJsonWriter jsonWr = tranReq.newReturnJsonWriter(true, null, null); + SMTLLMConnect conn = SMTAIServerApp.getApp().allocLLMConnect(llmId); + + List<String> listSystem = new ArrayList<>(); + + if(jsonSystems != null) + { + for(Json jsonSystem : jsonSystems.asJsonList()) + { + listSystem.add(jsonSystem.asString()); + } + } + + String answer = conn.callWithMessage(listSystem, question, tranReq); + if(answerIsJson) + { + jsonWr.addKeyRaw("answer", SMTStatic.convLLMAnswerToJson(answer, false)); + } + else + { + jsonWr.addKeyValue("answer", answer); + } + + return tranReq.returnJson(jsonWr); + } } diff --git a/JAVA/SMTAIServer/src/main/resources/requestmap/java_ai.json b/JAVA/SMTAIServer/src/main/resources/requestmap/java_ai.json index e089b5c..427d350 100644 --- a/JAVA/SMTAIServer/src/main/resources/requestmap/java_ai.json +++ b/JAVA/SMTAIServer/src/main/resources/requestmap/java_ai.json @@ -344,5 +344,19 @@ ] } ] + }, + + "llm/call_llm":{"map":{"class":"#SMTJavaAIControl", "method":"callLLM"}, "no_shrio":true, + "swaggers":[ + { "tags" : ["澶фā鍨嬫搷浣�"], + "title" : "鐩存帴璇㈤棶澶фā鍨�", + "parameters" : [ + {"name":"llm_id", "title":"鏌ヨ妯″瀷id(涓嶅~鍒欒皟鐢ㄧ己鐪佹ā鍨�)", "required":false}, + {"name":"system_json", "title":"鎻愮ずjson鏁扮粍 [鈥橀棶棰�1鈥�,鈥橀棶棰�2鈥�...] ", "required":false}, + {"name":"question", "title":"鐢ㄦ埛闂", "required":true}, + {"name":"answer_is_json", "title":"鍥炵瓟闂鏍煎紡鏄惁鏄痡son", "required":true} + ] + } + ] } } \ No newline at end of file diff --git a/JAVA/SMTAIServer/src/main/resources/requestmap/server_api.json b/JAVA/SMTAIServer/src/main/resources/requestmap/server_api.json index 4f73c9d..b076eaa 100644 --- a/JAVA/SMTAIServer/src/main/resources/requestmap/server_api.json +++ b/JAVA/SMTAIServer/src/main/resources/requestmap/server_api.json @@ -9,7 +9,7 @@ "swagger-resources":{"map":{"class":"#AIServerControl", "method":"swaggerResource", "no_shrio":true} }, - "v2/api-docs":{"map":{"class":"#AIServerControl", "method":"swaggerDocs", "no_shrio":true} + "v2/api-docs":{"map":{"class":"#AIServerControl", "method":"swaggerDocs"}, "no_shrio":true }, "swagger-json":{"map":{"class":"#AIServerControl", "method":"getSwaggerJson"}, -- Gitblit v1.9.3