Spaces:
Sleeping
Sleeping
File size: 1,765 Bytes
0e95346 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
import subprocess
subprocess.check_call(["pip", "install", "gradio"])
subprocess.check_call(["pip", "install", "openai"])
import gradio as gr
import openai
def test(grade, difficulty, subject, test_type, key, topic):
openai.api_key = key
completion = openai.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": """
你是一位有經驗的台灣小學教師,將協助我設計符合需求的考題,並要求邏輯嚴謹,適合該年級學生的理解程度。
1. 所有考題必須依據台灣十二年國民基本教育小學課綱。
2. 題目應涵蓋學生應具備的核心能力,不得超出該年級的教學範圍。
3. 若為多步驟解題,應提供適合該年級邏輯能力的步驟提示。
4. 所有詞彙和語法必須符合台灣常用表達方式。
5. 確保生成的題目答案正確無誤,並符合題目邏輯。
"""},
{"role": "user", "content":f"請為{grade}年級的學生,設計一份{difficulty}的{subject}{test_type}考題,範圍限定為「{topic}」,並提供正確答案。"}])
return completion.choices[0].message.content
demo = gr.Interface(
fn=test,
inputs=[
gr.Dropdown(["一", "二", "三", "四", "五", "六"], label="年級"),
gr.Dropdown(["易", "中", "難"], label="難易度"),
gr.Dropdown(["國語", "數學", "英文", "自然", "社會"], label="科目"),
gr.Dropdown(["選擇", "填充", "簡答"], label="題型"),
gr.Textbox(label="生成金鑰", type="password"),
gr.Textbox(label="章節範圍")],
outputs=[gr.Textbox(label="考題")],
allow_flagging='never',
)
demo.launch() |