艺术评测的评语结构

develop
PL 4 months ago
parent bde76c5140
commit bdd19d81b7

@ -2,15 +2,18 @@ package cn.teammodel.model.dto.ai.comment;
import lombok.Data; import lombok.Data;
/**
*
*/
@Data @Data
public class artCommentsDto { public class ArtLatitudeDto {
public String quotaN1; public String quotaN1;
public String quotaN2; public String quotaN2;
public String quotaN3; public String quotaN3;
public int quotaP1; public int quotaP1;
public int quotaP2; public int quotaP2;
public int quotaP3; public int quotaP3;
public int scoreD;
public String percent; public String percent;
public String level; public String level;
} }

@ -0,0 +1,16 @@
package cn.teammodel.model.dto.ai.comment;
import lombok.Data;
/**
*
*/
@Data
public class ArtSubjectDto {
public String dimension;
public String block;
public String point;
public int score;
public int percent;
public int totalScore;
}

@ -1,22 +0,0 @@
package cn.teammodel.model.dto.ai.comment;
import lombok.Data;
import java.util.List;
@Data
public class artSubjectCommentsDto {
public String subjectName;
public List<PointPdfs> pointPdfs;
public static class PointPdfs{
public String dimension;
public String block;
public String point;
public String score;
public String percent;
public String totalScore;
}
}

@ -10,10 +10,7 @@ import cn.teammodel.common.ErrorCode;
import cn.teammodel.common.PK; import cn.teammodel.common.PK;
import cn.teammodel.config.exception.ServiceException; import cn.teammodel.config.exception.ServiceException;
import cn.teammodel.model.dto.ai.*; import cn.teammodel.model.dto.ai.*;
import cn.teammodel.model.dto.ai.comment.ChatCommentsDto; import cn.teammodel.model.dto.ai.comment.*;
import cn.teammodel.model.dto.ai.comment.WisdomCommentsDto;
import cn.teammodel.model.dto.ai.comment.WisdomExamCommentsDto;
import cn.teammodel.model.dto.ai.comment.WisdomSubjectComments;
import cn.teammodel.model.entity.ai.ChatApp; import cn.teammodel.model.entity.ai.ChatApp;
import cn.teammodel.repository.ChatAppRepository; import cn.teammodel.repository.ChatAppRepository;
import cn.teammodel.repository.ChatSessionRepository; import cn.teammodel.repository.ChatSessionRepository;
@ -21,10 +18,8 @@ import cn.teammodel.model.entity.User;
import cn.teammodel.model.entity.ai.ChatSession; import cn.teammodel.model.entity.ai.ChatSession;
import cn.teammodel.security.utils.SecurityUtil; import cn.teammodel.security.utils.SecurityUtil;
import cn.teammodel.service.ChatMessageService; import cn.teammodel.service.ChatMessageService;
import cn.teammodel.utils.FileUtil;
import cn.teammodel.utils.RepositoryUtil; import cn.teammodel.utils.RepositoryUtil;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.TypeReference; import com.alibaba.fastjson2.TypeReference;
import com.azure.cosmos.models.CosmosPatchOperations; import com.azure.cosmos.models.CosmosPatchOperations;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -34,11 +29,6 @@ import org.springframework.stereotype.Service;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.*;
import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.time.Instant; import java.time.Instant;
import java.util.*; import java.util.*;
@ -467,20 +457,65 @@ public class ChatMessageServiceImpl implements ChatMessageService {
break; break;
} }
//艺术 考核指标纬度评语 //艺术 考核指标纬度评语
case "artDimensions": case "artLatitude":{
builder.append("请按照以下格式回复:\n"); List<ArtLatitudeDto> artLatitudes;
builder.append("1. 艺术作品:\n"); try {
builder.append("2. 艺术作品说明:\n"); artLatitudes = JSON.parseObject(strData, new TypeReference<List<ArtLatitudeDto>>() {
builder.append("3. 艺术作品示例:\n"); });
builder.append("4. 艺术作品示例说明:\n"); } catch (Exception e) {
throw new ServiceException(ErrorCode.PARAMS_ERROR.getCode(), "请求参数异常");
}
if (artLatitudes.size() <= 1) {
if (artLatitudes.isEmpty()) {
throw new ServiceException(ErrorCode.PARAMS_ERROR.getCode(), "请求参数异常");
}
}
builder.append(finalChatModel.getChat());
for (ArtLatitudeDto artLatitude : artLatitudes)
{
builder.append(String.format(finalChatModel.getCycleChats().get(0), artLatitude.getQuotaN1(),artLatitude.getQuotaP1(), artLatitude.getQuotaN2(),artLatitude.getQuotaP2(), artLatitude.getQuotaN3(),artLatitude.getQuotaP3(), artLatitude.getPercent(),artLatitude.getLevel()));
}
builder.append(finalChatModel.getEnd());
break; break;
case "sport": }
//艺术 学科评语模版
case "artSubject":{
List<ArtSubjectDto> artSubjects;
try {
artSubjects = JSON.parseObject(strData, new TypeReference<List<ArtSubjectDto>>() {
});
} catch (Exception e) {
throw new ServiceException(ErrorCode.PARAMS_ERROR.getCode(), "请求参数异常");
}
if (artSubjects.size() <= 1) {
if (artSubjects.isEmpty()) {
throw new ServiceException(ErrorCode.PARAMS_ERROR.getCode(), "请求参数异常");
}
}
builder.append(finalChatModel.getChat());
for (ArtSubjectDto artSubject : artSubjects){
builder.append(String.format(finalChatModel.getCycleChats().get(0), artSubject.getDimension(),artSubject.getBlock(), artSubject.getPoint(),artSubject.getScore(), artSubject.getTotalScore(),artSubject.getPercent()));
}
builder.append(String.format(finalChatModel.getEnd(),chatCommentsDto.getSubject()));
break;
}
//体育
case "sport":{
builder.append("请按照以下格式回复:\n"); builder.append("请按照以下格式回复:\n");
builder.append("1. 运动作品:\n"); builder.append("1. 运动作品:\n");
builder.append("2. 运动作品说明:\n"); builder.append("2. 运动作品说明:\n");
builder.append("3. 运动作品示例:\n"); builder.append("3. 运动作品示例:\n");
builder.append("4. 运动作品示例说明:\n"); builder.append("4. 运动作品示例说明:\n");
break; break;
}
//德育
case "moral":{
builder.append(finalChatModel.getChat());
break;
}
default: default:
throw new ServiceException(ErrorCode.PARAMS_ERROR.getCode(), "评语类型异常"); throw new ServiceException(ErrorCode.PARAMS_ERROR.getCode(), "评语类型异常");
} }

@ -25,12 +25,20 @@
"end": "根据我提供的数据,对这%s次学科表现做一个整体的评价。 \n" "end": "根据我提供的数据,对这%s次学科表现做一个整体的评价。 \n"
}, },
{ {
"type": "artDimensions", "type": "artLatitude",
"name": "艺术 考核指标评语模版", "name": "艺术 考核指标评语模版",
"role": "请扮演[%s%s]老师角色\n ", "role": "请扮演[%s%s]老师角色\n ",
"chat": "考核指标评纬度\n", "chat": "考核指标评纬度\n",
"cycleChats": [" 指标:%s 、得分率:%s %% \n"], "cycleChats": [" 一级指标:%s %s %%);二级指标:%s %s %%);三级指标 %s %s %% ;得分率:%s %% 等级:%s\n"],
"end": "根据我提供的【考核指标纬度】做一个整体的评价。 \n" "end": "根据我提供的【考核指标纬度】做一个整体的评价。 \n"
},
{
"type": "artSubject",
"name": "艺术 学科评语模版",
"role": "请扮演[%s%s]老师角色\n ",
"chat": "%s学科\n",
"cycleChats": [" 考核纬度:%s一级知识点%s二级知识点 %s得分%s/%s 得分率:%s\n"],
"end": "根据我提供的【%s学科】的表现做一个整体的评价。 \n"
} }
] ]
} }

Loading…
Cancel
Save