Spaces:
Sleeping
Sleeping
past_exam_dropdown = gr.Dropdown(label="選擇考古題", choices=past_exam_choices)
Browse files- app.py +26 -34
- exams.json +22 -0
app.py
CHANGED
@@ -464,6 +464,17 @@ def generate_chinese_evaluation_table(sys_content, user_prompt, text):
|
|
464 |
|
465 |
return gr_update
|
466 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
467 |
|
468 |
with gr.Blocks(theme=gr.themes.Soft(primary_hue=gr.themes.colors.blue, secondary_hue=gr.themes.colors.orange)) as demo:
|
469 |
# ===== 英文段落寫作練習 =====
|
@@ -1452,46 +1463,27 @@ with gr.Blocks(theme=gr.themes.Soft(primary_hue=gr.themes.colors.blue, secondary
|
|
1452 |
with gr.Row():
|
1453 |
gr.Markdown("## 選擇考古題")
|
1454 |
with gr.Row():
|
1455 |
-
|
1456 |
-
|
|
|
1457 |
with gr.Row():
|
1458 |
-
gr.Markdown(
|
1459 |
with gr.Row():
|
1460 |
with gr.Column():
|
1461 |
with gr.Row():
|
1462 |
-
gr.Markdown(
|
1463 |
-
- 說明︰依提示寫一篇英文作文,文長至少 120 個單詞(words)。
|
1464 |
-
- 提示︰ 請根據右方圖片的場景,描述整個事件發生的前因後果。文
|
1465 |
-
章請分兩段,第一段說明之前發生了什麼事情,並根據圖片內容描
|
1466 |
-
述現在的狀況;第二段請合理說明接下來可能會發生什麼事,或者
|
1467 |
-
未來該做些什麼。
|
1468 |
-
""")
|
1469 |
-
with gr.Row():
|
1470 |
-
with gr.Accordion("下筆提示", open=False):
|
1471 |
-
gr.Textbox("如何下筆:先用常理推敲內容。根據段落提示書寫,必須加入更多細節例證才會生動寫實。", label="",lines=3)
|
1472 |
-
with gr.Row():
|
1473 |
-
gr.Markdown("## 第一段說明之前發生了什麼事情,並根據圖片內容描述現在的狀況")
|
1474 |
with gr.Row():
|
1475 |
-
with gr.Accordion("
|
1476 |
-
gr.
|
1477 |
-
|
1478 |
-
- 房子在哪裡?住什麼人?他們的生活(對比災難發生後)。
|
1479 |
-
- 根據圖片內容描述現在的狀況
|
1480 |
-
- 想像什麼原因造成現在的結果:地震?土石流?
|
1481 |
-
- 描述災難發生造成現況,如果能用第一人稱描寫災難發生的細
|
1482 |
-
- 節及自己的感受會更吸引人。
|
1483 |
-
""")
|
1484 |
-
with gr.Row():
|
1485 |
-
gr.Markdown("## 第二段請合理說明接下來可能會發生什麼事,或者未來該做些什麼")
|
1486 |
-
with gr.Row():
|
1487 |
-
with gr.Accordion("第一段提示", open=False):
|
1488 |
-
gr.Markdown("""
|
1489 |
-
- 說明接下來可能會發生什麼事,或者未來該做些什麼
|
1490 |
-
- 災難後可能發生的事,例如重回家園看到破舊的景象、災難損壞、如果災難重建等等。
|
1491 |
-
""")
|
1492 |
-
|
1493 |
with gr.Column():
|
1494 |
-
gr.Image(
|
|
|
|
|
|
|
|
|
|
|
|
|
1495 |
|
1496 |
with gr.Row():
|
1497 |
with gr.Column():
|
|
|
464 |
|
465 |
return gr_update
|
466 |
|
467 |
+
def load_exam_data():
|
468 |
+
with open("exams.json", "r") as file:
|
469 |
+
data = json.load(file)
|
470 |
+
return data
|
471 |
+
|
472 |
+
def update_exam_contents(selected_title):
|
473 |
+
exams = load_exam_data()["exams"]
|
474 |
+
for exam in exams:
|
475 |
+
if exam["title"] == selected_title:
|
476 |
+
return exam["title"], exam["question"], exam["hint"], exam["image_url"]
|
477 |
+
|
478 |
|
479 |
with gr.Blocks(theme=gr.themes.Soft(primary_hue=gr.themes.colors.blue, secondary_hue=gr.themes.colors.orange)) as demo:
|
480 |
# ===== 英文段落寫作練習 =====
|
|
|
1463 |
with gr.Row():
|
1464 |
gr.Markdown("## 選擇考古題")
|
1465 |
with gr.Row():
|
1466 |
+
exams_data = load_exam_data()
|
1467 |
+
past_exam_choices = [exam["title"] for exam in exams_data["exams"]]
|
1468 |
+
past_exam_dropdown = gr.Dropdown(label="選擇考古題", choices=past_exam_choices)
|
1469 |
with gr.Row():
|
1470 |
+
past_exam_title = gr.Markdown()
|
1471 |
with gr.Row():
|
1472 |
with gr.Column():
|
1473 |
with gr.Row():
|
1474 |
+
past_exam_question = gr.Markdown()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1475 |
with gr.Row():
|
1476 |
+
with gr.Accordion("提示", open=False):
|
1477 |
+
with gr.Row():
|
1478 |
+
past_exam_hint = gr.Markdown()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1479 |
with gr.Column():
|
1480 |
+
past_exam_image = gr.Image()
|
1481 |
+
|
1482 |
+
past_exam_dropdown.select(
|
1483 |
+
fn=update_exam_contents,
|
1484 |
+
inputs=[past_exam_dropdown],
|
1485 |
+
outputs=[past_exam_title, past_exam_question, past_exam_hint, past_exam_image]
|
1486 |
+
)
|
1487 |
|
1488 |
with gr.Row():
|
1489 |
with gr.Column():
|
exams.json
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"exams": [
|
3 |
+
{
|
4 |
+
"title": "# 98 學測",
|
5 |
+
"question": "### 說明︰依提示寫一篇英文作文,文長至少 120 個單詞(words)。\n### 提示︰ 請根據右方圖片的場景,描述整個事件發生的前因後果。文章請分兩段,第一段說明之前發生了什麼事情,並根據圖片內容描述現在的狀況;第二段請合理說明接下來可能會發生什麼事,或者未來該做些什麼。",
|
6 |
+
"hint": "## 如何下筆:\n- 先用常理推敲內容。根據段落提示書寫,必須加入更多細節例證才會生動寫實。\n## 第一段說明之前發生了什麼事情,並根據圖片內容描述現在的狀況\n- 之前發生了什麼事情\n - 房子在哪裡?住什麼人?他們的生活(對比災難發生後)。\n- 根據圖片內容描述現在的狀況\n - 想像什麼原因造成現在的結果:地震?土石流?\n - 描述災難發生造成現況,如果能用第一人稱描寫災難發生的細節及自己的感受會更吸引人。\n## 第二段請合理說明接下來可能會發生什麼事,或者未來該做些什麼\n- 說明接下來可能會發生什麼事,或者未來該做些什麼\n - 災難後可能發生的事,例如重回家園看到破舊的景象、災難損壞、如果災難重建等等。",
|
7 |
+
"image_url": "https://storage.googleapis.com/jutor/98%E5%AD%B8%E6%B8%AC%E4%BD%9C%E6%96%87-%E5%9C%96.png"
|
8 |
+
},
|
9 |
+
{
|
10 |
+
"title": "# 99 學測",
|
11 |
+
"question": "### 說明︰依提示寫一篇英文作文,文長至少 120 個單詞(words)。\n### 提示:請仔細觀察以下三幅連環圖片的內容,並想像第四幅圖片可能的發展,寫出一個涵蓋連環圖片內容並有完整結局的故事。",
|
12 |
+
"hint": "### 如何下筆:\n- 先瞭解三幅圖片的內容,找到角色及故事情節。\n- 連環圖畫通常都會有道德教訓 moral lesson, 這故事的教訓是什麼?「拾金不眛」?找到教訓後,就可以決定第四幅圖的內容。\n- 利用故事山的寫法寫成三段。\n\n### 第一段介紹段:\n- 介紹主要角色和背景資訊。\n- 也可以説明故事主旨(道德教訓)\n### 第二段主體段:\n- 引入主要問題或挑戰,主角撿到一個錢包,裡面有許多錢,他該怎麼做?這些錢可以買許多他想要的東西,故事情節向高潮發展。\n- 然後是轉折點,通常是最激動人心或最具戲劇性的部分:他想到丟了錢的人需要這筆錢急用,一定非常著急。\n- 主角做出關鍵決定或行動。\n### 第三段結論段:\n- 重申道德教訓給故事結尾。",
|
13 |
+
"image_url": "https://storage.googleapis.com/jutor/99%E5%AD%B8%E6%B8%AC%E4%BD%9C%E6%96%87-%E5%9C%96.png"
|
14 |
+
},
|
15 |
+
{
|
16 |
+
"title": "# 100 學測",
|
17 |
+
"question": "### 說明︰依提示寫一篇英文作文,文長至少 120 個單詞(words)。\n### 提示︰請仔細觀察以下三幅連環圖片的內容,並想像第四幅圖片可能的發展,寫出一個涵蓋連環圖片內容並有完整結局的故事。",
|
18 |
+
"hint": "### 如何下筆:\n- 瞭解三幅圖片的內容,找到角色及故事情節。\n- 這個故事很能激發想像力,可有各種不同的情節發展。如果時間倉促無法發揮,就按照圖片內容來寫。結局可能是女孩接受了他或拒絕了他。他有什麼感受?\n\n### 第一段介紹段:\n- 介紹主要角色和背景資訊。\n- 也可以寫出故事主旨(勇於表達自己的感情)\n\n### 第二段主體段:\n- 引入主要問題或挑戰,主角在舞會碰到心儀的女孩,不知如何表達愛慕之意,最後決定拿著吉他在她門前彈唱,結果把鄰居都吵醒了,被大罵一頓,非常尷尬,故事情節向高潮發展,\n- 然後是轉折點,通常是最激動人心或最具戲劇性的部分:女孩居然現身接受了他的告白。\n\n### 第三段結論段:\n- 重申道德教訓給故事結尾。",
|
19 |
+
"image_url": "https://storage.googleapis.com/jutor/100%E5%AD%B8%E6%B8%AC%E4%BD%9C%E6%96%87-%E5%9C%96.jpg"
|
20 |
+
}
|
21 |
+
]
|
22 |
+
}
|