Переглянути джерело

[core-ai]新增baseUrl接口前缀地址参数,不传默认取配置文件的值

deason 1 місяць тому
батько
коміт
e92c5eaec8

+ 16 - 12
ai-api-demo/src/test/java/com/qmth/boot/ai/api/demo/test/AiApiDemoTest.java

@@ -40,12 +40,16 @@ public class AiApiDemoTest {
 
     private SignatureInfo secret;
 
+    private String baseUrl;
+
     @Before
     public void init() {
-        // String accessKey = "41a9c68b71c9486db62de90980bd7e9a";
-        // String accessSecret = "yhe22bNXMRljatkvJA4f56by9dIAJBjv";
-        String accessKey = "ce38d020b3e14badb73026b2a376cafc";
-        String accessSecret = "bRtNV77TrhyP32AL8tG2C9wTLrO3yyRj";
+        // baseUrl = "https://solar.qmth.com.cn";
+        // baseUrl = "http://192.168.10.83:8090";
+        // baseUrl = "http://localhost:8090";
+
+        String accessKey = "41a9c68b71c9486db62de90980bd7e9a";
+        String accessSecret = "yhe22bNXMRljatkvJA4f56by9dIAJBjv";
         secret = SignatureInfo.secret(accessKey, accessSecret);
     }
 
@@ -61,8 +65,8 @@ public class AiApiDemoTest {
     }
 
     private void getLlmBalance() throws Exception {
-        LlmAppBalance result = aiService.getLlmBalance(LlmAppType.AUTO_SCORE, secret);
-        // LlmAppBalance result = llmApiClient.getBalance(secret, LlmAppType.AUTO_SCORE);
+        LlmAppBalance result = aiService.getLlmBalance(baseUrl, secret, LlmAppType.AUTO_SCORE);
+        // LlmAppBalance result = llmApiClient.getBalance(baseUrl, secret, LlmAppType.AUTO_SCORE);
         System.out.println(new JsonMapper().writeValueAsString(result));
     }
 
@@ -75,7 +79,7 @@ public class AiApiDemoTest {
             put("knowledgeNotes", "作者");
         }};
 
-        List<String> result = aiService.autoGenerateQuestion(param, secret);
+        List<String> result = aiService.autoGenerateQuestion(baseUrl, secret, param);
         System.out.println(new JsonMapper().writeValueAsString(result));
     }
 
@@ -97,7 +101,7 @@ public class AiApiDemoTest {
         // request.addStandardAnswer("《望庐山瀑布》", 0, 5);
         // request.addStandardAnswer("《静夜思》《望庐山瀑布》", 6, 10);
 
-        AutoScoreResult result = aiService.autoScore(request, secret);
+        AutoScoreResult result = aiService.autoScore(baseUrl, secret, request);
         System.out.println(new JsonMapper().writeValueAsString(result));
     }
 
@@ -105,7 +109,7 @@ public class AiApiDemoTest {
         ChatRequest request = new ChatRequest();
         request.addMessage(ChatRole.user, "请输出1加1等于几?");
 
-        ChatResult result = llmApiClient.chat(secret, LlmAppType.AUTO_SCORE, request);
+        ChatResult result = llmApiClient.chat(baseUrl, secret, LlmAppType.AUTO_SCORE, request);
         List<String> values = result.getChoices().stream().filter(choice -> choice.getMessage().getRole() == ChatRole.assistant)
                 .map(choice -> choice.getMessage().getContent()).collect(Collectors.toList());
         System.out.println(new JsonMapper().writeValueAsString(values));
@@ -120,12 +124,12 @@ public class AiApiDemoTest {
             put("knowledgeNotes", "作者");
         }};
 
-        ChatResult result = llmApiClient.chatTemplate(secret, LlmAppType.AUTO_GENERATE_QUESTION, param);
+        ChatResult result = llmApiClient.chatTemplate(baseUrl, secret, LlmAppType.AUTO_GENERATE_QUESTION, param);
         System.out.println(new JsonMapper().writeValueAsString(result));
     }
 
     private void getPromptTemplate() throws Exception {
-        PromptTemplate result = llmApiClient.getPromptTemplate(secret, LlmAppType.AUTO_SCORE);
+        PromptTemplate result = llmApiClient.getPromptTemplate(baseUrl, secret, LlmAppType.AUTO_SCORE);
         System.out.println(new JsonMapper().writeValueAsString(result));
     }
 
@@ -133,7 +137,7 @@ public class AiApiDemoTest {
         File file = new File("D:\\home\\test.png");
         MultipartBody.Part part = UploadFile.build("image", file.getName(), file);
 
-        String result = ocrApiClient.forImage(secret, OcrType.HANDWRITING, part);
+        String result = ocrApiClient.forImage(baseUrl, secret, OcrType.HANDWRITING, part);
         System.out.println(result);
     }
 

+ 5 - 5
api-demo/src/main/java/com/qmth/demo/api/controller/AiController.java

@@ -2,8 +2,8 @@ package com.qmth.demo.api.controller;
 
 import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.boot.core.ai.model.llm.score.AutoScoreRequest;
 import com.qmth.boot.core.ai.model.llm.LlmAppType;
+import com.qmth.boot.core.ai.model.llm.score.AutoScoreRequest;
 import com.qmth.boot.core.ai.service.AiService;
 import com.qmth.boot.core.retrofit.utils.SignatureInfo;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -24,22 +24,22 @@ public class AiController {
 
     @RequestMapping("/balance")
     public Object getBalance(@RequestParam LlmAppType appType, @RequestParam String accessKey) {
-        return aiService.getLlmBalance(appType, SignatureInfo.secret(accessKey, ""));
+        return aiService.getLlmBalance(null, SignatureInfo.secret(accessKey, ""), appType);
     }
 
     @RequestMapping("/auto_generate_question")
     public Object autoGenerateQuestion(@RequestParam String accessKey, @RequestParam String subjectName,
-            @RequestParam String questionType) {
+                                       @RequestParam String questionType) {
         Map<String, Object> param = new HashMap<String, Object>() {{
             put("subjectName", subjectName);
             put("questionType", questionType);
         }};
-        return aiService.autoGenerateQuestion(param, SignatureInfo.secret(accessKey, ""));
+        return aiService.autoGenerateQuestion(null, SignatureInfo.secret(accessKey, ""), param);
     }
 
     @RequestMapping("/auto_score")
     public Object autoScore(@RequestParam String accessKey, AutoScoreRequest request) {
-        return aiService.autoScore(request, SignatureInfo.secret(accessKey, ""));
+        return aiService.autoScore(null, SignatureInfo.secret(accessKey, ""), request);
     }
 
 }