yoon-gu commited on
Commit
e444e3b
β€’
1 Parent(s): 5b5216a

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +51 -0
  2. pokemon.json +0 -0
app.py ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ os.system("pip install gradio --upgrade")
3
+
4
+ import gradio as gr
5
+ from pyjosa.josa import Josa
6
+ import random
7
+ import json
8
+
9
+ with open('pokemon.json', 'r') as f:
10
+ pokemons = json.load(f)
11
+
12
+ QUESTION_TEMPLATE = {"question": "λ‹€μŒ 포켓λͺ¬μ˜ 이름은 λ­˜κΉŒμš”?![]({img_url})", "answer": "{name}"}
13
+ with gr.Blocks() as demo:
14
+ quiz_start = gr.State(value=False)
15
+ answer = gr.State(value="")
16
+ chatbot = gr.Chatbot(bubble_full_width=False)
17
+ msg = gr.Textbox()
18
+ clear = gr.ClearButton([msg, chatbot])
19
+
20
+
21
+ def respond(message, chat_history):
22
+ if not quiz_start.value:
23
+ chosen = random.choice(pokemons)
24
+ name = chosen['name']
25
+ image_path = chosen['image_path']
26
+ answer.value = QUESTION_TEMPLATE['answer'].format(name=name)
27
+ img_url = f"https://huggingface.co/spaces/yoon-gu/pokemon/resolve/main/{image_path}"
28
+ if "ν€΄μ¦ˆ μ‹œμž‘" == message:
29
+ bot_message = "ν€΄μ¦ˆλ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€.\n" + QUESTION_TEMPLATE["question"].format(img_url=img_url)
30
+ quiz_start.value = True
31
+ else:
32
+ bot_message = "ν€΄μ¦ˆλ₯Ό μ‹œμž‘ν•˜κ³  μ‹ΆμœΌμ‹œλ©΄, **ν€΄μ¦ˆ μ‹œμž‘**이라고 λ§μ”€ν•΄μ£Όμ„Έμš”."
33
+ else:
34
+ trial = Josa.get_full_string(message, "λŠ”")
35
+ if answer.value == message:
36
+ chosen = random.choice(pokemons)
37
+ name = chosen['name']
38
+ image_path = chosen['image_path']
39
+ answer.value = QUESTION_TEMPLATE['answer'].format(name=name)
40
+ img_url = f"https://huggingface.co/spaces/yoon-gu/pokemon/resolve/main/{image_path}"
41
+ bot_message = "μ •λ‹΅μž…λ‹ˆλ‹€! λ‹€μŒ λ¬Έμ œμž…λ‹ˆλ‹€." + QUESTION_TEMPLATE["question"].format(img_url=img_url)
42
+ else:
43
+ bot_message = f"{trial} μ •λ‹΅μΌκΉŒμš”? λ‹€μ‹œ ν•œλ²ˆ μƒκ°ν•΄λ³΄μ„Έμš”."
44
+
45
+ chat_history.append((message, bot_message))
46
+ return "", chat_history
47
+
48
+ msg.submit(respond, [msg, chatbot], [msg, chatbot])
49
+
50
+ demo.launch()
51
+
pokemon.json ADDED
The diff for this file is too large to render. See raw diff