Spaces:
Runtime error
Runtime error
edit UI for small device & refactor major func
Browse files- .env +1 -0
- .gitignore +1 -0
- app.py +12 -10
.env
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
OPENAI_API_KEY = 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
|
.gitignore
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
.env
|
app.py
CHANGED
@@ -4,7 +4,7 @@ import streamlit as st
|
|
4 |
import openai
|
5 |
import os
|
6 |
import sys
|
7 |
-
from gpt_based_function import gpt_keyword_highlighter, gpt_text_naturalizer, gpt_explanation_generator, gpt_easier_text_generator, gpt_rater
|
8 |
import concurrent.futures
|
9 |
from tqdm import tqdm
|
10 |
|
@@ -13,8 +13,7 @@ from tqdm import tqdm
|
|
13 |
# os.chdir(current_path)
|
14 |
# sys.path.append(current_path)
|
15 |
|
16 |
-
|
17 |
-
openai.api_key = os.getenv("OPENAI_API_KEY") # ์ค์ ์ฝ๋์์ ์ฃผ์ ํด์
|
18 |
st.set_page_config(layout="wide")
|
19 |
|
20 |
user_text = """๋ฏผ์ฃผ์ฃผ์ ์ฌํ๋ ๊ตญ๋ฏผ์ด ์ ์น์ ์ฐธ์ฌํ ๊ถ๋ฆฌ๋ฅผ ๋ณด์ฅํ๋ค. ๊ทธ๋ฌํ ๊ถ๋ฆฌ๋ฅผ ์ฐธ์ ๊ถ์ด๋ผ ํ๋๋ฐ, ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก โ์ ๊ฑฐโ๋ก ์คํ๋๋ค. ์ ๊ฑฐ๋ ์ฌํ ์ง๋จ์ ๋ํ์๋ ๊ณต์ง์๋ฅผ ์ ์ถํ์ฌ ๊ทธ๋ค์๊ฒ ๋ํ์ฑ์ ๋ถ์ฌํ๋ ํ์์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋์ ํฌํ์จ์ ๋ฏผ์ฃผ์ฃผ์์ ์ ๋น์ฑ ํ๋ณด์ ๊น์ ๊ด๋ จ์ด ์๋ค.
|
@@ -22,10 +21,13 @@ user_text = """๋ฏผ์ฃผ์ฃผ์ ์ฌํ๋ ๊ตญ๋ฏผ์ด ์ ์น์ ์ฐธ์ฌํ ๊ถ๋ฆฌ๋ฅผ
|
|
22 |
์๋ฌด ํฌํ์ ๋ฅผ ๋์
ํ์๋ ์ธก์ ๋ฎ์ ํฌํ์จ๋ก ํฌํ ๊ฒฐ๊ณผ์ ์ ๋น์ฑ์ ํ๋ณดํ์ง ๋ชปํ๋ ๋ฌธ์ ๊ฐ ๋งค์ฐ ์ฌ๊ฐํ๋ค๊ณ ์ฃผ์ฅํ๋ค. ๋ ์๋ฌด ํฌํ์ ์ ๊ฐ์ ์ฑ๊ณผ ๋ฒ์ ์ ์ฌ๊ฐ ํฌํ์จ์ ๋์ด๋ฏ๋ก ํฌํ์จ์ด ๋ฎ์์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค๊ณ ๋ณธ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ตญ๋ฏผ ๋๋ถ๋ถ์ด ํฌํ์ ์ฐธ์ฌํ๊ฒ ๋๋ฉด ์ ์น์ธ๋ค์ด ๋ชจ๋ ๊ณ์ธต์ ์ง์ง๋ฅผ ๋ฐ๊ธฐ ์ํด ์ ์ฑ
๊ฒฝ์๋ ฅ์ ๋์ด๋ ค ํ ๊ฒ์ด๋ฏ๋ก ์ ์น ์์ธ ๊ณ์ธต์ ๋์ฑ ๊ด์ฌ์ ์๋ ํจ๊ณผ๊ฐ ์์ ๊ฒ์ด๋ผ๊ณ ์ด์ผ๊ธฐํ๋ค.
|
23 |
๋ฐ๋ฉด ์๋ฌด ํฌํ์ ์ ๋ฐ๋ํ๋ ์ธก์ ํ์ฌ ์ฐ๋ฆฌ๋๋ผ์ ํฌํ์จ์ด ์ ์น ์ง๋์๋ค์ ๋ํ์ฑ์ ํผ์ํ ๋งํผ ์ฌ๊ฐํ ์ํฉ์ ์๋๋ผ๊ณ ์ฃผ์ฅํ๋ค. ๋ ํฌํ์จ์ ๋์ด๋ ๊ฒ๋ณด๋ค ๊ตญ๋ฏผ์ ์ ๋ขฐ๋ฅผ ํ๋ณตํ๋ ๊ฒ์ด ๋ ์ค์ํ๊ณ , ์๋ฏผ ๊ต์ก์ด๋ ๋ชจ์ ํฌํ ๊ต์ก ํ๋ก๊ทธ๋จ์ผ๋ก๋ ํฌํ์จ ์์น์ ๊ธฐ๋ํ ์ ์๋ค๋ฉฐ ์๋ฌด ํฌํ์ ์ ๋์
๋ง์ด ํฌํ์จ์ด๋ ์ ์น์ ๊ด์ฌ์ ๋์ด๋ ํด๊ฒฐ ๋ฐฉ์์ ์๋๋ผ๊ณ ์ด์ผ๊ธฐํ๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฌด ํฌํ์ ๋ฅผ ๋์
ํ๋ฉด, ์ ์ถ๋ ์ ์น์ธ๋ค์ด ๋์ ํฌํ์จ์ ํ๊ณ๋ก ์ํ๋ฌด์ธ์ ํ๋๋ฅผ ๊ฐ๋ ๋ถ์์ฉ์ด ์๊ธด๋ค๋ ๊ฐ ํ๋ณด์๋ฅผ ์ ๋ชจ๋ฅด๋ ์ํ์์ ํฌํํ๋ ์ผ์ด ๋ฐ์ํ์ฌ ๊ตญ๋ฏผ์ ๋ป์ด ์คํ๋ ค ์๊ณก๋ ์ ์๋ค๋ฉฐ ์ฐ๋ ค์ ๋ชฉ์๋ฆฌ๋ฅผ ๋ด๊ณ ์๋ค."""
|
24 |
|
|
|
|
|
25 |
user_text_paragraphs = user_text.split("\n") #๋ฌธ๋จ๋ณ๋ก ์ชผ๊ฐ๊ธฐ
|
26 |
|
27 |
is_easier_button_pressed = [False]*len(user_text_paragraphs)
|
28 |
|
|
|
29 |
def run(list_sum):
|
30 |
with concurrent.futures.ThreadPoolExecutor() as executor:
|
31 |
results = list(tqdm(executor.map(gpt_keyword_highlighter, list_sum), total=len(list_sum)))
|
@@ -80,10 +82,10 @@ def display_preset_func_btns(col):
|
|
80 |
# ๋ฒํผ row
|
81 |
cols = st.columns(2)
|
82 |
with cols[0]:
|
83 |
-
btn_gpt_keyword_func = st.button("
|
84 |
if btn_gpt_keyword_func and st.session_state.points > 0: # ํฌ์ธํธ ์ฒดํฌ
|
85 |
update_points(-1) # ํฌ์ธํธ ๊ฐ์
|
86 |
-
st.session_state.history.append(["
|
87 |
|
88 |
global is_easier_button_pressed
|
89 |
is_easier_button_pressed = [True]*len(user_text_paragraphs)
|
@@ -108,10 +110,10 @@ def display_preset_func_btns(col):
|
|
108 |
|
109 |
with cols[1]:
|
110 |
global btn_gpt_easier_text_func
|
111 |
-
btn_gpt_easier_text_func = st.button("
|
112 |
if btn_gpt_easier_text_func and st.session_state.points > 0: # ํฌ์ธํธ ์ฒดํฌ
|
113 |
update_points(-1) # ํฌ์ธํธ ๊ฐ์
|
114 |
-
st.session_state.history.append(["
|
115 |
|
116 |
|
117 |
# return btn_gpt_keyword_func, btn_gpt_easier_text_func
|
@@ -188,12 +190,12 @@ def display_qna_with_gpt():
|
|
188 |
if btn_gpt_easier_text_func and st.session_state.points > 0:
|
189 |
easier_text = gpt_easier_text_generator(user_input)
|
190 |
|
191 |
-
#
|
192 |
st.write(f"์ฌ์ด ๊ธ: {easier_text}")
|
193 |
pass
|
194 |
else:
|
195 |
if st.session_state.points == 0:
|
196 |
-
st.write("ํฌ์ธํธ๊ฐ ์์ด์
|
197 |
pass
|
198 |
|
199 |
|
@@ -201,7 +203,7 @@ def display_qna_with_gpt():
|
|
201 |
def main():
|
202 |
st.title("์ฑGPT์ ํจ๊ป ์์ฝํ๊ธฐ")
|
203 |
#ํฌ์ธํธ ์์คํ
์ค๋ช
์ถ๊ฐ
|
204 |
-
st.sidebar.markdown("ํฌ์ธํธ๋ 3์ ๋ถํฐ ์์ํด์,
|
205 |
|
206 |
# col1, col2 = st.columns(2)
|
207 |
display_preset_func_btns(col)
|
|
|
4 |
import openai
|
5 |
import os
|
6 |
import sys
|
7 |
+
from gpt_based_function import gpt_summary_generator, gpt_keyword_highlighter, gpt_text_naturalizer, gpt_explanation_generator, gpt_easier_text_generator, gpt_rater
|
8 |
import concurrent.futures
|
9 |
from tqdm import tqdm
|
10 |
|
|
|
13 |
# os.chdir(current_path)
|
14 |
# sys.path.append(current_path)
|
15 |
|
16 |
+
openai.api_key = os.getenv("OPENAI_API_KEY")
|
|
|
17 |
st.set_page_config(layout="wide")
|
18 |
|
19 |
user_text = """๋ฏผ์ฃผ์ฃผ์ ์ฌํ๋ ๊ตญ๋ฏผ์ด ์ ์น์ ์ฐธ์ฌํ ๊ถ๋ฆฌ๋ฅผ ๋ณด์ฅํ๋ค. ๊ทธ๋ฌํ ๊ถ๋ฆฌ๋ฅผ ์ฐธ์ ๊ถ์ด๋ผ ํ๋๋ฐ, ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก โ์ ๊ฑฐโ๋ก ์คํ๋๋ค. ์ ๊ฑฐ๋ ์ฌํ ์ง๋จ์ ๋ํ์๋ ๊ณต์ง์๋ฅผ ์ ์ถํ์ฌ ๊ทธ๋ค์๊ฒ ๋ํ์ฑ์ ๋ถ์ฌํ๋ ํ์์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋์ ํฌํ์จ์ ๋ฏผ์ฃผ์ฃผ์์ ์ ๋น์ฑ ํ๋ณด์ ๊น์ ๊ด๋ จ์ด ์๋ค.
|
|
|
21 |
์๋ฌด ํฌํ์ ๋ฅผ ๋์
ํ์๋ ์ธก์ ๋ฎ์ ํฌํ์จ๋ก ํฌํ ๊ฒฐ๊ณผ์ ์ ๋น์ฑ์ ํ๋ณดํ์ง ๋ชปํ๋ ๋ฌธ์ ๊ฐ ๋งค์ฐ ์ฌ๊ฐํ๋ค๊ณ ์ฃผ์ฅํ๋ค. ๋ ์๋ฌด ํฌํ์ ์ ๊ฐ์ ์ฑ๊ณผ ๋ฒ์ ์ ์ฌ๊ฐ ํฌํ์จ์ ๋์ด๋ฏ๋ก ํฌํ์จ์ด ๋ฎ์์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค๊ณ ๋ณธ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ตญ๋ฏผ ๋๋ถ๋ถ์ด ํฌํ์ ์ฐธ์ฌํ๊ฒ ๋๋ฉด ์ ์น์ธ๋ค์ด ๋ชจ๋ ๊ณ์ธต์ ์ง์ง๋ฅผ ๋ฐ๊ธฐ ์ํด ์ ์ฑ
๊ฒฝ์๋ ฅ์ ๋์ด๋ ค ํ ๊ฒ์ด๋ฏ๋ก ์ ์น ์์ธ ๊ณ์ธต์ ๋์ฑ ๊ด์ฌ์ ์๋ ํจ๊ณผ๊ฐ ์์ ๊ฒ์ด๋ผ๊ณ ์ด์ผ๊ธฐํ๋ค.
|
22 |
๋ฐ๋ฉด ์๋ฌด ํฌํ์ ์ ๋ฐ๋ํ๋ ์ธก์ ํ์ฌ ์ฐ๋ฆฌ๋๋ผ์ ํฌํ์จ์ด ์ ์น ์ง๋์๋ค์ ๋ํ์ฑ์ ํผ์ํ ๋งํผ ์ฌ๊ฐํ ์ํฉ์ ์๋๋ผ๊ณ ์ฃผ์ฅํ๋ค. ๋ ํฌํ์จ์ ๋์ด๋ ๊ฒ๋ณด๋ค ๊ตญ๋ฏผ์ ์ ๋ขฐ๋ฅผ ํ๋ณตํ๋ ๊ฒ์ด ๋ ์ค์ํ๊ณ , ์๋ฏผ ๊ต์ก์ด๋ ๋ชจ์ ํฌํ ๊ต์ก ํ๋ก๊ทธ๋จ์ผ๋ก๋ ํฌํ์จ ์์น์ ๊ธฐ๋ํ ์ ์๋ค๋ฉฐ ์๋ฌด ํฌํ์ ์ ๋์
๋ง์ด ํฌํ์จ์ด๋ ์ ์น์ ๊ด์ฌ์ ๋์ด๋ ํด๊ฒฐ ๋ฐฉ์์ ์๋๋ผ๊ณ ์ด์ผ๊ธฐํ๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฌด ํฌํ์ ๋ฅผ ๋์
ํ๋ฉด, ์ ์ถ๋ ์ ์น์ธ๋ค์ด ๋์ ํฌํ์จ์ ํ๊ณ๋ก ์ํ๋ฌด์ธ์ ํ๋๋ฅผ ๊ฐ๋ ๋ถ์์ฉ์ด ์๊ธด๋ค๋ ๊ฐ ํ๋ณด์๋ฅผ ์ ๋ชจ๋ฅด๋ ์ํ์์ ํฌํํ๋ ์ผ์ด ๋ฐ์ํ์ฌ ๊ตญ๋ฏผ์ ๋ป์ด ์คํ๋ ค ์๊ณก๋ ์ ์๋ค๋ฉฐ ์ฐ๋ ค์ ๋ชฉ์๋ฆฌ๋ฅผ ๋ด๊ณ ์๋ค."""
|
23 |
|
24 |
+
# gpt_summary = gpt_summary_generator(user_text)
|
25 |
+
|
26 |
user_text_paragraphs = user_text.split("\n") #๋ฌธ๋จ๋ณ๋ก ์ชผ๊ฐ๊ธฐ
|
27 |
|
28 |
is_easier_button_pressed = [False]*len(user_text_paragraphs)
|
29 |
|
30 |
+
|
31 |
def run(list_sum):
|
32 |
with concurrent.futures.ThreadPoolExecutor() as executor:
|
33 |
results = list(tqdm(executor.map(gpt_keyword_highlighter, list_sum), total=len(list_sum)))
|
|
|
82 |
# ๋ฒํผ row
|
83 |
cols = st.columns(2)
|
84 |
with cols[0]:
|
85 |
+
btn_gpt_keyword_func = st.button("ํค์๋ ์ฐพ์์ค")
|
86 |
if btn_gpt_keyword_func and st.session_state.points > 0: # ํฌ์ธํธ ์ฒดํฌ
|
87 |
update_points(-1) # ํฌ์ธํธ ๊ฐ์
|
88 |
+
st.session_state.history.append(["ํค์๋ ์ฐพ์์ค", -1, st.session_state.points])
|
89 |
|
90 |
global is_easier_button_pressed
|
91 |
is_easier_button_pressed = [True]*len(user_text_paragraphs)
|
|
|
110 |
|
111 |
with cols[1]:
|
112 |
global btn_gpt_easier_text_func
|
113 |
+
btn_gpt_easier_text_func = st.button("์ฝ๊ฒ ๋ค์ ์๋ ค์ค")
|
114 |
if btn_gpt_easier_text_func and st.session_state.points > 0: # ํฌ์ธํธ ์ฒดํฌ
|
115 |
update_points(-1) # ํฌ์ธํธ ๊ฐ์
|
116 |
+
st.session_state.history.append(["์ฝ๊ฒ ๋ค์ ์๋ ค์ค", -1, st.session_state.points])
|
117 |
|
118 |
|
119 |
# return btn_gpt_keyword_func, btn_gpt_easier_text_func
|
|
|
190 |
if btn_gpt_easier_text_func and st.session_state.points > 0:
|
191 |
easier_text = gpt_easier_text_generator(user_input)
|
192 |
|
193 |
+
# ์ฝ๊ฒ ๋ค์ ์๋ ค์ค์ผ๋ก ๊ฒฐ๊ณผ ์ถ๋ ฅ
|
194 |
st.write(f"์ฌ์ด ๊ธ: {easier_text}")
|
195 |
pass
|
196 |
else:
|
197 |
if st.session_state.points == 0:
|
198 |
+
st.write("ํฌ์ธํธ๊ฐ ์์ด์ ์ฝ๊ฒ ๋ค์ ์๋ ค์ค ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.")
|
199 |
pass
|
200 |
|
201 |
|
|
|
203 |
def main():
|
204 |
st.title("์ฑGPT์ ํจ๊ป ์์ฝํ๊ธฐ")
|
205 |
#ํฌ์ธํธ ์์คํ
์ค๋ช
์ถ๊ฐ
|
206 |
+
st.sidebar.markdown("ํฌ์ธํธ๋ 3์ ๋ถํฐ ์์ํด์, **ํค์๋ ์ฐพ์์ค**, **์ฝ๊ฒ ๋ค์ ์๋ ค์ค**, **๊ธ ๋ค๋ฌ๊ธฐ**๋ฅผ ํ ๋ 1์ ์ฉ ๊ฐ์ํฉ๋๋ค. **์ถ๊ฐ ์ค๋ช
**๊ณผ **์ฑ์ ํ๊ธฐ**๋ฅผ ํ ๋ 1์ ์ฉ ์ฆ๊ฐํฉ๋๋ค. ํฌ์ธํธ๊ฐ 0์ ์ด ๋๋ฉด ๋ ์ด์ ์์
์ ํ ์ ์์ต๋๋ค. ")
|
207 |
|
208 |
# col1, col2 = st.columns(2)
|
209 |
display_preset_func_btns(col)
|