feat: 图片水印+提示词精简+收起按钮
This commit is contained in:
+26
-53
@@ -354,71 +354,44 @@ async function callAiApi(imageBase64: string, rubric: string, config: { apiKey:
|
||||
deductions: string[]
|
||||
comment: string
|
||||
}> {
|
||||
const systemRole = `你是高校阅卷专家,严格按照评分标准逐项评分。你必须只输出JSON,严禁包含\`\`\`markdown代码块、\`\`\`json标记、注释、说明文字或任何其他非JSON内容。输出必须以{开头,以}结尾,且必须是合法的JSON。`
|
||||
const systemRole = `你是一名高校阅卷老师,根据评分标准和答案对学生答案评分。请输出JSON格式的结果。`
|
||||
|
||||
const hasRefImage = !!extras?.referenceAnswerImage
|
||||
|
||||
const prompt = hasRefImage
|
||||
? `${extras?.questionTitle ? `【题目】\n${extras.questionTitle}\n` : ''}【评分标准】
|
||||
${rubric || '无'}
|
||||
? `题目:${extras?.questionTitle || ''}
|
||||
评分标准:${rubric || '无'}
|
||||
参考答案:${extras?.referenceAnswer || '无'}
|
||||
满分:${extras?.maxScore ?? 100}
|
||||
|
||||
【参考答案】
|
||||
${extras?.referenceAnswer || '无'}
|
||||
图片1是标准答案,图片2是学生答案。
|
||||
请根据评分标准和标准答案(图片1)给学生答案(图片2)评分。
|
||||
|
||||
【满分】
|
||||
${extras?.maxScore ?? 100}
|
||||
评分规则:
|
||||
1. 逐项评分,各项得分之和不超过满分${extras?.maxScore ?? 100}
|
||||
2. 空白或无关答案给0分
|
||||
3. 部分正确酌情给分
|
||||
|
||||
图片1:标准答案
|
||||
图片2:学生答案
|
||||
请输出JSON:
|
||||
{"score":分数,"confidence":置信度0~1,"deductions":["扣分项"],"comment":"评语"}
|
||||
|
||||
请根据评分标准和标准答案(图片1)对学生答案(图片2)评分。
|
||||
只输出JSON,不要包含其他文字和markdown标记。`
|
||||
: `题目:${extras?.questionTitle || ''}
|
||||
评分标准:${rubric || '无'}
|
||||
参考答案:${extras?.referenceAnswer || '无'}
|
||||
满分:${extras?.maxScore ?? 100}
|
||||
|
||||
---
|
||||
图片是学生答案,请根据评分标准评分。
|
||||
|
||||
【评分规则】
|
||||
1. 根据评分标准中的各项指标逐项评分,每项给出得分和说明
|
||||
2. 各评分项得分之和不得超过满分${extras?.maxScore ?? 100}分
|
||||
3. 如果学生答案为空、空白或明显与题目无关,直接给0分
|
||||
4. 部分正确时按评分标准酌情给分
|
||||
评分规则:
|
||||
1. 逐项评分,各项得分之和不超过满分${extras?.maxScore ?? 100}
|
||||
2. 空白或无关答案给0分
|
||||
3. 部分正确酌情给分
|
||||
|
||||
【输出要求】
|
||||
你必须严格输出以下格式的纯JSON,严禁包含\`\`\`、\`\`\`json、markdown代码块、注释或任何说明文字。整个回复必须是合法的JSON对象,以{开始,以}结束:
|
||||
{
|
||||
"score": <总分>,
|
||||
"confidence": <置信度0~1>,
|
||||
"deductions": ["扣分项说明1", "扣分项说明2"],
|
||||
"comment": "总评语及逐项得分说明"
|
||||
}
|
||||
再次强调:只输出JSON,禁止任何其他内容。`
|
||||
: `${extras?.questionTitle ? `【题目】\n${extras.questionTitle}\n` : ''}【评分标准】
|
||||
${rubric || '无'}
|
||||
请输出JSON:
|
||||
{"score":分数,"confidence":置信度0~1,"deductions":["扣分项"],"comment":"评语"}
|
||||
|
||||
【参考答案】
|
||||
${extras?.referenceAnswer || '无'}
|
||||
|
||||
【满分】
|
||||
${extras?.maxScore ?? 100}
|
||||
|
||||
图片:学生答案
|
||||
请根据评分标准对学生答案评分。
|
||||
|
||||
---
|
||||
|
||||
【评分规则】
|
||||
1. 根据评分标准中的各项指标逐项评分,每项给出得分和说明
|
||||
2. 各评分项得分之和不得超过满分${extras?.maxScore ?? 100}分
|
||||
3. 如果学生答案为空、空白或明显与题目无关,直接给0分
|
||||
4. 部分正确时按评分标准酌情给分
|
||||
|
||||
【输出要求】
|
||||
你必须严格输出以下格式的纯JSON,严禁包含\`\`\`、\`\`\`json、markdown代码块、注释或任何说明文字。整个回复必须是合法的JSON对象,以{开始,以}结束:
|
||||
{
|
||||
"score": <总分>,
|
||||
"confidence": <置信度0~1>,
|
||||
"deductions": ["扣分项说明1", "扣分项说明2"],
|
||||
"comment": "总评语及逐项得分说明"
|
||||
}
|
||||
再次强调:只输出JSON,禁止任何其他内容。`
|
||||
只输出JSON,不要包含其他文字和markdown标记。`
|
||||
|
||||
const axios = require('axios')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user