lsc 1 年之前
父節點
當前提交
933320a44d

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.8c77febf016623e80ed4a5aab12c1bb4.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.571c38d63f24b1ae9e16.js></script><script type=text/javascript src=./static/js/vendor.d5f0d79dbb0d92c052d4.js></script><script type=text/javascript src=./static/js/app.cea238dc2dcf10b4316c.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.23005539145db8456d0ed89f4c8e3cc5.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.571c38d63f24b1ae9e16.js></script><script type=text/javascript src=./static/js/vendor.d5f0d79dbb0d92c052d4.js></script><script type=text/javascript src=./static/js/app.a2298b8b3883c9abaa8f.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.23005539145db8456d0ed89f4c8e3cc5.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.23005539145db8456d0ed89f4c8e3cc5.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.a2298b8b3883c9abaa8f.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.a2298b8b3883c9abaa8f.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/manifest.571c38d63f24b1ae9e16.js.map


+ 49 - 27
src/components/pages/aiAddCourse/addCourse.vue

@@ -13205,7 +13205,7 @@ export default {
       }
       this.dialogVisibleAiD = true
     },
-    aiConfirm(msg) {
+    async aiConfirm(msg) {
       let sub = []
       if (this.courseTypeId.length) {
         for (var i = 0; i < this.courseTypeId.length; i++) {
@@ -13241,7 +13241,7 @@ export default {
 // ${this.getListClassC(this.checkboxList2) ?  '班级:' + this.getListClassC(this.checkboxList2) : "无"}
 // ${this.infoData.length ? '使用文件检索的方式完整的去分析文件内容,并请完全按照要求输出。' : ''}
         let message = `NOTICE
-Role: 作为学生的学习指导Agent,你熟悉熟悉PBL(基于问题的学习)和5EX教学模型,能够根据学生的学情数据(当前的学习任务设计、学习表现数据、作业数据等)生成自适应的学习任务和对应的5道考核题目
+Role: 你是创建课程的老师,可以利用file_search的方式完整的去分析文件内容(注:如果文件内容里面不包含需要检索的内容,就不引用文件内容),并生成需要的JSON数据
 Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
 ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
 Instruction: Based on the context, follow "Format example", write content.
@@ -13267,30 +13267,45 @@ ${this.templatePan.includes(this.templateid) ? '课程时长:'+this.courseTime
         })
       } else if (this.aitype == "aiTask") {
         var _text = ""
-        for (var i = 0; i < this.teacherText.length; i++) {
-          _text += `任务名称:${this.teacherText[i].task} 教案:${this.teacherText[i].detail.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','')}`
-        }//${this.infoData.length ? '使用文件检索的方式完整的去分析文件内容,并请完全按照要求输出。' : ''}
+        for (var i = 0; i < this.unitJson[0].chapterInfo[0].taskJson.length; i++) {
+          _text += `任务名称:${this.unitJson[0].chapterInfo[0].taskJson[i].task} 任务描述:${this.unitJson[0].chapterInfo[0].taskJson[i].taskDetail2.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','')} \n`
+        }
         let message = `NOTICE
-Role: 作为学生的学习指导Agent,你熟悉熟悉PBL(基于问题的学习)和5EX教学模型,能够根据学生的学情数据(当前的学习任务设计、学习表现数据、作业数据等)生成自适应的学习任务和对应的5道考核题目
+Role: 你是创建课程的老师,可以利用file_search的方式完整的去分析文件内容(注:如果文件内容里面不包含需要检索的内容,就不引用文件内容),并生成需要的JSON数据
 Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
 ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
 Instruction: Based on the context, follow "Format example", write content.
 
 # Context
 ## 要求
-${msg} 以及#教学任务教案 内容要求参考#格式要求
-
-## 教学任务教案
-${_text}
-
+${msg} 为**每个教学任务分别输出**以下内容。
 ${this.templateid == "4480d65a-1e48-11ef-bee5-005056b86db5" ? '#目标层\n'+this.cpote.cpote3.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','')+'\n\n#任务簇\n'+this.cpote.cpote4.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','') : ''}
 
-## 格式要求
-任务数量:${this.teacherText.length}个
-任务描述:用老师的身份以友好,但是又清晰明确的口吻来撰写该描述,该描述教师给与学生的指示(用于指导学生如何进行每个教学活动),对应到学生活动
-评价标准:至少3条评价标准,这个评价是教师用来评价学生表现的,需要包含评价维度,以及该维度中教师期待学生的表现,句式为学生应该能....
-工具名:从工具列表中选择0~2个工具用于学生阶段性成果提交:工具列表:电子白板,文档,思维导图,表格,作业提交,问答,选择题,只在这几个工具里选
-工具描述:用同学的方式以友好亲切,明确的口吻告诉学生该如何使用该工具
+## 输出格式与要求
+•任务名:
+•任务描述:该描述是教师给与学生的指示(用于指导学生如何进行每个教学活动),对应到学生活动,你应该用友好,但是又清晰明确的口吻来撰写。
+•评价标准:至少3条评价标准,这个评价是教师用来评价学生表现的,需要包含评价维度,以及该维度中教师期待学生的表现,句式为学生应该能....
+•平台工具:
+•工具名:**从工具列表**中选择0~2个工具用于学生阶段性成果提交:工具列表:[电子白板,文档,思维导图,表格,作业提交,调查问卷,问答,排序,选择匹配题,个人评价,英语写作,英语口语]
+•工具指引:以友好,明确的口吻告诉学生该如何使用该工具
+
+## 参考资料
+教学任务教案:${_text}
+## 示例
+任务一:探究热的传递方式
+•描述:亲爱的同学们,今天我们将一起探索热是如何在不同的环境中传递的。我们将通过一系列有趣的实验来观察热在水中的传递过程。请大家准备好实验材料,并确保遵循安全指南。我们将使用感温粉末或红墨水来帮助我们直观地看到热是如何在水中移动的。在实验过程中,请大家仔细观察并记录你的发现,我们将一起讨论热对流是如何形成的。不要忘记,实验后我们要分享我们的观察结果,并探讨热对流在我们生活中的应用。让我们一起揭开热传递的神秘面纱吧!
+工具:
+•工具1名称:作业提交
+•工具1指引:在工作单里详细记录你的实验步骤、观察到的现象以及你的分析和结论。请确保包含实验的目的、使用的材料、实验过程的描述和结果的解释。
+•工具2名称:问答
+•工具2指引:通过问答工具回答与热的传递方式相关的问题,以检验你对教学内容的理解和掌握程度。请仔细阅读每个问题,并给出准确的答案。
+## 评价维度
+•实验设计和执行能力:学生应能够独立设计实验,清晰地描述实验步骤,并准确执行实验过程。
+•观察和记录技能:学生需要展示在实验中对热传递现象的观察能力,并能够详细记录实验数据和现象。
+•分析和解释能力:学生应能够对实验结果进行分析,解释热对流的形成原理,并能将实验结果与理论知识相联系。
 
 # Format example
 [{"detail":"面向学生的任务描述","elist":[{"value":"评价名字1","detail":"评价维度1","score":5},{"value":"评价名字2","detail":"评价维度2","score":5},{"value":"评价名字3","detail":"评价维度3","score":5}],"toolChoose":[{"tool":"工具名","detail":"工具描述"},{"tool":"工具名","detail":"工具描述"}]},{"detail":"面向学生的任务描述","elist":[{"value":"评价名字1","detail":"评价维度1","score":5},{"value":"评价名字2","detail":"评价维度2","score":5},{"value":"评价名字3","detail":"评价维度3","score":5}],"toolChoose":[]},{"detail":"面向学生的任务描述","elist":[{"value":"评价名字1","detail":"评价维度1","score":5},{"value":"评价名字2","detail":"评价维度2","score":5},{"value":"评价名字3","detail":"评价维度3","score":5}],"toolChoose":[{"tool":"工具名","detail":"工具描述"}]}]`
@@ -13324,7 +13339,7 @@ ${this.templateid == "4480d65a-1e48-11ef-bee5-005056b86db5" ? '#目标层\n'+thi
           _text += `任务名称:${this.dArray[i].task} 任务描述:${this.dArray[i].detail} \n`
         }//${this.infoData.length ? '使用文件检索的方式完整的去分析文件内容,并请完全按照要求输出。' : ''}
         let message = ` NOTICE
-Role: 作为学生的学习指导Agent,你熟悉熟悉PBL(基于问题的学习)和5EX教学模型,能够根据学生的学情数据(当前的学习任务设计、学习表现数据、作业数据等)生成自适应的学习任务和对应的5道考核题目
+Role: 你是创建课程的老师,可以利用file_search的方式完整的去分析文件内容(注:如果文件内容里面不包含需要检索的内容,就不引用文件内容),并生成需要的JSON数据
 Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
 ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
 Instruction: Based on the context, follow "Format example", write content.
@@ -13493,7 +13508,7 @@ ${message} 以及##参考资料 以文本格式输出项目概况,驱动性问
         _this.ttextLoading = false
         console.log(error);
       });
-      _this.aiGetgetAiContent(_uuid)
+      await _this.aiGetgetAiContent(_uuid)
     },
     aiGetgetAiContent(_uid) {
       // let _source = new EventSource(`https://gpt4.cocorobo.cn/stream/${_uid}`); //http://gpt4.cocorobo.cn:8011/stream/     https://gpt4.cocorobo.cn/stream/
@@ -13529,6 +13544,7 @@ ${message} 以及##参考资料 以文本格式输出项目概况,驱动性问
           this.textLoading = false
           // 处理流数据
         }
+        this.$forceUpdate();
       };
     },
     async aiGet2(messages, callback) {
@@ -14022,7 +14038,7 @@ ${message} 以及##参考资料 以文本格式输出项目概况,驱动性问
         let messages = ""
         if(type == 15){
           messages = `NOTICE
-Role: 作为学生的学习指导Agent,你熟悉熟悉PBL(基于问题的学习)和5EX教学模型,能够根据学生的学情数据(当前的学习任务设计、学习表现数据、作业数据等)生成自适应的学习任务和对应的5道考核题目
+Role: 你是创建课程的老师,可以利用file_search的方式完整的去分析文件内容(注:如果文件内容里面不包含需要检索的内容,就不引用文件内容),并生成需要的JSON数据
 Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
 ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
 Instruction: Based on the context, follow "Format example", write content.
@@ -14049,7 +14065,7 @@ ${this.teacherText[task].detail.replaceAll('#','').replaceAll('*','').replaceAll
 `
         }else if(type == 45){
           messages = `NOTICE
-Role: 作为学生的学习指导Agent,你熟悉熟悉PBL(基于问题的学习)和5EX教学模型,能够根据学生的学情数据(当前的学习任务设计、学习表现数据、作业数据等)生成自适应的学习任务和对应的5道考核题目
+Role: 你是创建课程的老师,可以利用file_search的方式完整的去分析文件内容(注:如果文件内容里面不包含需要检索的内容,就不引用文件内容),并生成需要的JSON数据
 Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
 ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
 Instruction: Based on the context, follow "Format example", write content.
@@ -14507,7 +14523,7 @@ ${msg} 及#教学任务描述 以文本格式输出任务设计和评价标准
         _this.ttaskDetailLoading.splice(_this.ttaskDetailLoading.indexOf(_tindex), 1)
         console.log(error);
       });
-      _this.aiDetailgetAiContent(_uuid, _tindex, _tindex2)
+      await _this.aiDetailgetAiContent(_uuid, _tindex, _tindex2)
     },
     aiDetailgetAiContent(_uid, loading, _tindex2) {
       // let _source = new EventSource(`https://gpt4.cocorobo.cn/stream/${_uid}`); //http://gpt4.cocorobo.cn:8011/stream/     https://gpt4.cocorobo.cn/stream/
@@ -14543,6 +14559,7 @@ ${msg} 及#教学任务描述 以文本格式输出任务设计和评价标准
           this.taskDetailLoading.splice(this.taskDetailLoading.indexOf(loading), 1)
           // 处理流数据
         }
+        this.$forceUpdate();
       };
     },
     async aiDetail2(msg, index) {
@@ -14643,7 +14660,7 @@ ${msg}
         _this.ttaskDetailLoading2.splice(_this.ttaskDetailLoading2.indexOf(_tindex), 1)
         console.log(error);
       });
-      _this.aiDetail2getAiContent(_uuid, _tindex, _tindex2)
+      await _this.aiDetail2getAiContent(_uuid, _tindex, _tindex2)
     },
     aiDetail2getAiContent(_uid, loading, _tindex2) {
       // let _source = new EventSource(`https://gpt4.cocorobo.cn/stream/${_uid}`); //http://gpt4.cocorobo.cn:8011/stream/     https://gpt4.cocorobo.cn/stream/
@@ -14679,6 +14696,7 @@ ${msg}
           this.taskDetailLoading2.splice(this.taskDetailLoading2.indexOf(loading), 1)
           // 处理流数据
         }
+        this.$forceUpdate();
       };
     },
     async aiDetail3(msg, index, tindex) {
@@ -14781,7 +14799,7 @@ ${msg} 输出格式和内容要求参考#格式与要求
         _this.ttaskDetailLoading3.splice(_this.ttaskDetailLoading3.indexOf(_tindex), 1)
         console.log(error);
       });
-      _this.aiDetail3getAiContent(_uuid, _tindex, _tindex2, _tindex3)
+      await _this.aiDetail3getAiContent(_uuid, _tindex, _tindex2, _tindex3)
     },
     aiDetail3getAiContent(_uid, loading, _tindex2, _tindex3) {
       // let _source = new EventSource(`https://gpt4.cocorobo.cn/stream/${_uid}`); //http://gpt4.cocorobo.cn:8011/stream/     https://gpt4.cocorobo.cn/stream/
@@ -14817,6 +14835,7 @@ ${msg} 输出格式和内容要求参考#格式与要求
           this.taskDetailLoading3.splice(this.taskDetailLoading3.indexOf(loading), 1)
           // 处理流数据
         }
+        this.$forceUpdate();
       };
     },
     async aiDetail4(msg, index) {
@@ -15068,7 +15087,7 @@ ${_text2}`
         _this.ttaskDetailLoading5.splice(_this.ttaskDetailLoading5.indexOf(_tindex), 1)
         console.log(error);
       });
-      _this.aiDetail5getAiContent(_uuid, _tindex, _tindex2)
+      await _this.aiDetail5getAiContent(_uuid, _tindex, _tindex2)
     },
     aiDetail5getAiContent(_uid, loading, _tindex2) {
       // let _source = new EventSource(`https://gpt4.cocorobo.cn/stream/${_uid}`); //http://gpt4.cocorobo.cn:8011/stream/     https://gpt4.cocorobo.cn/stream/
@@ -15104,6 +15123,7 @@ ${_text2}`
           this.taskDetailLoading5.splice(this.taskDetailLoading5.indexOf(loading), 1)
           // 处理流数据
         }
+        this.$forceUpdate();
       };
     },
     async aiDetail52(msg, index) {
@@ -15211,7 +15231,7 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].taskDetail2 ? '任务描
         _this.ttaskDetailLoading5.splice(_this.ttaskDetailLoading5.indexOf(_tindex), 1)
         console.log(error);
       });
-      _this.aiDetail52getAiContent(_uuid, _tindex, _tindex2)
+      await _this.aiDetail52getAiContent(_uuid, _tindex, _tindex2)
     },
     aiDetail52getAiContent(_uid, loading, _tindex2) {
       // let _source = new EventSource(`https://gpt4.cocorobo.cn/stream/${_uid}`); //http://gpt4.cocorobo.cn:8011/stream/     https://gpt4.cocorobo.cn/stream/
@@ -15247,6 +15267,7 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].taskDetail2 ? '任务描
           this.taskDetailLoading5.splice(this.taskDetailLoading5.indexOf(loading), 1)
           // 处理流数据
         }
+        this.$forceUpdate();
       };
     },
     async aiCpote(msg, callback) {
@@ -15372,7 +15393,7 @@ ${this.aitype == 'aiCpote4' ? '## 目标层\n'+this.cpote['cpote3'] : ''}`
         callback ? callback() : ''
         console.log(error);
       });
-      _this.aiCpotegetAiContent(_uuid, _index, callback)
+      await _this.aiCpotegetAiContent(_uuid, _index, callback)
     },
     aiCpotegetAiContent(_uid, loading, callback) {
       // let _source = new EventSource(`https://gpt4.cocorobo.cn/stream/${_uid}`); //http://gpt4.cocorobo.cn:8011/stream/     https://gpt4.cocorobo.cn/stream/
@@ -15409,6 +15430,7 @@ ${this.aitype == 'aiCpote4' ? '## 目标层\n'+this.cpote['cpote3'] : ''}`
           this.cpoteLoading[loading] = false
           // 处理流数据
         }
+        this.$forceUpdate();
       };
     },
     createFileid(url) {

+ 2 - 5
src/components/pages/aiAddCourse/aiCreateDialog.vue

@@ -44,7 +44,6 @@
 import Pptxgen from "pptxgenjs";
 import wOffice from "../components/wOffice.vue";
 import { v4 as uuidv4 } from "uuid";
-import { color } from "highcharts";
 
 export default {
     components: {
@@ -264,10 +263,10 @@ ${_this.outline.replaceAll('#','').replaceAll('*','').replaceAll('-','').replace
 请根据参考资料,生成关于${this.courseName},为教师生成这节课的教学ppt的大纲,大纲的主要内容课程知识点的讲解与相关练习和测试。你的输出应该符合#输出格式
 
 # 工作流
-1.从用户提供的参考资料中提取5个最重要的学科概念${mclass.length ? "(水平限制在{面向年级}中)" : ""},并输出。
+1.从用户提供的参考资料中提取3个最重要的学科概念${mclass.length ? "(水平限制在{面向年级}中)" : ""},并输出。
 2.分解每个学科概念为几个子知识点
 3.简要描述每个知识点
-4.生成5个测试题以考察学生的掌握情况
+4.生成3个测试题以考察学生的掌握情况
 
 ${mclass.length ? "#参考资料\n面向年级:" + mclass.join(",") : ""}
 
@@ -276,8 +275,6 @@ ${mclass.length ? "#参考资料\n面向年级:" + mclass.join(",") : ""}
   1.知识点:知识点1
   2.知识点:知识点2
   3.知识点:知识点3
-  4.知识点:知识点4
-  5.知识点:知识点5
 
 # 限制
 1.如果有参考资料请根据参考资料,如果没有无需根据参考资料进行,随意发挥。

Some files were not shown because too many files changed in this diff