Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
|
|
|
|
|
|
|
| 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:
|