Explorar o código

core-ai autoScore 支持按得分点、按档次给分两种模式

deason hai 2 meses
pai
achega
cb85c91a24

+ 0 - 96
core-ai/src/main/java/com/qmth/boot/core/ai/model/llm/AutoScoreRequest.java

@@ -1,96 +0,0 @@
-package com.qmth.boot.core.ai.model.llm;
-
-import org.springframework.validation.annotation.Validated;
-
-import javax.validation.Valid;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 自动判分请求参数
- */
-@Validated
-public class AutoScoreRequest {
-
-    @NotBlank(message = "科目名称不能为空")
-    private String subjectName;
-
-    @NotBlank(message = "试题内容不能为空")
-    private String questionBody;
-
-    @NotNull(message = "标答不能为空")
-    @Size(min = 1, message = "标答不能为空")
-    @Valid
-    private List<StandardAnswer> standardAnswer = new ArrayList<>();
-
-    @NotNull(message = "考生回答不能为空")
-    private String studentAnswer;
-
-    private double totalScore;
-
-    private double intervalScore = 1;
-
-    public String getSubjectName() {
-        return subjectName;
-    }
-
-    public void setSubjectName(String subjectName) {
-        this.subjectName = subjectName;
-    }
-
-    public String getQuestionBody() {
-        return questionBody;
-    }
-
-    public void setQuestionBody(String questionBody) {
-        this.questionBody = questionBody;
-    }
-
-    public List<StandardAnswer> getStandardAnswer() {
-        return standardAnswer;
-    }
-
-    public void setStandardAnswer(List<StandardAnswer> standardAnswer) {
-        this.standardAnswer = standardAnswer;
-    }
-
-    /**
-     * 增加标答内容及分值
-     *
-     * @param content 文本内容
-     * @param score   格式化后的分数字符串
-     */
-    public void addStandardAnswer(@NotNull String content, @NotNull double score) {
-        StandardAnswer answer = new StandardAnswer();
-        answer.setContent(content);
-        answer.setScore(score);
-        this.standardAnswer.add(answer);
-    }
-
-    public String getStudentAnswer() {
-        return studentAnswer;
-    }
-
-    public void setStudentAnswer(String studentAnswer) {
-        this.studentAnswer = studentAnswer;
-    }
-
-    public double getTotalScore() {
-        return totalScore;
-    }
-
-    public void setTotalScore(double totalScore) {
-        this.totalScore = totalScore;
-    }
-
-    public double getIntervalScore() {
-        return intervalScore;
-    }
-
-    public void setIntervalScore(double intervalScore) {
-        this.intervalScore = intervalScore;
-    }
-}

+ 0 - 24
core-ai/src/main/java/com/qmth/boot/core/ai/model/llm/AutoScoreResult.java

@@ -1,24 +0,0 @@
-package com.qmth.boot.core.ai.model.llm;
-
-public class AutoScoreResult {
-
-    private double totalScore;
-
-    private double[] stepScore;
-
-    public double getTotalScore() {
-        return totalScore;
-    }
-
-    public void setTotalScore(double totalScore) {
-        this.totalScore = totalScore;
-    }
-
-    public double[] getStepScore() {
-        return stepScore;
-    }
-
-    public void setStepScore(double[] stepScore) {
-        this.stepScore = stepScore;
-    }
-}

+ 0 - 33
core-ai/src/main/java/com/qmth/boot/core/ai/model/llm/StandardAnswer.java

@@ -1,33 +0,0 @@
-package com.qmth.boot.core.ai.model.llm;
-
-import org.springframework.validation.annotation.Validated;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * 自动评分应用中按得分点构造的标答
- */
-@Validated
-public class StandardAnswer {
-
-    @NotNull(message = "标答不能为空")
-    private String content;
-
-    private double score;
-
-    public String getContent() {
-        return content;
-    }
-
-    public void setContent(String content) {
-        this.content = content;
-    }
-
-    public double getScore() {
-        return score;
-    }
-
-    public void setScore(double score) {
-        this.score = score;
-    }
-}

+ 3 - 0
core-ai/src/main/java/com/qmth/boot/core/ai/service/AiService.java

@@ -2,6 +2,8 @@ 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.score.AutoScoreRequest;
+import com.qmth.boot.core.ai.model.llm.score.AutoScoreResult;
 import com.qmth.boot.core.retrofit.utils.SignatureInfo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
@@ -103,4 +105,5 @@ public class AiService {
     private static int getDecimalPlaces(double value) {
         return Math.max(0, BigDecimal.valueOf(value).stripTrailingZeros().scale());
     }
+
 }