11wqe1 6 mēneši atpakaļ
vecāks
revīzija
0f609aa3cb
1 mainītis faili ar 64 papildinājumiem un 43 dzēšanām
  1. 64 43
      src/components/easy2/commpont/markDialog.vue

+ 64 - 43
src/components/easy2/commpont/markDialog.vue

@@ -8,7 +8,7 @@
           <div class="scoreTit">
           <div class="scoreTit">
             <div>任务得分</div>
             <div>任务得分</div>
             <div>
             <div>
-              <span style="color: rgba(54, 129, 252, 1);margin-right: 3px;">{{
+              <span style="color: #4380F8;margin-right: 3px;">{{
                 totalScore ? totalScore : 0
                 totalScore ? totalScore : 0
               }}</span
               }}</span
               >分
               >分
@@ -91,7 +91,7 @@
               @blur="submit"
               @blur="submit"
             >
             >
             </el-input>
             </el-input>
-            <!-- <div
+            <div
               v-if="
               v-if="
                 (currentUid.type == 1 ||
                 (currentUid.type == 1 ||
                   currentUid.type == 10 ||
                   currentUid.type == 10 ||
@@ -103,7 +103,7 @@
               @click="anewEva"
               @click="anewEva"
             >
             >
               重新生成
               重新生成
-            </div> -->
+            </div>
           </div>
           </div>
 
 
           <div
           <div
@@ -590,12 +590,11 @@ export default {
     this.selectSWorksData();
     this.selectSWorksData();
   },
   },
   methods: {
   methods: {
+    setZero(index){
+      console.log(index);
+      console.log('scoTitList',this.scoTitList);
+    },
     async anewEva() {
     async anewEva() {
-      // if (!this.textarea) {
-      //   return this.$message.info("请先进行AI评分获取评语~");
-      // }
-      // return console.log('this.scoTitList',this.scoTitList);
-
       this.ScLoading = true;
       this.ScLoading = true;
 
 
       let _fileid = "";
       let _fileid = "";
@@ -607,16 +606,16 @@ export default {
         _fileid = await this.createFileid(this.currentUid.content);
         _fileid = await this.createFileid(this.currentUid.content);
       }
       }
 
 
-      let sco = "";
+      let sco = ""; //分数
       this.scoTitList.forEach(e => {
       this.scoTitList.forEach(e => {
-        sco += `${e.detail}:${e.cog}星`;
+        sco += `${e.detail}:${e.cog}星`;
       });
       });
 
 
       let con = this.cuScoCon;
       let con = this.cuScoCon;
 
 
-      let std = "";
+      let std = ""; //维度
       let tit = [];
       let tit = [];
-      let laws = "";
+      let laws = ""; //细则
       if (this.tool.eList && this.tool.eList.length) {
       if (this.tool.eList && this.tool.eList.length) {
         tit = JSON.parse(JSON.stringify(this.tool.eList));
         tit = JSON.parse(JSON.stringify(this.tool.eList));
       } else {
       } else {
@@ -626,7 +625,7 @@ export default {
       if (this.tool.eList && this.tool.eList.length) {
       if (this.tool.eList && this.tool.eList.length) {
         for (let i = 0; i < this.tool.eList.length; i++) {
         for (let i = 0; i < this.tool.eList.length; i++) {
           if (this.tool.eList[i].isai == 1) {
           if (this.tool.eList[i].isai == 1) {
-            laws += `细则${i}:${this.tool.eList[i].rule}, \n`;
+            laws += `${this.tool.eList[i].rule}。 \n`;
           }
           }
         }
         }
         for (let i = 0; i < this.tool.eList.length; i++) {
         for (let i = 0; i < this.tool.eList.length; i++) {
@@ -639,21 +638,13 @@ export default {
             } else {
             } else {
               result = a;
               result = a;
             }
             }
-            std += `纬度${i}:“${result}”,  \n`;
+            std += `${result}。  \n`;
           }
           }
         }
         }
       } else {
       } else {
         for (let i = 0; i < tit.length; i++) {
         for (let i = 0; i < tit.length; i++) {
           if (tit[i].isai == 1) {
           if (tit[i].isai == 1) {
-            let a = tit[i].detail;
-            let result = "";
-
-            if (isNaN(parseFloat(a)) && a) {
-              result = a.match(/[\u4e00-\u9fa5a-zA-Z]+/g).join("");
-            } else {
-              result = a;
-            }
-            laws += ` 细则${i}:${tit[i].rule}, \n`;
+            laws += ` ${tit[i].rule}。 \n`;
           }
           }
         }
         }
         for (let i = 0; i < tit.length; i++) {
         for (let i = 0; i < tit.length; i++) {
@@ -666,7 +657,7 @@ export default {
             } else {
             } else {
               result = a;
               result = a;
             }
             }
-            std += `纬度${i}:“${result}”,  \n`;
+            std += `${result}。  \n`;
           }
           }
         }
         }
       }
       }
@@ -680,31 +671,33 @@ export default {
 
 
         #目标#
         #目标#
         你要结合<作业内容><评价标准>和该标准对应的<等级>写评语。
         你要结合<作业内容><评价标准>和该标准对应的<等级>写评语。
-        当作业内容与<评价细则>无关,或者缺乏原创性会被直接评为0星。此时你可以输出评语“==期待看到你自己的想法!必要时,可以请教老师哦~==”
+        当作业内容与评价细则无关,或者缺乏原创性会被直接评为0星。此时你可以输出评语“期待看到你自己的想法!必要时,可以请教老师哦~”
+        ${this.currentUid.type == 1 ? "提取图片内容进行评价" : ""}
       
       
           
           
         #评分资料#
         #评分资料#
         评价标准:${std}
         评价标准:${std}
+        评价细则:${laws}
         等级:${sco}
         等级:${sco}
         作业内容:${_fileid ? "上传的文件内容" : con}
         作业内容:${_fileid ? "上传的文件内容" : con}
 
 
 
 
         #输出要求#
         #输出要求#
         “评语”字数控制在150字左右,参考输出范例。
         “评语”字数控制在150字左右,参考输出范例。
-        只输出评价内容,不要输出其他无关内容
+        严格输出按照格式输出json格式。只输出json格式的内容,其他内容不要输出
         
         
           
           
         #输出格式#
         #输出格式#
-        ==
-        学生能够全面且正确地描述光合作用中氧气和葡萄糖的生成过程,涵盖光反应和暗反应的每个阶段和主要反应物及产物。同时,学生也能够全面、准确地解释氧气和葡萄糖在植物生命活动中的重要作用,并展示了对光合作用的深入理解。论文结构良好,内容详实,逻辑清晰,论据充分。
-        ==
+        [{'comment':'评语(150个汉字左右)'}]
+
 
 
         #输出范例#
         #输出范例#
-        学生能够全面且正确地描述光合作用中氧气和葡萄糖的生成过程,涵盖光反应和暗反应的每个阶段和主要反应物及产物。同时,学生也能够全面、准确地解释氧气和葡萄糖在植物生命活动中的重要作用,并展示了对光合作用的深入理解。论文结构良好,内容详实,逻辑清晰,论据充分。
+        [{'comment':'学生能够全面且正确地描述光合作用中氧气和葡萄糖的生成过程,涵盖光反应和暗反应的每个阶段和主要反应物及产物。同时,学生也能够全面、准确地解释氧气和葡萄糖在植物生命活动中的重要作用,并展示了对光合作用的深入理解。论文结构良好,内容详实,逻辑清晰,论据充分。'}]
         `;
         `;
+      // console.log("messages", messages);
 
 
       let params = {
       let params = {
-        assistant_id: "f8e1ebb2-2e0d-11ef-8bf4-12e77c4cb76b",
+        assistant_id: "6063369f-289a-11ef-8bf4-12e77c4cb76b",
         message: [
         message: [
           {
           {
             type: "text",
             type: "text",
@@ -722,17 +715,47 @@ export default {
         .then(response => {
         .then(response => {
           let data = response.data.FunctionResponse;
           let data = response.data.FunctionResponse;
           console.log("data", data);
           console.log("data", data);
-          // 找到第一个等号的位置
-          const startIndex = data.message.indexOf("==") + 2;
-          // 找到最后一个等号的位置
-          const endIndex = data.message.lastIndexOf("==");
+          if (data.message) {
+            let dArray = {};
+            try {
+              dArray = JSON.parse(
+                data.message.replaceAll("```json", "").replaceAll("```", "")
+              );
+            } catch (error) {
+              console.log("error_________________" + error);
+              try {
+                let regex = new RegExp("(?<=```json)([\\s\\S]*?)(?=```)");
 
 
-          // 提取中间的文字
-          const extractedText = data.message
-            .substring(startIndex, endIndex)
-            .trim();
+                let match = data.message.match(regex);
+                dArray = JSON.parse(
+                  match[0]
+                    .replace(/\n/g, "")
+                    .replace(/\s{2,}/g, "")
+                    .replace(/\'/g, '"')
+                );
+              } catch (error) {
+                try {
+                  dArray = JSON.parse(
+                    data.message
+                      .replaceAll("```json", "")
+                      .replaceAll("# Solution", "")
+                      .replaceAll("```", "")
+                      .replace(/\n/g, "")
+                      .replace(/\s{2,}/g, "")
+                      .replace(/\'/g, '"')
+                  );
+                } catch (error) {
+                  console.log("error_________________" + error);
 
 
-          this.textarea = extractedText;
+                  this.anewEva();
+                  return;
+                }
+                console.log("error_________________" + error);
+              }
+            }
+            console.log("dArray", dArray);
+            this.textarea = dArray[0].comment;
+          }
           this.submit()
           this.submit()
           this.$message.success("重新生成完成");
           this.$message.success("重新生成完成");
 
 
@@ -740,9 +763,7 @@ export default {
         })
         })
         .catch(error => {
         .catch(error => {
           this.ScLoading = false;
           this.ScLoading = false;
-
           this.$message.error("重新生成失败");
           this.$message.error("重新生成失败");
-
           console.log(error);
           console.log(error);
         });
         });
     },
     },
@@ -1906,7 +1927,7 @@ export default {
   right: 22px;
   right: 22px;
   color: #12b0ff;
   color: #12b0ff;
   cursor: pointer;
   cursor: pointer;
-  font-size: 16px;
+  font-size: 14px;
   transform: translate(0px, 2px);
   transform: translate(0px, 2px);
 }
 }
 </style>
 </style>