Commit
·
9e506cf
1
Parent(s):
778c9c3
fix: random choice data and stories.json
Browse files- app.py +7 -4
- stories.json +30 -15
app.py
CHANGED
@@ -17,7 +17,7 @@ answer_judge = SentenceTransformer('thenlper/gte-base-zh')
|
|
17 |
intro="""
|
18 |
### 玩法介紹
|
19 |
|
20 |
-
|
21 |
|
22 |
這個遊戲的名稱來自於其中一個最經典的題目,海龜湯的故事。由於這類型的遊戲強調水平思考,也就是用非傳統的方式解決問題,這些遊戲就被大家統稱為「海龜湯」,有點像是可樂成為所有碳酸飲料的代名詞。
|
23 |
|
@@ -41,6 +41,7 @@ class PuzzleGame:
|
|
41 |
隨機選擇一個謎題並設定當前謎題的標題、故事和答案。
|
42 |
"""
|
43 |
puzzle = random.choice(self.stories)
|
|
|
44 |
self.title = puzzle['title']
|
45 |
self.surface = puzzle['surface']
|
46 |
self.bottom = puzzle['bottom']
|
@@ -49,7 +50,9 @@ class PuzzleGame:
|
|
49 |
"""
|
50 |
返回填入謎題故事和答案的 prompt
|
51 |
"""
|
52 |
-
|
|
|
|
|
53 |
|
54 |
return prompt
|
55 |
|
@@ -109,8 +112,8 @@ def check_question(question, history):
|
|
109 |
predicted = predict_masked_token(text)
|
110 |
|
111 |
predicted_map = {
|
112 |
-
'是':'
|
113 |
-
'否':'
|
114 |
'不':'不知道'
|
115 |
}
|
116 |
|
|
|
17 |
intro="""
|
18 |
### 玩法介紹
|
19 |
|
20 |
+
遊戲一開始,我會給你一個不完整的故事,這個故事通常有很多未知的細節,你需要透過提出問題來探索更多線索。你可以問我各種問題,不過請記住,我只能回答三種答案:「正確」、「錯誤」或「不知道」。你的目標是根據這些有限的答案,逐步推理出故事的完整脈絡,從而揭開事件的真相。
|
21 |
|
22 |
這個遊戲的名稱來自於其中一個最經典的題目,海龜湯的故事。由於這類型的遊戲強調水平思考,也就是用非傳統的方式解決問題,這些遊戲就被大家統稱為「海龜湯」,有點像是可樂成為所有碳酸飲料的代名詞。
|
23 |
|
|
|
41 |
隨機選擇一個謎題並設定當前謎題的標題、故事和答案。
|
42 |
"""
|
43 |
puzzle = random.choice(self.stories)
|
44 |
+
# puzzle = self.stories[1]
|
45 |
self.title = puzzle['title']
|
46 |
self.surface = puzzle['surface']
|
47 |
self.bottom = puzzle['bottom']
|
|
|
50 |
"""
|
51 |
返回填入謎題故事和答案的 prompt
|
52 |
"""
|
53 |
+
few_shot = "1.玩家猜測:賣給他貨的人不是老闆;你的回答:是\n2.玩家猜測:他被嚇傻和零食本身有關;你的回答:不\n3.玩家猜測:零食是合法的;你的回答:不知道"
|
54 |
+
|
55 |
+
prompt = f"你是遊戲的裁判,根據<湯麵>和<湯底>判斷玩家的猜測是否正確。你的回答只能是以下三種之一:1.是:玩家的猜測與故事相符。2.否:玩家的猜測與故事不符。3.不知道:無法從<湯麵>和<湯底>推理得出結論。注意:1. 玩家只能看到<湯麵>,你的判定也只能基於<湯麵>。2. 無法從故事中推理的問題,回答\"不知道\"。<湯麵>{self.surface}<湯底>{self.bottom}<範例>{few_shot}\n請判斷以下玩家猜測:"
|
56 |
|
57 |
return prompt
|
58 |
|
|
|
112 |
predicted = predict_masked_token(text)
|
113 |
|
114 |
predicted_map = {
|
115 |
+
'是':'正確',
|
116 |
+
'否':'錯誤',
|
117 |
'不':'不知道'
|
118 |
}
|
119 |
|
stories.json
CHANGED
@@ -1,27 +1,42 @@
|
|
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 |
]
|
|
|
1 |
[
|
2 |
{
|
3 |
+
"id": 1,
|
4 |
+
"title": "山頂",
|
5 |
+
"surface": "一個人住在山頂的小屋裏,半夜聽見有敲門聲音,但是他打開門卻沒有人,於是去睡了。第二天,有人在山腳下發現死屍一具,請問發生了什麼?",
|
6 |
+
"bottom": "懸崖下的人好不容易爬了上來,敲門求救,但門一打開,他又被推下了懸崖,最後從山頂掉下摔死了。",
|
7 |
+
"user_guess": "是小屋裏的人死了",
|
8 |
+
"label": "F"
|
9 |
},
|
10 |
{
|
11 |
+
"id": 2,
|
12 |
+
"title": "閨蜜",
|
13 |
+
"surface": "湯瑪斯第一次和老婆去老婆閨蜜家,結果回來老婆就要跟他離婚了,請問為什麼?",
|
14 |
+
"bottom": "湯瑪斯的妻子發現丈夫的手機自動連接到了她閨蜜家的WiFi。",
|
15 |
+
"user_guess": "老婆發現他和閨蜜有染",
|
16 |
+
"label": "T"
|
17 |
},
|
18 |
{
|
19 |
+
"id": 4,
|
20 |
+
"title": "隧道",
|
21 |
+
"surface": "一個人坐火車去鄰鎮看病,看完之後病全好了。回來的路上火車經過一個隧道,這個人就跳車自殺了,爲什麼?",
|
22 |
+
"bottom": "他的病是眼疾,完全瞎了,看完病眼睛復明,但經過隧道時突如其來的黑暗讓他以為自己又瞎了,內心崩潰後選擇自殺。",
|
23 |
+
"user_guess": "他考試不及格了",
|
24 |
+
"label": "F"
|
25 |
},
|
26 |
{
|
27 |
+
"id": 5,
|
28 |
+
"title": "條件",
|
29 |
+
"surface": "男生喜歡女生好久了,他成績非常不好,女生說只要兩人能進同一所大學,就答應當他女朋友,後來他做到了,而女子卻瘋了,請推理。",
|
30 |
+
"bottom": "女生考上了醫學院,而男子卻沒考上。女子後來得知,男子以解剖課大體老師的身份進入了同一所大學,她因此精神崩潰,最後瘋了。",
|
31 |
+
"user_guess": "男生確實死了,在女生學校裏��解剖道具",
|
32 |
+
"label": "T"
|
33 |
},
|
34 |
{
|
35 |
+
"id": 14,
|
36 |
+
"title": "十八樓",
|
37 |
+
"surface": "小明家住十八樓,有時回家會直接搭電梯到十八樓,但有時他會先搭到十五樓,再爬樓梯到十八樓,為什麼?",
|
38 |
+
"bottom": "小明還小,按不到18樓的按鈕,但只要他帶傘,就能用傘尖按到按鈕。",
|
39 |
+
"user_guess": "小明按不到部分電梯按鍵",
|
40 |
+
"label": "T"
|
41 |
}
|
42 |
]
|