Update app.py
Browse files
app.py
CHANGED
@@ -6,6 +6,7 @@ from typing import List, Dict, Tuple
|
|
6 |
import json
|
7 |
import io
|
8 |
import traceback
|
|
|
9 |
|
10 |
# ์ถ๋ก API ํด๋ผ์ด์ธํธ ์ค์
|
11 |
hf_client = InferenceClient(
|
@@ -120,7 +121,14 @@ def text_to_parquet(text: str) -> Tuple[str, str, str]:
|
|
120 |
from io import StringIO
|
121 |
# CSV ๋ฐ์ดํฐ๋ฅผ StringIO๋ฅผ ํตํด ์ฝ๊ธฐ
|
122 |
csv_data = StringIO(text)
|
123 |
-
df = pd.read_csv(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
# ๋ฐ์ดํฐ ์ ํ ์ต์ ํ
|
125 |
df = df.astype({'id': 'int32', 'text': 'string', 'label': 'string', 'metadata': 'string'})
|
126 |
# Parquet ํ์ผ๋ก ๋ณํ
|
@@ -130,13 +138,16 @@ def text_to_parquet(text: str) -> Tuple[str, str, str]:
|
|
130 |
parquet_content = load_parquet(parquet_filename)
|
131 |
return f"{parquet_filename} ํ์ผ์ด ์ฑ๊ณต์ ์ผ๋ก ๋ณํ๋์์ต๋๋ค.", parquet_content, parquet_filename
|
132 |
except Exception as e:
|
133 |
-
|
|
|
|
|
134 |
|
135 |
def preprocess_text_with_llm(input_text: str) -> str:
|
136 |
# LLM์๊ฒ ์
๋ ฅ ํ
์คํธ๋ฅผ ์ ์ฒ๋ฆฌํ๋๋ก ์์ฒญ
|
137 |
system_prompt = """๋น์ ์ ์
๋ ฅ๋ ๊ธด ํ
์คํธ๋ฅผ ๋ฐ์ดํฐ์
ํ์์ ๋ง๊ฒ ์ ์ฒ๋ฆฌํ๋ ์ญํ ์ ํฉ๋๋ค.
|
138 |
- ๋ฐ์ดํฐ์
ํ์์ id,text,label,metadata์
๋๋ค.
|
139 |
-
- ๊ฐ ํ์ ์ผํ๋ก ๊ตฌ๋ถ๋๋ฉฐ, **ํ
์คํธ๋ ๋ค๋ฅธ ํ๋ ๋ด์ ์ผํ๊ฐ ์์ ๊ฒฝ์ฐ ํด๋น ํ๋๋ฅผ ํฐ๋ฐ์ดํ(")๋ก ๊ฐ์๋๋ค.**
|
|
|
140 |
- ํ
์คํธ๋ฅผ ์๋ฏธ ๋จ์๋ก ๋ถํ ํ๊ณ , ์ ์ ํ ๋ฌธ์ฅ์ ์ฌ๊ตฌ์ฑํ๊ณ ํธ์งํ์ฌ ์ต์ ํ๋ ๋ฌธ์ฅ์ผ๋ก ๋ง๋ญ๋๋ค.
|
141 |
- ๊ฐ ๋ฌธ์ฅ์ ๋ํด id๋ฅผ ๋ถ์ฌํ๊ณ , ์ ์ ํ label(์นดํ
๊ณ ๋ฆฌ)์ ์ง์ ํฉ๋๋ค.
|
142 |
- metadata์๋ ์ถ์ฒ๋ ๋ ์ง ๋ฑ์ ์ถ๊ฐ ์ ๋ณด๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.
|
@@ -334,7 +345,7 @@ with gr.Blocks(css=css) as demo:
|
|
334 |
text_input = gr.Textbox(
|
335 |
label="ํ
์คํธ ์
๋ ฅ (๊ฐ ํ์ `id,text,label,metadata` ํ์์ผ๋ก ์
๋ ฅ)",
|
336 |
lines=10,
|
337 |
-
placeholder=
|
338 |
)
|
339 |
convert_button = gr.Button("๋ณํ ๋ฐ ๋ค์ด๋ก๋")
|
340 |
convert_status = gr.Textbox(label="๋ณํ ์ํ", interactive=False)
|
@@ -390,3 +401,4 @@ if __name__ == "__main__":
|
|
390 |
demo.launch()
|
391 |
|
392 |
|
|
|
|
6 |
import json
|
7 |
import io
|
8 |
import traceback
|
9 |
+
import csv
|
10 |
|
11 |
# ์ถ๋ก API ํด๋ผ์ด์ธํธ ์ค์
|
12 |
hf_client = InferenceClient(
|
|
|
121 |
from io import StringIO
|
122 |
# CSV ๋ฐ์ดํฐ๋ฅผ StringIO๋ฅผ ํตํด ์ฝ๊ธฐ
|
123 |
csv_data = StringIO(text)
|
124 |
+
df = pd.read_csv(
|
125 |
+
csv_data,
|
126 |
+
sep=',',
|
127 |
+
dtype=str,
|
128 |
+
quoting=csv.QUOTE_ALL, # ๋ชจ๋ ํ๋๋ฅผ ํฐ๋ฐ์ดํ๋ก ๊ฐ์ธ๋ ๊ฒ์ผ๋ก ์ฒ๋ฆฌ
|
129 |
+
escapechar='\\', # ์ด์ค์ผ์ดํ ๋ฌธ์ ์ค์
|
130 |
+
engine='python' # Python ์์ง ์ฌ์ฉ
|
131 |
+
)
|
132 |
# ๋ฐ์ดํฐ ์ ํ ์ต์ ํ
|
133 |
df = df.astype({'id': 'int32', 'text': 'string', 'label': 'string', 'metadata': 'string'})
|
134 |
# Parquet ํ์ผ๋ก ๋ณํ
|
|
|
138 |
parquet_content = load_parquet(parquet_filename)
|
139 |
return f"{parquet_filename} ํ์ผ์ด ์ฑ๊ณต์ ์ผ๋ก ๋ณํ๋์์ต๋๋ค.", parquet_content, parquet_filename
|
140 |
except Exception as e:
|
141 |
+
error_message = f"ํ
์คํธ ๋ณํ ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค: {str(e)}\n{traceback.format_exc()}"
|
142 |
+
print(error_message)
|
143 |
+
return error_message, "", ""
|
144 |
|
145 |
def preprocess_text_with_llm(input_text: str) -> str:
|
146 |
# LLM์๊ฒ ์
๋ ฅ ํ
์คํธ๋ฅผ ์ ์ฒ๋ฆฌํ๋๋ก ์์ฒญ
|
147 |
system_prompt = """๋น์ ์ ์
๋ ฅ๋ ๊ธด ํ
์คํธ๋ฅผ ๋ฐ์ดํฐ์
ํ์์ ๋ง๊ฒ ์ ์ฒ๋ฆฌํ๋ ์ญํ ์ ํฉ๋๋ค.
|
148 |
- ๋ฐ์ดํฐ์
ํ์์ id,text,label,metadata์
๋๋ค.
|
149 |
+
- ๊ฐ ํ์ ์ผํ๋ก ๊ตฌ๋ถ๋๋ฉฐ, **ํ
์คํธ๋ ๋ค๋ฅธ ํ๋ ๋ด์ ์ผํ๊ฐ ์์ ๊ฒฝ์ฐ ํด๋น ํ๋๋ฅผ ๋ฐ๋์ ํฐ๋ฐ์ดํ(")๋ก ๊ฐ์๋๋ค.**
|
150 |
+
- **ํ๋ ๋ด์ ํฐ๋ฐ์ดํ๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ, ํด๋น ํฐ๋ฐ์ดํ ์์ ๋ฐฑ์ฌ๋์(\\)๋ฅผ ์ถ๊ฐํ์ฌ ์ด์ค์ผ์ดํ ์ฒ๋ฆฌํฉ๋๋ค.**
|
151 |
- ํ
์คํธ๋ฅผ ์๋ฏธ ๋จ์๋ก ๋ถํ ํ๊ณ , ์ ์ ํ ๋ฌธ์ฅ์ ์ฌ๊ตฌ์ฑํ๊ณ ํธ์งํ์ฌ ์ต์ ํ๋ ๋ฌธ์ฅ์ผ๋ก ๋ง๋ญ๋๋ค.
|
152 |
- ๊ฐ ๋ฌธ์ฅ์ ๋ํด id๋ฅผ ๋ถ์ฌํ๊ณ , ์ ์ ํ label(์นดํ
๊ณ ๋ฆฌ)์ ์ง์ ํฉ๋๋ค.
|
153 |
- metadata์๋ ์ถ์ฒ๋ ๋ ์ง ๋ฑ์ ์ถ๊ฐ ์ ๋ณด๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.
|
|
|
345 |
text_input = gr.Textbox(
|
346 |
label="ํ
์คํธ ์
๋ ฅ (๊ฐ ํ์ `id,text,label,metadata` ํ์์ผ๋ก ์
๋ ฅ)",
|
347 |
lines=10,
|
348 |
+
placeholder='์: 1,"์ด์์ ","์ฅ๊ตฐ","๊ฑฐ๋ถ์ "\n2,"์๊ท ","์ฅ๊ตฐ","๋ชจํจ"\n3,"์ ์กฐ","์","์๊ธฐ"\n4,"๋์ํ ๋ฏธ ํ๋ฐ์์","์","์นจ๋ต"'
|
349 |
)
|
350 |
convert_button = gr.Button("๋ณํ ๋ฐ ๋ค์ด๋ก๋")
|
351 |
convert_status = gr.Textbox(label="๋ณํ ์ํ", interactive=False)
|
|
|
401 |
demo.launch()
|
402 |
|
403 |
|
404 |
+
|