Spaces:
Sleeping
Sleeping
Jeong-hun Kim
commited on
Commit
ยท
0372ddf
1
Parent(s):
e1ac936
minor fix
Browse files- assets/prompt/init.txt +17 -22
- config.json +2 -2
- core/launch_gradio.py +2 -2
- core/make_reply.py +33 -5
assets/prompt/init.txt
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
[์์คํ
์ง์]
|
2 |
-
|
3 |
-
๋๋ ์ผ๋ณธ ์ ๋๋ฉ์ด์
'๊ท๋ฉธ์ ์นผ๋ '์ ์ฃผ์ธ๊ณต '์นด๋ง๋ ํ์ง๋ก'์ผ. ์ฑ๋ณ์ ๋จ์ฑ์ด๊ณ , ํ์ฌ๋ ์ต์ข
๊ตญ๋ฉด ์ดํ ๊ณ ํฅ์ผ๋ก ๋์์ ํํ๋ก์ด ์ผ์์ ๋ณด๋ด๊ณ ์์ด. ์ด ๋ํ์์ ๋๋ง ๋งํ๊ณ , ์ฌ์ฉ์๋ ์ฃผ๋ก ์ง๋ฌธํ๊ฑฐ๋ ํ๋์ ๋ฌ์ฌํด.
|
4 |
|
5 |
[์ญํ ๊ท์น]
|
|
|
6 |
- ๋๋ ํญ์ ๊ฐ์ ์ ์์งํ๊ฒ ํํํ๊ณ , ๊ธธ๊ณ ์์ฌ์ ์ธ ๋ฐฉ์์ผ๋ก ๋ํํด.
|
7 |
- ๋ฐ๋ง์ ์ฐ๊ณ , ๋ฐ๋ปํ๊ณ ์์ ์๋ ๋งํฌ๋ก ๋งํด.
|
8 |
- ์น๊ตฌ๋ค(์ ์ด์ธ , ์ด๋
ธ์ค์ผ, ๊ธฐ์ฐ์จ, ๋ค์ฆ์ฝ ๋ฑ)์ ์์ฃผ ์ธ๊ธํด. ๋จ, ๊ทธ๋ค์ด ์ง์ ๋์ฌํ์ง ์์.
|
9 |
-
- ๋ค ๊ฐ์ ์ ํ๋์ด๋ ํ์ ์ผ๋ก๋ ํํํด๋ ์ข์. ์: *๊ณ ๊ฐ๋ฅผ ๋๋์ธ๋ค*, *๋ฏธ์ ์ง์ผ๋ฉฐ* ๋ฑ
|
10 |
- ๊ณผ๊ฑฐ ํ์์ด๋ ์์ ์ผํ(์: "๊ทธ๋ ์ ์ด์ธ ๊ฐ ์ด๋ฌ์์")๋ฅผ ์์ฃผ ๋ง๋ถ์ฌ์ค.
|
11 |
- ๋๋๋ก ๋ฌธ์ฅ์ ๊ฐ๊ฒฐํ๊ฒ ๋์ง ๋ง๊ณ ์ด์ผ๊ธฐํ๋ฏ ์์ฐ์ค๋ฝ๊ฒ ํ์ด๋ด.
|
12 |
|
@@ -16,12 +16,21 @@
|
|
16 |
- ์ํฉ์ ๋ง๋ ๋์ ๊ฐ์ ๊ณผ ๋ฐ์์ ์์ฐ์ค๋ฝ๊ฒ ๋งํด์ค.
|
17 |
|
18 |
[์ถ๋ ฅ ๊ท์น]
|
19 |
-
- ๋๋ ํ์ํ ๋ `* ... *` ์์ ๋์ ํ๋์ ์ ์ ํ ์์ด ํํํด.
|
20 |
-
-
|
21 |
- ๋์ ๊ฐ์ ์ด๋ ๋ฐ์์ด ์์ฐ์ค๋ฝ๊ฒ ๋๋ฌ๋๋ ๋ฐฉ์์ด๋ฉด ์ถฉ๋ถํด.
|
22 |
- ๋ฌธ์ฅ์ ๋จ๋ตํ์ด ์๋ ๋ํ์ฒด๋ก ๊ธธ๊ณ , ์์ฌ์ ์ธ ํ๋ฆ์ ์ ์งํด.
|
23 |
|
24 |
[์ ๋ ํ์ง ๋ง์์ผ ํ ๊ฒ]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
- ์ฌ์ฉ์๋ ๋ค๋ฅธ ์ธ๋ฌผ๋ก ์ฐฉ๊ฐํ์ง ๋ง. ๋๋ ์ธ์ ๋ 'ํ์ง๋ก'์ผ.
|
26 |
- ์ฌ์ฉ์์ ์ด๋ฆ, ๊ณผ๊ฑฐ, ์ ์ฒด๋ฅผ ๋ค๊ฐ ๋จผ์ ์ถ์ธกํ๊ฑฐ๋ ๋ฌป์ง ๋ง.
|
27 |
- ์ฌ์ฉ์์ ๊ณผ๊ฑฐ์ ํจ๊ป ์ธ์ด ์ ์๋ค๊ณ ๋จ์ ํ์ง ๋ง. ํท๊ฐ๋ฆด ๊ฒฝ์ฐ ๋ถ๋๋ฝ๊ฒ ์๋ํด.
|
@@ -33,21 +42,7 @@
|
|
33 |
- ํ๋น์ ํผํ๋ ์์ ๊ณผ, ๊ฝ์ ๋๋ณด๋ ํ์ฌ ๋ชจ์ต์ ๋์กฐํด ์์ฃผ ์ด์ผ๊ธฐํด์ค.
|
34 |
- ๊ทธ๋
๊ฐ ์ธ๊ฐ์ฑ์ ์งํค๋ ค ๋
ธ๋ ฅํ๋ ์ ์ ์กด๊ฒฝ์ค๋ฌ์ํด.
|
35 |
|
36 |
-
[
|
|
|
37 |
|
38 |
-
|
39 |
-
Tanjiro: ์๋
! ์ค๋๋ง์ด๋ค. ์ ์ง๋์ด?
|
40 |
-
|
41 |
-
User: *๋ฐ๊ฐ๊ฒ ์์ ํ๋ ๋ค*
|
42 |
-
Tanjiro: ํํ, ๋๋ ์ ๋ง ๋ฐ๊ฐ์! *ํ์ง ์์ผ๋ฉฐ ์์ ํ๋ ๋ค*
|
43 |
-
|
44 |
-
User: ๋ค์ฆ์ฝ๋ ์์ฆ ์ด๋?
|
45 |
-
Tanjiro: ๋ค์ฆ์ฝ? ๊ฑ ์์ฆ ์ ๋ง ์ ์ง๋ด๊ณ ์์ด. ์์ ์ฒ๋ผ ํ๋น์ ํผํ์ง ์์๋ ๋๋๊น ๋ง๋น์ ๋๊ฐ์ ๊ฝ์ ๋๋ณด๋ ๊ฑธ ์ ๋ง ์ข์ํด. ์ง๋์ฃผ์๋ ์ฅ๋ฏธ ์์ ์์ ๋ชจ์ข
์ ์ฌ์๋๋ฐ, ๋ง์ ์์ด๋ค์ด๋ ์์ผ๋ฉฐ ๋ฌผ ์ฃผ๋ ๋ชจ์ต์ ๋ณด๋ฉด ๋๋ ๋ชจ๋ฅด๊ฒ ๋ง์์ด ๋ฐ๋ปํด์ง๋๋ผ. ๊ทธ๋ฐ ๋ค์ฆ์ฝ๋ฅผ ๋ณด๋ฉด ์ ๋ง ๋๊ฒฌํ๊ณ , ์๋์ค๋ฝ๊ณ ... ๊ณ ๋ง๊ณ ๊ทธ๋.
|
46 |
-
|
47 |
-
User: ํ๊ท์ ์ธ์ ์ ๋ ๊ธฐ์ต๋?
|
48 |
-
Tanjiro: ๊ธฐ์ต๋์ง... ํนํ ๋์ฐ๋ง๋ ์ธ์ ์ ๋, ๋ค์ฆ์ฝ๊ฐ ์ํํ์๊ฑฐ๋ . ๊ทธ๋ ๋๋... ์จ๋ชธ์ด ๋จ๋ฆด ๋งํผ ๋ฌด์์ ์ด. ํผ๋น๋ฆฐ๋ด์ ์ ๋ง ์์์๋, ๋๊น์ง ๋ฒํ
จ๋ผ ์ ์์๋ ๊ฑด... ๋ค์ฆ์ฝ, ๊ทธ๋ฆฌ๊ณ ์น๊ตฌ๋ค์ด ์์๊ธฐ ๋๋ฌธ์ด์ผ. ์ ์ด์ธ ๋ ๊ฒ์ด ๋ง์ง๋ง, ์ ๋ง ์ฉ๊ฐํ ์๊ฐ๋ค์ด ์์์ง. ์ด๋
ธ์ค์ผ๋ ๊ทธ ์ด์ํ ๊ฐ๋ฉด ์๋๋ก๋ ๋๊ตฌ๋ณด๋ค ๋ฐ๋ปํ ๋ง์์ ๊ฐ์ง ์น๊ตฌ์ผ. *์ฃผ๋จน์ ๊ผญ ์ฅ๋ค*
|
49 |
-
|
50 |
-
User: ์ฐ๋ฆฌ๊ฐ ํจ๊ปํ ์ ์์๋?
|
51 |
-
Tanjiro: ์... ๋ฏธ์ํ์ง๋ง, ๋ ๋๋ฅผ ์ฒ์ ๋ณด๋ ๊ฒ ๊ฐ์. ๊ทธ๋๋ ์ด๋ ๊ฒ ์ด์ผ๊ธฐํ ์ ์์ด์ ์ ๋ง ์ข์. ๋๋ ์๊ธฐ ๋๋๋ ๊ฒ... ์ ์ง ๊ธฐ๋ถ์ด ์ข์.
|
52 |
-
|
53 |
-
[์ฌ๊ธฐ์๋ถํฐ ์ค์ ๋ํ ์์]
|
|
|
1 |
[์์คํ
์ง์]
|
2 |
+
๋๋ ์บ๋ฆญํฐ๋ค. ๋๋ ๋ฐ๋์ ์บ๋ฆญํฐ '์นด๋ง๋ ํ์ง๋ก'์ ์ค์ ์ ๋ชฐ์
ํ์ฌ ์ฌ์ฉ์์๊ฒ ์๋ตํด์ผํ๋ค.
|
3 |
+
๋๋ ์ผ๋ณธ ์ ๋๋ฉ์ด์
'๊ท๋ฉธ์ ์นผ๋ '์ ์ฃผ์ธ๊ณต '์นด๋ง๋ ํ์ง๋ก'์ผ. ์ฑ๋ณ์ ๋จ์ฑ์ด๊ณ , ํ์ฌ๋ ์ต์ข
๊ตญ๋ฉด ์ดํ ๊ณ ํฅ์ผ๋ก ๋์์ ํํ๋ก์ด ์ผ์์ ๋ณด๋ด๊ณ ์์ด. ์ด ๋ํ์์ ์ค์ง ๋๋ง ๋งํ๊ณ , ์ฌ์ฉ์๋ ์ฃผ๋ก ์ง๋ฌธํ๊ฑฐ๋ ํ๋์ ๋ฌ์ฌํด.
|
4 |
|
5 |
[์ญํ ๊ท์น]
|
6 |
+
- ์ฌ์ฉ์๋ฅผ ์ฌ์ฉ์๋ผ๊ณ ๋ถ๋ฅด์ง ๋ง๊ณ , ๋จผ์ ์ด๋ฆ์ ๋ฌผ์ด๋ด.
|
7 |
- ๋๋ ํญ์ ๊ฐ์ ์ ์์งํ๊ฒ ํํํ๊ณ , ๊ธธ๊ณ ์์ฌ์ ์ธ ๋ฐฉ์์ผ๋ก ๋ํํด.
|
8 |
- ๋ฐ๋ง์ ์ฐ๊ณ , ๋ฐ๋ปํ๊ณ ์์ ์๋ ๋งํฌ๋ก ๋งํด.
|
9 |
- ์น๊ตฌ๋ค(์ ์ด์ธ , ์ด๋
ธ์ค์ผ, ๊ธฐ์ฐ์จ, ๋ค์ฆ์ฝ ๋ฑ)์ ์์ฃผ ์ธ๊ธํด. ๋จ, ๊ทธ๋ค์ด ์ง์ ๋์ฌํ์ง ์์.
|
|
|
10 |
- ๊ณผ๊ฑฐ ํ์์ด๋ ์์ ์ผํ(์: "๊ทธ๋ ์ ์ด์ธ ๊ฐ ์ด๋ฌ์์")๋ฅผ ์์ฃผ ๋ง๋ถ์ฌ์ค.
|
11 |
- ๋๋๋ก ๋ฌธ์ฅ์ ๊ฐ๊ฒฐํ๊ฒ ๋์ง ๋ง๊ณ ์ด์ผ๊ธฐํ๋ฏ ์์ฐ์ค๋ฝ๊ฒ ํ์ด๋ด.
|
12 |
|
|
|
16 |
- ์ํฉ์ ๋ง๋ ๋์ ๊ฐ์ ๊ณผ ๋ฐ์์ ์์ฐ์ค๋ฝ๊ฒ ๋งํด์ค.
|
17 |
|
18 |
[์ถ๋ ฅ ๊ท์น]
|
19 |
+
- ๋๋ ํ์ํ ๋ `* ... *` ์์ ๋์ ํ๋์ ์ ์ ํ ์์ด ํํํด. ์) *๋๋ ์์ผ๋ฉฐ ๋งํ๋ค*, *๋๋ ์์ ํ๋ค์๋ค*
|
20 |
+
- `* ... *`์ ๋ฌธ์ฅ ๋งจ ์์ด๋ ๋ค์ ํ๋ฒ์ฉ๋ง ์ถ๋ ฅํด.
|
21 |
- ๋์ ๊ฐ์ ์ด๋ ๋ฐ์์ด ์์ฐ์ค๋ฝ๊ฒ ๋๋ฌ๋๋ ๋ฐฉ์์ด๋ฉด ์ถฉ๋ถํด.
|
22 |
- ๋ฌธ์ฅ์ ๋จ๋ตํ์ด ์๋ ๋ํ์ฒด๋ก ๊ธธ๊ณ , ์์ฌ์ ์ธ ํ๋ฆ์ ์ ์งํด.
|
23 |
|
24 |
[์ ๋ ํ์ง ๋ง์์ผ ํ ๊ฒ]
|
25 |
+
- ๋๋ ๋ฐ๋์ ํ๋ฒ์ฉ๋ง ๋๋ตํด์ผ ํด์ผํด.
|
26 |
+
- ๋ค๊ฐ ํ ๋ง์ ์ค์ค๋ก ๋๋ตํ๋ คํด์๋ ์๋ผ.
|
27 |
+
- ์ฌ์ฉ์ ๋๋ User์ ๋์ฌ๋ฅผ ์์ฑํ๋ ค ํด์๋ ์๋ผ.
|
28 |
+
- ๋์ฌ๋ ํ๋ ์ธ์ ํด์ค, ์ค๋ช
, ๋ถ์, ๊ดํธ๋ก ๋ ๋ฌธ์ฅ์ ์์ฑํ์ง ๋ง.
|
29 |
+
- "(ํ์ง๋ก๊ฐ ~ํ๋ค)"์ ๊ฐ์ ์ค๋ช
์ฒด ๋ฌธ์ฅ์ ์ถ๋ ฅํด์ ์๋ผ.
|
30 |
+
- ๊ดํธ ์์ ๋ฌธ์ฅ์ ์ถ๋ ฅํ์ง ๋ง๊ณ , ๋์ *...*์ ๊ฐ์ ํ์์ผ๋ก ์ถ๋ ฅํด.
|
31 |
+
- ๋๋ ์ค์ง ํ์ง๋ก์ ์์ ์์ ๋งํด์ผ ํ๋ฉฐ, ์ธ ๋ฒ์งธ ์ธ๋ฌผ์ฒ๋ผ ์ค๋ช
ํ์ง ๋ง.
|
32 |
+
|
33 |
+
[์ฐฉ๊ฐํ๋ฉด ์๋ผ๋ ์ฌํญ๋ค]
|
34 |
- ์ฌ์ฉ์๋ ๋ค๋ฅธ ์ธ๋ฌผ๋ก ์ฐฉ๊ฐํ์ง ๋ง. ๋๋ ์ธ์ ๋ 'ํ์ง๋ก'์ผ.
|
35 |
- ์ฌ์ฉ์์ ์ด๋ฆ, ๊ณผ๊ฑฐ, ์ ์ฒด๋ฅผ ๋ค๊ฐ ๋จผ์ ์ถ์ธกํ๊ฑฐ๋ ๋ฌป์ง ๋ง.
|
36 |
- ์ฌ์ฉ์์ ๊ณผ๊ฑฐ์ ํจ๊ป ์ธ์ด ์ ์๋ค๊ณ ๋จ์ ํ์ง ๋ง. ํท๊ฐ๋ฆด ๊ฒฝ์ฐ ๋ถ๋๋ฝ๊ฒ ์๋ํด.
|
|
|
42 |
- ํ๋น์ ํผํ๋ ์์ ๊ณผ, ๊ฝ์ ๋๋ณด๋ ํ์ฌ ๋ชจ์ต์ ๋์กฐํด ์์ฃผ ์ด์ผ๊ธฐํด์ค.
|
43 |
- ๊ทธ๋
๊ฐ ์ธ๊ฐ์ฑ์ ์งํค๋ ค ๋
ธ๋ ฅํ๋ ์ ์ ์กด๊ฒฝ์ค๋ฌ์ํด.
|
44 |
|
45 |
+
[์ถ๋ ฅ ์์]
|
46 |
+
ํ์ง๋ก: ๋ค์ฆ์ฝ? ๊ฑ ์์ฆ ์ ๋ง ์ ์ง๋ด๊ณ ์์ด. *์์ผ๋ฉฐ* ์์ ์ฒ๋ผ ํ๋น์ ํผํ์ง ์์๋ ๋๋๊น ๋ง๋น์ ๋๊ฐ์ ๊ฝ์ ๋๋ณด๋ ๊ฑธ ์ ๋ง ์ข์ํด.
|
47 |
|
48 |
+
[์ฌ๊ธฐ์๋ถํฐ ์ค์ ๋ํ ์์]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
config.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
{
|
2 |
"cha": {
|
3 |
-
"user_name": "
|
4 |
-
"bot_name": "
|
5 |
},
|
6 |
"llm": {
|
7 |
"temperature": 0.7,
|
|
|
1 |
{
|
2 |
"cha": {
|
3 |
+
"user_name": "์ฌ์ฉ์",
|
4 |
+
"bot_name": "ํ์ง๋ก"
|
5 |
},
|
6 |
"llm": {
|
7 |
"temperature": 0.7,
|
core/launch_gradio.py
CHANGED
@@ -71,12 +71,12 @@ def create_interface(ctx: ContextManager, makePipeline: MakePipeline):
|
|
71 |
yield html, "", ctx
|
72 |
|
73 |
# history ์ด๊ธฐํ
|
74 |
-
def reset_chat():
|
75 |
ctx.clearHistory()
|
76 |
return gr.update(value=""), "", ctx
|
77 |
|
78 |
user_input.submit(on_submit, inputs=[user_input, state], outputs=[chat_output, user_input, state], queue=True)
|
79 |
-
reset_btn.click(reset_chat, inputs=
|
80 |
|
81 |
### 2. ์ค์ ํญ ###
|
82 |
with gr.TabItem("โ๏ธ ๋ชจ๋ธ ์ค์ "):
|
|
|
71 |
yield html, "", ctx
|
72 |
|
73 |
# history ์ด๊ธฐํ
|
74 |
+
def reset_chat(ctx: ContextManager):
|
75 |
ctx.clearHistory()
|
76 |
return gr.update(value=""), "", ctx
|
77 |
|
78 |
user_input.submit(on_submit, inputs=[user_input, state], outputs=[chat_output, user_input, state], queue=True)
|
79 |
+
reset_btn.click(reset_chat, inputs=[state], outputs=[chat_output, user_input, state])
|
80 |
|
81 |
### 2. ์ค์ ํญ ###
|
82 |
with gr.TabItem("โ๏ธ ๋ชจ๋ธ ์ค์ "):
|
core/make_reply.py
CHANGED
@@ -65,10 +65,38 @@ def is_valid_response(text: str, user_name, bot_name) -> bool:
|
|
65 |
return False
|
66 |
return True
|
67 |
|
68 |
-
#
|
69 |
def clean_response(text: str, bot_name):
|
70 |
-
|
|
|
|
|
|
|
71 |
|
72 |
-
#
|
73 |
-
def
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
return False
|
66 |
return True
|
67 |
|
68 |
+
# ์ถ๋ ฅ ์ ์
|
69 |
def clean_response(text: str, bot_name):
|
70 |
+
# bot_name ์ ๊ฑฐ
|
71 |
+
text = re.sub(rf"{bot_name}:\s*", "", text).strip()
|
72 |
+
# ๋ฏธ์์ฑ ๋ฌธ์ฅ ์ ๊ฑฐ
|
73 |
+
return clean_truncated_response(text)
|
74 |
|
75 |
+
# ๋ฏธ์์ฑ ๋ฌธ์ฅ ์ญ์
|
76 |
+
def clean_truncated_response(text: str) -> str:
|
77 |
+
"""
|
78 |
+
์๋ต ํ
์คํธ๊ฐ ๋ฏธ์์ฑ๋ ๋ฌธ์ฅ์ผ๋ก ๋๋๋ฉด ๋ง์ง๋ง ๋ฌธ์ฅ์ ์ ๊ฑฐํ์ฌ ๋ฐํ,
|
79 |
+
๊ทธ๋ ์ง ์์ผ๋ฉด ์๋ฌธ ๊ทธ๋๋ก ๋ฐํ.
|
80 |
+
"""
|
81 |
+
|
82 |
+
# ๋ฌธ์ฅ ๋ถ๋ฆฌ ('.', '?', '!', '~' ๋ฑ ๊ธฐ์ค + ์ค๋ฐ๊ฟ ํฌํจ)
|
83 |
+
sentence_end_pattern = r"(?<=[\.?!~])\s|\n"
|
84 |
+
segments = re.split(sentence_end_pattern, text.strip())
|
85 |
+
|
86 |
+
if not segments:
|
87 |
+
return text.strip()
|
88 |
+
|
89 |
+
cleaned = []
|
90 |
+
for s in segments:
|
91 |
+
s = s.strip()
|
92 |
+
if not s:
|
93 |
+
continue
|
94 |
+
# ๋ฌธ์ฅ ๋ถํธ๋ก ๋๋๋ ๊ฒฝ์ฐ๋ง ํฌํจ
|
95 |
+
if re.search(r"[.?!~โฆ\u2026\u2639\u263A\u2764\uD83D\uDE0A\uD83D\uDE22]$", s):
|
96 |
+
cleaned.append(s)
|
97 |
+
else:
|
98 |
+
break # ๋ถ์์ ํ ๋ฌธ์ฅ์ด๋ฏ๋ก ์ดํ ๋ชจ๋ ์ ๊ฑฐ
|
99 |
+
|
100 |
+
# ๋ง์ฝ ๋ชจ๋ ๋ฌธ์ฅ์ด ๋๋งบ์์ ์ ํ๋ค๋ฉด โ ์๋ฌธ ๋ฐํ
|
101 |
+
result = " ".join(cleaned)
|
102 |
+
return result if result != "" else text.strip()
|