Browse Source

core-ai Deprecated api

deason 1 month ago
parent
commit
f3ea196ae0

+ 14 - 13
core-ai/src/main/java/com/qmth/boot/core/ai/client/LlmApiClient.java

@@ -23,7 +23,7 @@ public interface LlmApiClient {
      * @param baseUrl   接口前缀地址,默认取配置文件的值(选填)
      * @param signature 使用机构AK构造Secret类型签名
      * @param type      大模型应用类型
-     * @param param     模版变量
+     * @param param     提示词模版变量参数
      * @return
      */
     @POST(AiConstants.LLM_CHAT_ENDPOINT_PATH)
@@ -32,32 +32,33 @@ public interface LlmApiClient {
                               @Body Object param);
 
     /**
-     * 大模型chat类型请求
+     * 调用大模型chat类型请求(预设提示词模版)
      *
      * @param baseUrl   接口前缀地址,默认取配置文件的值(选填)
      * @param signature 使用机构AK构造Secret类型签名
      * @param type      大模型应用类型
-     * @param request   标准chat请求对象
+     * @param param     提示词模版变量参数
      * @return
      */
-    @POST(AiConstants.LLM_CHAT_PATH)
-    ChatResult chat(@Header(AiConstants.BASE_URL) String baseUrl, @Tag SignatureInfo signature,
-                    @Header(AiConstants.LLM_APP_TYPE) LlmAppType type,
-                    @Body ChatRequest request);
+    @POST(AiConstants.LLM_CHAT_TEMPLATE_PATH)
+    ChatResult chatTemplate(@Header(AiConstants.BASE_URL) String baseUrl, @Tag SignatureInfo signature,
+                            @Header(AiConstants.LLM_APP_TYPE) LlmAppType type,
+                            @Body Object param);
 
     /**
-     * 基于Prompt模版的大模型chat类型请求
+     * 调用大模型chat类型请求(自定义提示词模版)
      *
      * @param baseUrl   接口前缀地址,默认取配置文件的值(选填)
      * @param signature 使用机构AK构造Secret类型签名
      * @param type      大模型应用类型
-     * @param param     模版变量
+     * @param request   自定义提示词请求对象
      * @return
      */
-    @POST(AiConstants.LLM_CHAT_TEMPLATE_PATH)
-    ChatResult chatTemplate(@Header(AiConstants.BASE_URL) String baseUrl, @Tag SignatureInfo signature,
-                            @Header(AiConstants.LLM_APP_TYPE) LlmAppType type,
-                            @Body Object param);
+    @Deprecated
+    @POST(AiConstants.LLM_CHAT_PATH)
+    ChatResult chat(@Header(AiConstants.BASE_URL) String baseUrl, @Tag SignatureInfo signature,
+                    @Header(AiConstants.LLM_APP_TYPE) LlmAppType type,
+                    @Body ChatRequest request);
 
     /**
      * 大模型接口余额查询

+ 6 - 20
core-ai/src/main/java/com/qmth/boot/core/ai/service/AiService.java

@@ -1,7 +1,10 @@
 package com.qmth.boot.core.ai.service;
 
 import com.qmth.boot.core.ai.client.LlmApiClient;
-import com.qmth.boot.core.ai.model.llm.*;
+import com.qmth.boot.core.ai.model.llm.ChatResult;
+import com.qmth.boot.core.ai.model.llm.ChatRole;
+import com.qmth.boot.core.ai.model.llm.LlmAppBalance;
+import com.qmth.boot.core.ai.model.llm.LlmAppType;
 import com.qmth.boot.core.ai.model.llm.score.AutoScoreModel;
 import com.qmth.boot.core.ai.model.llm.score.AutoScoreRequest;
 import com.qmth.boot.core.ai.model.llm.score.AutoScoreResult;
@@ -19,7 +22,6 @@ import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.List;
-import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -28,8 +30,6 @@ import java.util.stream.Collectors;
 @Service
 public class AiService {
 
-    private static final Pattern score_pattern = Pattern.compile("[^\\d]*(\\d+)[^\\d]*");
-
     private static final Logger log = LoggerFactory.getLogger(AiService.class);
 
     @Resource
@@ -47,26 +47,12 @@ public class AiService {
         return llmApiClient.getBalance(baseUrl, signature, appType);
     }
 
-    /**
-     * 使用自定义提示词进行自动命题
-     *
-     * @param baseUrl   接口前缀地址,默认取配置文件的值(选填)
-     * @param signature 使用当前机构AK作为鉴权信息
-     * @param request   大模型通用Chat请求
-     * @return 大模型返回的文本集合
-     */
-    public List<String> autoGenerateQuestion(String baseUrl, @NotNull SignatureInfo signature, @NotNull ChatRequest request) {
-        ChatResult result = llmApiClient.chat(baseUrl, signature, LlmAppType.AUTO_GENERATE_QUESTION, request);
-        return result.getChoices().stream().filter(choice -> choice.getMessage().getRole() == ChatRole.assistant)
-                .map(choice -> choice.getMessage().getContent()).collect(Collectors.toList());
-    }
-
     /**
      * 使用预设模版进行自动命题
      *
      * @param baseUrl   接口前缀地址,默认取配置文件的值(选填)
      * @param signature 使用当前机构AK作为鉴权信息
-     * @param param     基于预设模版的参数对象,可以使用Map或自定义Object
+     * @param param     基于预设提示词模版的参数对象,可以使用Map或自定义Object
      * @return 大模型返回的文本集合
      */
     public List<String> autoGenerateQuestion(String baseUrl, @NotNull SignatureInfo signature, @NotNull Object param) {
@@ -80,7 +66,7 @@ public class AiService {
      *
      * @param baseUrl   接口前缀地址,默认取配置文件的值(选填)
      * @param signature 使用当前机构AK作为鉴权信息
-     * @param request   自动判分请求参数
+     * @param request   基于预设提示词模版的参数对象
      * @return 判分结果;null表示无法获取判分结果
      */
     public AutoScoreResult autoScore(String baseUrl, @NotNull SignatureInfo signature, @NotNull @Validated AutoScoreRequest request) {