|
@@ -7,6 +7,7 @@ import com.qmth.boot.core.ai.model.ocr.OcrType;
|
|
import com.qmth.boot.core.retrofit.utils.SignatureInfo;
|
|
import com.qmth.boot.core.retrofit.utils.SignatureInfo;
|
|
import com.qmth.boot.core.retrofit.utils.UploadFile;
|
|
import com.qmth.boot.core.retrofit.utils.UploadFile;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import javax.validation.constraints.NotNull;
|
|
import javax.validation.constraints.NotNull;
|
|
@@ -75,7 +76,7 @@ public class AiService {
|
|
* @param signature 使用当前机构AK作为鉴权信息
|
|
* @param signature 使用当前机构AK作为鉴权信息
|
|
* @return 得分率,保留最多三位小数;null表示无法获取判分结果
|
|
* @return 得分率,保留最多三位小数;null表示无法获取判分结果
|
|
*/
|
|
*/
|
|
- public Double autoScore(@NotNull AutoScoreRequest request, @NotNull SignatureInfo signature) {
|
|
|
|
|
|
+ public Double autoScore(@NotNull @Validated AutoScoreRequest request, @NotNull SignatureInfo signature) {
|
|
ChatResult result = llmApiClient.chatTemplate(signature, LlmAppType.AUTO_SCORE, request);
|
|
ChatResult result = llmApiClient.chatTemplate(signature, LlmAppType.AUTO_SCORE, request);
|
|
String text = result.getChoices().stream().filter(choice -> choice.getMessage().getRole() == ChatRole.assistant)
|
|
String text = result.getChoices().stream().filter(choice -> choice.getMessage().getRole() == ChatRole.assistant)
|
|
.map(choice -> choice.getMessage().getContent()).findFirst().orElse("");
|
|
.map(choice -> choice.getMessage().getContent()).findFirst().orElse("");
|
|
@@ -96,7 +97,7 @@ public class AiService {
|
|
* @param signature 使用当前机构AK作为鉴权信息
|
|
* @param signature 使用当前机构AK作为鉴权信息
|
|
* @return 得分率,保留最多三位小数;null表示无法获取判分结果
|
|
* @return 得分率,保留最多三位小数;null表示无法获取判分结果
|
|
*/
|
|
*/
|
|
- public Double autoScore(@NotNull AutoScoreRequest request, @NotNull byte[] image,
|
|
|
|
|
|
+ public Double autoScore(@NotNull @Validated AutoScoreRequest request, @NotNull byte[] image,
|
|
@NotNull SignatureInfo signature) {
|
|
@NotNull SignatureInfo signature) {
|
|
request.setStudentAnswer(
|
|
request.setStudentAnswer(
|
|
ocrApiClient.forImage(signature, OcrType.HANDWRITING, UploadFile.build("image", "", image)));
|
|
ocrApiClient.forImage(signature, OcrType.HANDWRITING, UploadFile.build("image", "", image)));
|