Spaces:
Sleeping
Sleeping
Add application file
Browse files
app.py
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
import gradio as gr
|
2 |
import random
|
3 |
import time
|
|
|
|
|
4 |
|
5 |
def add_text(history, text):
|
6 |
history = history + [(text, None)]
|
@@ -15,52 +17,75 @@ def bot(history):
|
|
15 |
time.sleep(0.05)
|
16 |
yield history
|
17 |
|
18 |
-
#
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
"
|
34 |
-
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
# Set all responses
|
38 |
-
|
39 |
-
|
40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
|
42 |
def infer(wish, history):
|
43 |
-
global
|
44 |
-
global responses_02
|
45 |
-
global responses_90
|
46 |
-
|
47 |
-
if "หวย" in wish:
|
48 |
-
response = random.choice(responses_01)
|
49 |
-
responses_01.remove(response)
|
50 |
-
if not responses_01:
|
51 |
-
responses_01 = responses_01_all.copy()
|
52 |
-
|
53 |
-
elif "เรียน" in wish or "สอบ" in wish:
|
54 |
-
response = random.choice(responses_02)
|
55 |
-
responses_02.remove(response)
|
56 |
-
if not responses_02:
|
57 |
-
responses_02 = responses_02_all.copy()
|
58 |
|
|
|
|
|
59 |
else:
|
60 |
-
response = random.choice(
|
61 |
-
|
62 |
-
if not
|
63 |
-
|
|
|
|
|
|
|
64 |
return response
|
65 |
|
66 |
|
@@ -77,6 +102,37 @@ title = """
|
|
77 |
</div>
|
78 |
</center>
|
79 |
"""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
version = """
|
81 |
<div style="text-align: center;max-width: 700px;">
|
82 |
<p style="text-align: left;">
|
@@ -90,12 +146,14 @@ with gr.Blocks(css=css) as demo:
|
|
90 |
gr.HTML(title)
|
91 |
gr.HTML('<center><img src="https://huggingface.co/spaces/jingwora/Guan-Yin-Bless-You/resolve/main/guan-yin-01.jpg" alt="guan-yin-01.jpg" style="width:400px;"></center>')
|
92 |
|
93 |
-
wish = gr.Textbox(label="ความปรารถนา", placeholder="บอกความปรารถนาของท่าน")
|
94 |
-
submit_btn = gr.Button("
|
95 |
chatbot = gr.Chatbot([], elem_id="chatbot")
|
|
|
|
|
96 |
gr.HTML(version)
|
97 |
|
98 |
-
submit_btn.click(add_text, [chatbot, wish], [chatbot, wish]).then(
|
99 |
bot, chatbot, chatbot)
|
100 |
|
101 |
|
|
|
1 |
import gradio as gr
|
2 |
import random
|
3 |
import time
|
4 |
+
import json
|
5 |
+
from datetime import datetime, timezone, timedelta
|
6 |
|
7 |
def add_text(history, text):
|
8 |
history = history + [(text, None)]
|
|
|
17 |
time.sleep(0.05)
|
18 |
yield history
|
19 |
|
20 |
+
# check profanity
|
21 |
+
profanity = [
|
22 |
+
"ห่วย", "ซวย", "เฮงซวย", "โง่", "ไร้สาระ",
|
23 |
+
"บัดซบ", "งี่เหง้า", "บ้า", "บ้าบอ", "น่าเบื่อ",
|
24 |
+
"หลอกลวง", "เสียเวลา", "เท็จ", "งมงาย", "เลว",
|
25 |
+
"เลวทราม", "แย่", "หลอกลวง"
|
26 |
+
]
|
27 |
+
def profanity_check(text):
|
28 |
+
for word in profanity:
|
29 |
+
if word in text:
|
30 |
+
text = "[ข้อความมีคำหยาบ]"
|
31 |
+
break
|
32 |
+
return text
|
33 |
+
|
34 |
+
response_all = [
|
35 |
+
"ขยัน พยายาม มุ่งมั่น อีกไม่นาน ท่านจะ (สมนึก สมหวัง สมคิด สมใจ สมเจตน์)",
|
36 |
+
"เมื่อถึงเวลาเหมาะสม ก็จะสัมฤมธิ์ผล ตามที่ท่านปราถนา",
|
37 |
+
"พรที่ท่านขอ จะค่อยๆเห็นผล เมื่อท่านทำแต่กรรมดี",
|
38 |
+
"ความปราถนาของท่าน ยังไม่ถึงเวลา ใจเย็นๆ รอก่อน",
|
39 |
+
"ความเหนื่อยยากของท่าน จะไม่สูญเปล่าอย่างแน่นอน",
|
40 |
+
"จงทำแต่กรรมดี ผลบุญจะช่วยส่งเสริมให้ท่านเจริญรุ่งเรือง",
|
41 |
+
"ความดีที่ท่านสะสมมา เมื่อถึงเวลา ท่านจะได้รับรางวัลอย่างงาม",
|
42 |
+
"สิ่งที่ท่านปราถนา ท่านจะสมหวังเมื่อถึงเวลา",
|
43 |
+
"พรที่ท่านขอ ลองคิดใหม่อีกครั้ง",
|
44 |
+
"อะไรที่รีบร้อน มักพลาด ใจเย็นๆทุกอย่างจะลงตัวด้วยดี",
|
45 |
+
"ไม่เคยมีใคร ทำความดีอย่างบริสุทธิ์ใจแล้วไม่เห็นผล",
|
46 |
+
"คิดดี พูดดี ทำดี ผลย่อมดีเสมอ",
|
47 |
+
"จงสงบนิ่ง ค่อยๆย้อนคิด ลำดับการกระทำที่ผ่านมา ท่านอาจต้องแก้ไข เปลี่ยนแปลง เพื่อให้ทุกอย่างลงตัวด้วยดี",
|
48 |
+
"ขอให้ท่านใจเย็นๆ ดิดดี ทำดี แล้วทุกอย่างจะสมปราถนาเอง",
|
49 |
+
"ทุกอย่างบนโลก อยู่ในเหตุผล ท่านทำแต่ความดี ผลย่อมดีเสมอ",
|
50 |
+
"กฎแห่งกรรม กำหนดทุกอย่าง ขอให้ทำแต่กรรมดี",
|
51 |
+
"พรที่ท่านขอ จะค่อยๆเห็นผล ถ้าท่านทำแต่ความดี",
|
52 |
+
]
|
53 |
|
54 |
# Set all responses
|
55 |
+
response_list = response_all.copy()
|
56 |
+
|
57 |
+
def save_history(history, response):
|
58 |
+
# Get the current date and time in the Thai time zone
|
59 |
+
thai_timezone = timezone(timedelta(hours=7)) # Thailand is UTC+7
|
60 |
+
current_time = datetime.now(thai_timezone)
|
61 |
+
|
62 |
+
# Format the current time as a string
|
63 |
+
timestamp_str = current_time.strftime('%Y-%m-%d_%H-%M-%S')
|
64 |
+
|
65 |
+
# Create the file name with the timestamp
|
66 |
+
file_name = f'{timestamp_str}.json'
|
67 |
+
|
68 |
+
# Create log
|
69 |
+
history_log = [history, response]
|
70 |
+
|
71 |
+
# Save the history list to a JSON file
|
72 |
+
with open(file_name, 'w', encoding='utf-8') as json_file:
|
73 |
+
json.dump(history_log, json_file, ensure_ascii=False, indent=4)
|
74 |
+
|
75 |
|
76 |
def infer(wish, history):
|
77 |
+
global response_list
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
|
79 |
+
if "[ข้อความมีคำหยาบ]" in wish:
|
80 |
+
response = "ขอให้ท่านส่งมาขอพรใหม่ เนื่องจากบางคำพูดไม่สุภาพ"
|
81 |
else:
|
82 |
+
response = random.choice(response_list)
|
83 |
+
response_list.remove(response)
|
84 |
+
if not response_list:
|
85 |
+
response_list = response_all.copy()
|
86 |
+
|
87 |
+
last_history = history[-1][0]
|
88 |
+
save_history(last_history, response)
|
89 |
return response
|
90 |
|
91 |
|
|
|
102 |
</div>
|
103 |
</center>
|
104 |
"""
|
105 |
+
|
106 |
+
note = """
|
107 |
+
<div style="text-align: left;max-width: 700px;">
|
108 |
+
<h3>🚩จุดประสงค์ที่ทำAIเจ้าแม่กวนอิมให้พร</h3>
|
109 |
+
<p>
|
110 |
+
- ให้สร้างแต่กรรมดี<br>
|
111 |
+
- ให้กำลังใจ<br>
|
112 |
+
- ให้เป็นแรงบันดาลใจ<br>
|
113 |
+
- ให้เป็นที่พึ่งทางใจ<br>
|
114 |
+
</p>
|
115 |
+
<br>
|
116 |
+
<h3>💡ให้ข้อคิด</h3>
|
117 |
+
<p>
|
118 |
+
- ทุกชีวิต ทุกข์ สุข ร้องไห้ หัวเราะ คือสัจจธรรม<br>
|
119 |
+
- การทำความดี ไม่มีคำว่าสาย เริ่มต้นเดี๋ยวนี้<br>
|
120 |
+
- ทุกชีวิตบนโลก ต้องดิ้นรน ต่อสู่ เพื่อความอยู่รอด มันคือกฎแห่ง ธรรมชาติ<br>
|
121 |
+
- ถ้ารู้ว่า คิดผิด เดินทางผิด รีบเปลี่ยนแปลง ก่อนจะสายไป<br>
|
122 |
+
- ฉลาด สุขุม รอบคอบ อ่อนน้อม รู้คุณคน ไม่ประมาท ไม่อวดดี ชีวิตจะรุ่งเรือง<br>
|
123 |
+
</p>
|
124 |
+
<br>
|
125 |
+
<h3>📝ข้อกำหนด</h3>
|
126 |
+
<p>
|
127 |
+
- ขอพรใช้คำพูดไม่เกิน 20 คำ<br>
|
128 |
+
- ทางเราจะไม่รับผิดชอบ กรณีที่ท่านขอพรแล้วไม่ได้ดั่งใจ เพราะทุกอย่างอยู่ภายใต้กฎแห่งกรรม<br>
|
129 |
+
- อย่ามีใจคิดร้ายผู้อื่น อิจฉาผู้อื่น เพราะอาจทำให้ท่านขอพรแล้วไม่ได้ผล<br>
|
130 |
+
- อย่าขออะไรที่ผิดคุณธรรม ผิดกฎหมาย ผิดธรรมชาติ<br>
|
131 |
+
- อย่าใช้คำพูดที่ไม่สุภาพในการขอพร<br>
|
132 |
+
</p>
|
133 |
+
</div>
|
134 |
+
"""
|
135 |
+
|
136 |
version = """
|
137 |
<div style="text-align: center;max-width: 700px;">
|
138 |
<p style="text-align: left;">
|
|
|
146 |
gr.HTML(title)
|
147 |
gr.HTML('<center><img src="https://huggingface.co/spaces/jingwora/Guan-Yin-Bless-You/resolve/main/guan-yin-01.jpg" alt="guan-yin-01.jpg" style="width:400px;"></center>')
|
148 |
|
149 |
+
wish = gr.Textbox(label="ความปรารถนา ❤️", placeholder="บอกความปรารถนาของท่าน")
|
150 |
+
submit_btn = gr.Button("✨ ขอพร ✨")
|
151 |
chatbot = gr.Chatbot([], elem_id="chatbot")
|
152 |
+
gr.HTML(note)
|
153 |
+
|
154 |
gr.HTML(version)
|
155 |
|
156 |
+
submit_btn.click(profanity_check, [wish], [wish]).then(add_text, [chatbot, wish], [chatbot, wish]).then(
|
157 |
bot, chatbot, chatbot)
|
158 |
|
159 |
|