jingwora commited on
Commit
acaf0a9
·
1 Parent(s): 581e3ec

Add application file

Browse files
Files changed (1) hide show
  1. app.py +101 -43
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
- responses_01_all = [
20
- "ขอให้ถูกหวยรางวัลที่ 1",
21
- "ขอให้ถูกรางวัลงวดนี้",
22
- ]
23
-
24
- # เรียน สอบ
25
- responses_02_all = [
26
- "ขอให้ความขยันและความพยายาม นำมาสู่ความสำเร็จ",
27
- "ขอให้ผลการเรียนทำได้ดีกว่าที่คาด",
28
- ]
29
-
30
- # all others
31
- responses_90_all = [
32
- "ความปรารถนาของคุณ จะเป็นจริงในเร็ววัน",
33
- "ความดีของคุณจะทำให้ทุกสิ่งสมหวัง",
34
- "ความกตัญญูของคุณจะทำให้ทุกอย่างสมหวัง",
35
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
 
37
  # Set all responses
38
- responses_01 = responses_01_all.copy()
39
- responses_02 = responses_02_all.copy()
40
- responses_90 = responses_90_all.copy()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
 
42
  def infer(wish, history):
43
- global responses_01
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(responses_90)
61
- responses_90.remove(response)
62
- if not responses_90:
63
- responses_90 = responses_90_all.copy()
 
 
 
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