iamSammi commited on
Commit
0a94d48
·
verified ·
1 Parent(s): c19b534

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -3
app.py CHANGED
@@ -1,5 +1,6 @@
1
  import gradio as gr
2
  import openai
 
3
  import os
4
 
5
  OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
@@ -11,13 +12,27 @@ difficulties = ["簡單", "中等", "困難"]
11
  # 學習者錯誤統計
12
  user_errors = {}
13
 
14
- # AI 生成問題函數(完全由 AI 創建)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  def generate_question(topic, difficulty):
16
- prompt = f"請設計一個有關'{topic}'的考題,難度為 '{difficulty}',適用於教師檢定。"
17
 
18
  response = openai.ChatCompletion.create(
19
  model="gpt-4",
20
- messages=[{"role": "system", "content": "你是一位教育心理學專家,請根據主題與難度提供合適的考題。"},
21
  {"role": "user", "content": prompt}]
22
  )
23
  return response['choices'][0]['message']['content']
 
1
  import gradio as gr
2
  import openai
3
+ import PyPDF2
4
  import os
5
 
6
  OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
 
12
  # 學習者錯誤統計
13
  user_errors = {}
14
 
15
+ # **開發者預設教材 PDF 檔案**
16
+ DEFAULT_PDF_PATH = "教材.pdf" # 確保此檔案存放在專案目錄中
17
+
18
+ # 解析 PDF 並擷取文本(使用開發者預設的教材)
19
+ def extract_text_from_pdf():
20
+ with open(DEFAULT_PDF_PATH, "rb") as pdf_file:
21
+ reader = PyPDF2.PdfReader(pdf_file)
22
+ text = ""
23
+ for page in reader.pages:
24
+ text += page.extract_text() + "\n"
25
+ return text
26
+
27
+ pdf_text = extract_text_from_pdf() # 讀取教材
28
+
29
+ # AI 生成問題函數(基於預設教材)
30
  def generate_question(topic, difficulty):
31
+ prompt = f"請根據以下教育心理學教材內容,設計一個'{difficulty}'難度的考題:\n{pdf_text}"
32
 
33
  response = openai.ChatCompletion.create(
34
  model="gpt-4",
35
+ messages=[{"role": "system", "content": "你是一位教育心理學專家,請根據教材內容生成考題。"},
36
  {"role": "user", "content": prompt}]
37
  )
38
  return response['choices'][0]['message']['content']