FanHong 10 часов назад
Родитель
Сommit
1004d5aea5

+ 13 - 5
shudao-chat-py/config.yaml

@@ -22,15 +22,23 @@ deepseek:
   api_url: https://api.deepseek.com
   api_url: https://api.deepseek.com
 
 
 # 本地大模型配置
 # 本地大模型配置
+# qwen3:
+#   api_url: http://172.16.35.50:8020
+#   model: /opt/Qwen3.5-122B-A10B
 qwen3:
 qwen3:
-  api_url: http://172.16.35.50:8020
-  model: /opt/Qwen3.5-122B-A10B
+  api_url: https://aigc-api.aitoolcore.com
+  model: qwen3.6-plus
+  token: sk-aigc-06515b42c1522bdb7f2473672ef6363c553e5a4a
 
 
 # 意图识别模型配置
 # 意图识别模型配置
+# intent:
+#   api_url: http://172.16.35.50:8020
+#   model: /opt/Qwen3.5-122B-A10B
 intent:
 intent:
-  api_url: http://172.16.35.50:8020
-  model: /opt/Qwen3.5-122B-A10B
-
+  api_url: https://aigc-api.aitoolcore.com
+  model: qwen3.6-plus
+  token: sk-aigc-06515b42c1522bdb7f2473672ef6363c553e5a4a
+  
 # YOLO API配置
 # YOLO API配置
 yolo:
 yolo:
   base_url: http://172.16.35.50:18080
   base_url: http://172.16.35.50:18080

+ 3 - 0
shudao-chat-py/utils/config.py

@@ -1,6 +1,7 @@
 from pydantic_settings import BaseSettings
 from pydantic_settings import BaseSettings
 import yaml
 import yaml
 from pathlib import Path
 from pathlib import Path
+from typing import Optional
 
 
 
 
 class AppConfig(BaseSettings):
 class AppConfig(BaseSettings):
@@ -29,11 +30,13 @@ class DeepSeekConfig(BaseSettings):
 class Qwen3Config(BaseSettings):
 class Qwen3Config(BaseSettings):
     api_url: str
     api_url: str
     model: str
     model: str
+    token: Optional[str] = None
 
 
 
 
 class IntentConfig(BaseSettings):
 class IntentConfig(BaseSettings):
     api_url: str
     api_url: str
     model: str
     model: str
+    token: Optional[str] = None
 
 
 
 
 class YoloConfig(BaseSettings):
 class YoloConfig(BaseSettings):

+ 21 - 10
shudao-vue-frontend/src/views/ExamWorkshop.vue

@@ -983,10 +983,10 @@ const projectTypes = {
 
 
 // 题型配置
 // 题型配置
 const questionTypes = ref([
 const questionTypes = ref([
-  { name: "单选题", scorePerQuestion: 0, questionCount: 1, romanNumeral: "一" },
-  { name: "判断题", scorePerQuestion: 0, questionCount: 0, romanNumeral: "二" },
-  { name: "多选题", scorePerQuestion: 0, questionCount: 0, romanNumeral: "三" },
-  { name: "简答题", scorePerQuestion: 0, questionCount: 0, romanNumeral: "四" },
+  { name: "单选题", scorePerQuestion: 2, questionCount: 10, romanNumeral: "一" },
+  { name: "判断题", scorePerQuestion: 2, questionCount: 10, romanNumeral: "二" },
+  { name: "多选题", scorePerQuestion: 5, questionCount: 8, romanNumeral: "三" },
+  { name: "简答题", scorePerQuestion: 10, questionCount: 2, romanNumeral: "四" },
 ]);
 ]);
 
 
 // 保存初始配置
 // 保存初始配置
@@ -1085,10 +1085,10 @@ const createNewChat = async () => {
   } else {
   } else {
     // 如果没有初始配置,使用默认配置
     // 如果没有初始配置,使用默认配置
     questionTypes.value = [
     questionTypes.value = [
-      { name: "单选题", scorePerQuestion: 0, questionCount: 1, romanNumeral: "一" },
-      { name: "判断题", scorePerQuestion: 0, questionCount: 0, romanNumeral: "二" },
-      { name: "多选题", scorePerQuestion: 0, questionCount: 0, romanNumeral: "三" },
-      { name: "简答题", scorePerQuestion: 0, questionCount: 0, romanNumeral: "四" },
+      { name: "单选题", scorePerQuestion: 2, questionCount: 10, romanNumeral: "一" },
+      { name: "判断题", scorePerQuestion: 2, questionCount: 10, romanNumeral: "二" },
+      { name: "多选题", scorePerQuestion: 5, questionCount: 8, romanNumeral: "三" },
+      { name: "简答题", scorePerQuestion: 10, questionCount: 2, romanNumeral: "四" },
     ];
     ];
   }
   }
   
   
@@ -1183,8 +1183,19 @@ const clearSettings = () => {
   totalScore.value = 100; // 清空时配置总分恢复默认值 100
   totalScore.value = 100; // 清空时配置总分恢复默认值 100
   // 保留原数组引用,更新每个对象的属性,避免破坏 Vue 3 响应式绑定
   // 保留原数组引用,更新每个对象的属性,避免破坏 Vue 3 响应式绑定
   questionTypes.value.forEach(type => {
   questionTypes.value.forEach(type => {
-    type.scorePerQuestion = 0;
-    type.questionCount = type.name === '单选题' ? 1 : 0;
+    if (type.name === '单选题') {
+      type.scorePerQuestion = 2;
+      type.questionCount = 10;
+    } else if (type.name === '判断题') {
+      type.scorePerQuestion = 2;
+      type.questionCount = 10;
+    } else if (type.name === '多选题') {
+      type.scorePerQuestion = 5;
+      type.questionCount = 8;
+    } else if (type.name === '简答题') {
+      type.scorePerQuestion = 10;
+      type.questionCount = 2;
+    }
   });
   });
   console.log("清除设置");
   console.log("清除设置");
 };
 };

+ 6 - 6
shudao-vue-frontend/src/views/mobile/m-ExamWorkshop.vue

@@ -585,9 +585,9 @@ const projectTypes = {
 
 
 // 题型配置
 // 题型配置
 const questionTypes = ref([
 const questionTypes = ref([
-  { name: "单选题", scorePerQuestion: 5, questionCount: 5, romanNumeral: "一" },
-  { name: "判断题", scorePerQuestion: 3, questionCount: 5, romanNumeral: "二" },
-  { name: "多选题", scorePerQuestion: 8, questionCount: 5, romanNumeral: "三" },
+  { name: "单选题", scorePerQuestion: 2, questionCount: 10, romanNumeral: "一" },
+  { name: "判断题", scorePerQuestion: 2, questionCount: 10, romanNumeral: "二" },
+  { name: "多选题", scorePerQuestion: 5, questionCount: 8, romanNumeral: "三" },
   { name: "简答题", scorePerQuestion: 10, questionCount: 2, romanNumeral: "四" },
   { name: "简答题", scorePerQuestion: 10, questionCount: 2, romanNumeral: "四" },
 ]);
 ]);
 
 
@@ -975,9 +975,9 @@ const clearSettings = () => {
   examName.value = "";
   examName.value = "";
   totalScore.value = 100;
   totalScore.value = 100;
   questionTypes.value = [
   questionTypes.value = [
-    { name: "单选题", scorePerQuestion: 2, questionCount: 8, romanNumeral: "一" },
-    { name: "判断题", scorePerQuestion: 2, questionCount: 5, romanNumeral: "二" },
-    { name: "多选题", scorePerQuestion: 3, questionCount: 5, romanNumeral: "三" },
+    { name: "单选题", scorePerQuestion: 2, questionCount: 10, romanNumeral: "一" },
+    { name: "判断题", scorePerQuestion: 2, questionCount: 10, romanNumeral: "二" },
+    { name: "多选题", scorePerQuestion: 5, questionCount: 8, romanNumeral: "三" },
     { name: "简答题", scorePerQuestion: 10, questionCount: 2, romanNumeral: "四" },
     { name: "简答题", scorePerQuestion: 10, questionCount: 2, romanNumeral: "四" },
   ];
   ];
   console.log("清除设置");
   console.log("清除设置");