iamSammi commited on
Commit
bc4df32
·
verified ·
1 Parent(s): 87f14b7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -6
app.py CHANGED
@@ -9,7 +9,7 @@ OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
9
  topics = ["教育哲學", "教育社會學", "教育心理學", "課程與教學", "教學原理", "班級經營", "教育測驗與評量", "青少年問題與輔導"]
10
  difficulties = ["簡單", "中等", "困難"]
11
 
12
- # 學習者錯誤統計
13
  user_errors = {}
14
 
15
  # **開發者預設教材 PDF 檔案**
@@ -52,7 +52,7 @@ def transcribe_speech(audio_file):
52
  response = openai.Audio.transcribe("whisper-1", audio)
53
  return response["text"]
54
 
55
- # 分析回答完整性 + 記錄弱點
56
  def analyze_answer(user_input, correct_answer, topic):
57
  global user_errors
58
 
@@ -64,7 +64,7 @@ def analyze_answer(user_input, correct_answer, topic):
64
  else:
65
  feedback = "❌ 答非所問,請重新思考"
66
 
67
- # 記錄錯誤主題
68
  if feedback != "✅ 正確!":
69
  if topic in user_errors:
70
  user_errors[topic] += 1
@@ -73,13 +73,15 @@ def analyze_answer(user_input, correct_answer, topic):
73
 
74
  return feedback
75
 
76
- # 列出可加強的知識點
77
  def get_weaknesses():
78
  if not user_errors:
79
  return "🎯 目前沒有明顯弱點,繼續保持!"
80
-
81
  sorted_weaknesses = sorted(user_errors.items(), key=lambda x: x[1], reverse=True)
82
- return f"📌 你的弱點領域:{', '.join([f'{k} ({v}次錯誤)' for k, v in sorted_weaknesses])}"
 
 
83
 
84
  # 設定 Gradio 介面
85
  with gr.Blocks() as demo:
 
9
  topics = ["教育哲學", "教育社會學", "教育心理學", "課程與教學", "教學原理", "班級經營", "教育測驗與評量", "青少年問題與輔導"]
10
  difficulties = ["簡單", "中等", "困難"]
11
 
12
+ # 學習者錯誤統計(歷史紀錄)
13
  user_errors = {}
14
 
15
  # **開發者預設教材 PDF 檔案**
 
52
  response = openai.Audio.transcribe("whisper-1", audio)
53
  return response["text"]
54
 
55
+ # 分析回答完整性 + 記錄弱點(新增長期歷史紀錄)
56
  def analyze_answer(user_input, correct_answer, topic):
57
  global user_errors
58
 
 
64
  else:
65
  feedback = "❌ 答非所問,請重新思考"
66
 
67
+ # 記錄錯誤主題(長期紀錄)
68
  if feedback != "✅ 正確!":
69
  if topic in user_errors:
70
  user_errors[topic] += 1
 
73
 
74
  return feedback
75
 
76
+ # 列出可加強的知識點(新增歷史紀錄顯示)
77
  def get_weaknesses():
78
  if not user_errors:
79
  return "🎯 目前沒有明顯弱點,繼續保持!"
80
+
81
  sorted_weaknesses = sorted(user_errors.items(), key=lambda x: x[1], reverse=True)
82
+
83
+ history_text = "\n".join([f"{k}: {v} 次錯誤" for k, v in sorted_weaknesses])
84
+ return f"📌 **你的弱點領域**:\n{history_text}"
85
 
86
  # 設定 Gradio 介面
87
  with gr.Blocks() as demo: