|
@@ -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) {
|