ginipick commited on
Commit
95a32d4
β€’
1 Parent(s): 66fa514

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -12
app.py CHANGED
@@ -58,8 +58,14 @@ def respond(
58
  message = "MixGEN3 이미지 생성에 λŒ€ν•œ λ‚΄μš©μ„ ν•™μŠ΅ν•˜μ˜€κ³ , μ„€λͺ…ν•  μ€€λΉ„κ°€ λ˜μ–΄μžˆλ‹€κ³  μ•Œλ¦¬κ³  μ„œλΉ„μŠ€ URL(https://openfree-mixgen3.hf.space)을 톡해 ν…ŒμŠ€νŠΈ 해보라고 좜λ ₯ν•˜λΌ."
59
  elif message.lower() == "test.parquet μ‹€ν–‰":
60
  # ν˜„μž¬ Parquet λ‚΄μš©μ€ μƒνƒœ λ³€μˆ˜μ—μ„œ 가져와야 함
61
- current_parquet_content = history.get('parquet_content', "")
62
- system_message += f"\n\ntest.parquet 파일 λ‚΄μš©:\n```markdown\n{current_parquet_content}\n```"
 
 
 
 
 
 
63
  message = "test.parquet νŒŒμΌμ— λŒ€ν•œ λ‚΄μš©μ„ ν•™μŠ΅ν•˜μ˜€κ³ , κ΄€λ ¨ μ„€λͺ… 및 Q&Aλ₯Ό 진행할 μ€€λΉ„κ°€ λ˜μ–΄μžˆλ‹€. κΆκΈˆν•œ 점이 있으면 물어보라."
64
  elif message.lower() == "csv μ—…λ‘œλ“œ":
65
  message = "CSV νŒŒμΌμ„ μ—…λ‘œλ“œν•˜λ €λ©΄ 두 번째 탭을 μ‚¬μš©ν•˜μ„Έμš”."
@@ -67,9 +73,9 @@ def respond(
67
  # μ‹œμŠ€ν…œ λ©”μ‹œμ§€μ™€ μ‚¬μš©μž λ©”μ‹œμ§€ κ²°ν•©
68
  messages = [{"role": "system", "content": f"{system_prefix} {system_message}"}]
69
  for val in history:
70
- if val[0]:
71
  messages.append({"role": "user", "content": val[0]})
72
- if val[1]:
73
  messages.append({"role": "assistant", "content": val[1]})
74
  messages.append({"role": "user", "content": message})
75
 
@@ -162,7 +168,7 @@ with gr.Blocks(theme="Nymbo/Nymbo_Theme", css=css) as demo:
162
  )
163
 
164
  with gr.Accordion("μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ 및 μ˜΅μ…˜ μ„€μ •", open=False):
165
- system_message = gr.Textbox(label="System Message", value="λ„ˆλŠ” AI μ‘°μ–Έμž 역할이닀닀")
166
  max_tokens = gr.Slider(minimum=1, maximum=8000, value=4000, label="Max Tokens")
167
  temperature = gr.Slider(minimum=0, maximum=1, value=0.7, label="Temperature")
168
  top_p = gr.Slider(minimum=0, maximum=1, value=0.9, label="Top P")
@@ -171,7 +177,7 @@ with gr.Blocks(theme="Nymbo/Nymbo_Theme", css=css) as demo:
171
  gr.Markdown("### CSV 파일 μ—…λ‘œλ“œ 및 Parquet λ³€ν™˜")
172
  with gr.Row():
173
  with gr.Column():
174
- csv_file = gr.File(label="CSV 파일 μ—…λ‘œλ“œ", type="file")
175
  upload_button = gr.Button("μ—…λ‘œλ“œ 및 λ³€ν™˜")
176
  upload_status = gr.Textbox(label="μ—…λ‘œλ“œ μƒνƒœ", interactive=False)
177
  parquet_preview = gr.Markdown(label="Parquet 파일 미리보기")
@@ -179,12 +185,12 @@ with gr.Blocks(theme="Nymbo/Nymbo_Theme", css=css) as demo:
179
 
180
  # μ—…λ‘œλ“œ λ²„νŠΌ 클릭 μ‹œ μ‹€ν–‰ν•  ν•¨μˆ˜
181
  def handle_csv_upload(file):
182
- message, parquet_filename = upload_csv(file.name)
183
  if parquet_filename:
184
  # νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•  수 μžˆλ„λ‘ 경둜 μ„€μ •
185
  with open(parquet_filename, "rb") as f:
186
  data = f.read()
187
- return message, parquet_preview.update(value=load_parquet(parquet_filename)), gr.File.update(value=(parquet_filename, data))
188
  else:
189
  return message, "", None
190
 
@@ -197,11 +203,11 @@ with gr.Blocks(theme="Nymbo/Nymbo_Theme", css=css) as demo:
197
  gr.Markdown("### κΈ°μ‘΄ Parquet 파일")
198
  gr.Markdown(f"**test.parquet 파일 λ‚΄μš©:**\n```markdown\n{test_parquet_content}\n```")
199
 
200
- with gr.Tab("챗봇"):
201
  gr.Markdown("### Parquet 파일 μ—…λ‘œλ“œ 및 μ§ˆλ¬Έν•˜κΈ°")
202
  with gr.Row():
203
  with gr.Column():
204
- parquet_upload = gr.File(label="Parquet 파일 μ—…λ‘œλ“œ", type="file")
205
  parquet_upload_button = gr.Button("μ—…λ‘œλ“œ")
206
  parquet_upload_status = gr.Textbox(label="μ—…λ‘œλ“œ μƒνƒœ", interactive=False)
207
  parquet_preview_chat = gr.Markdown(label="Parquet 파일 미리보기")
@@ -209,7 +215,7 @@ with gr.Blocks(theme="Nymbo/Nymbo_Theme", css=css) as demo:
209
  parquet_data_state = gr.State()
210
 
211
  def handle_parquet_upload(file):
212
- message, parquet_content, parquet_json = upload_parquet(file.name)
213
  if parquet_json:
214
  return message, parquet_preview_chat.update(value=parquet_content), parquet_data_state.update(value=parquet_json)
215
  else:
@@ -245,7 +251,7 @@ with gr.Blocks(theme="Nymbo/Nymbo_Theme", css=css) as demo:
245
  - **Parquet 미리보기**: μ—…λ‘œλ“œλœ Parquet 파일의 첫 10개 행이 미리보기둜 ν‘œμ‹œλ©λ‹ˆλ‹€.
246
  - **LLM과의 λŒ€ν™”**: λ³€ν™˜λœ Parquet 파일 λ‚΄μš©μ„ 기반으둜 LLM이 응닡을 μƒμ„±ν•©λ‹ˆλ‹€.
247
  - **Parquet λ‹€μš΄λ‘œλ“œ**: λ³€ν™˜λœ Parquet νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•˜λ €λ©΄ λ³€ν™˜λœ 파일 μ˜†μ˜ λ‹€μš΄λ‘œλ“œ 링크λ₯Ό ν΄λ¦­ν•˜μ„Έμš”.
248
- - **챗봇 Parquet μ—…λ‘œλ“œ**: 챗봇 νƒ­μ—μ„œ Parquet νŒŒμΌμ„ μ—…λ‘œλ“œν•˜λ©΄ ν•΄λ‹Ή 데이터λ₯Ό 기반으둜 질문과 닡변을 진행할 수 μžˆμŠ΅λ‹ˆλ‹€.
249
  """)
250
 
251
  gr.Markdown("### Gradio μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜μ—¬ LLM λͺ¨λΈκ³Ό μƒν˜Έμž‘μš©ν•˜μ„Έμš”!")
 
58
  message = "MixGEN3 이미지 생성에 λŒ€ν•œ λ‚΄μš©μ„ ν•™μŠ΅ν•˜μ˜€κ³ , μ„€λͺ…ν•  μ€€λΉ„κ°€ λ˜μ–΄μžˆλ‹€κ³  μ•Œλ¦¬κ³  μ„œλΉ„μŠ€ URL(https://openfree-mixgen3.hf.space)을 톡해 ν…ŒμŠ€νŠΈ 해보라고 좜λ ₯ν•˜λΌ."
59
  elif message.lower() == "test.parquet μ‹€ν–‰":
60
  # ν˜„μž¬ Parquet λ‚΄μš©μ€ μƒνƒœ λ³€μˆ˜μ—μ„œ 가져와야 함
61
+ # μ—¬κΈ°μ„œλŠ” μ˜ˆμ‹œλ‘œ 'parquet_content'κ°€ history에 μžˆλ‹€κ³  κ°€μ •
62
+ # μ‹€μ œ κ΅¬ν˜„μ—μ„œλŠ” λ³„λ„μ˜ μƒνƒœ 관리λ₯Ό 톡해 Parquet 데이터λ₯Ό μ°Έμ‘°ν•΄μ•Ό 함
63
+ parquet_content = ""
64
+ for item in history:
65
+ if isinstance(item, tuple) and item[0].startswith("Parquet"):
66
+ parquet_content = item[1]
67
+ break
68
+ system_message += f"\n\ntest.parquet 파일 λ‚΄μš©:\n```markdown\n{parquet_content}\n```"
69
  message = "test.parquet νŒŒμΌμ— λŒ€ν•œ λ‚΄μš©μ„ ν•™μŠ΅ν•˜μ˜€κ³ , κ΄€λ ¨ μ„€λͺ… 및 Q&Aλ₯Ό 진행할 μ€€λΉ„κ°€ λ˜μ–΄μžˆλ‹€. κΆκΈˆν•œ 점이 있으면 물어보라."
70
  elif message.lower() == "csv μ—…λ‘œλ“œ":
71
  message = "CSV νŒŒμΌμ„ μ—…λ‘œλ“œν•˜λ €λ©΄ 두 번째 탭을 μ‚¬μš©ν•˜μ„Έμš”."
 
73
  # μ‹œμŠ€ν…œ λ©”μ‹œμ§€μ™€ μ‚¬μš©μž λ©”μ‹œμ§€ κ²°ν•©
74
  messages = [{"role": "system", "content": f"{system_prefix} {system_message}"}]
75
  for val in history:
76
+ if isinstance(val, tuple) and val[0]:
77
  messages.append({"role": "user", "content": val[0]})
78
+ if isinstance(val, tuple) and val[1]:
79
  messages.append({"role": "assistant", "content": val[1]})
80
  messages.append({"role": "user", "content": message})
81
 
 
168
  )
169
 
170
  with gr.Accordion("μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ 및 μ˜΅μ…˜ μ„€μ •", open=False):
171
+ system_message = gr.Textbox(label="System Message", value="λ„ˆλŠ” AI μ‘°μ–Έμž 역할이닀.")
172
  max_tokens = gr.Slider(minimum=1, maximum=8000, value=4000, label="Max Tokens")
173
  temperature = gr.Slider(minimum=0, maximum=1, value=0.7, label="Temperature")
174
  top_p = gr.Slider(minimum=0, maximum=1, value=0.9, label="Top P")
 
177
  gr.Markdown("### CSV 파일 μ—…λ‘œλ“œ 및 Parquet λ³€ν™˜")
178
  with gr.Row():
179
  with gr.Column():
180
+ csv_file = gr.File(label="CSV 파일 μ—…λ‘œλ“œ", type="filepath")
181
  upload_button = gr.Button("μ—…λ‘œλ“œ 및 λ³€ν™˜")
182
  upload_status = gr.Textbox(label="μ—…λ‘œλ“œ μƒνƒœ", interactive=False)
183
  parquet_preview = gr.Markdown(label="Parquet 파일 미리보기")
 
185
 
186
  # μ—…λ‘œλ“œ λ²„νŠΌ 클릭 μ‹œ μ‹€ν–‰ν•  ν•¨μˆ˜
187
  def handle_csv_upload(file):
188
+ message, parquet_filename = upload_csv(file)
189
  if parquet_filename:
190
  # νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•  수 μžˆλ„λ‘ 경둜 μ„€μ •
191
  with open(parquet_filename, "rb") as f:
192
  data = f.read()
193
+ return message, load_parquet(parquet_filename), (parquet_filename, data)
194
  else:
195
  return message, "", None
196
 
 
203
  gr.Markdown("### κΈ°μ‘΄ Parquet 파일")
204
  gr.Markdown(f"**test.parquet 파일 λ‚΄μš©:**\n```markdown\n{test_parquet_content}\n```")
205
 
206
+ with gr.Tab("챗봇 데이터 μ—…λ‘œλ“œ"):
207
  gr.Markdown("### Parquet 파일 μ—…λ‘œλ“œ 및 μ§ˆλ¬Έν•˜κΈ°")
208
  with gr.Row():
209
  with gr.Column():
210
+ parquet_upload = gr.File(label="Parquet 파일 μ—…λ‘œλ“œ", type="filepath")
211
  parquet_upload_button = gr.Button("μ—…λ‘œλ“œ")
212
  parquet_upload_status = gr.Textbox(label="μ—…λ‘œλ“œ μƒνƒœ", interactive=False)
213
  parquet_preview_chat = gr.Markdown(label="Parquet 파일 미리보기")
 
215
  parquet_data_state = gr.State()
216
 
217
  def handle_parquet_upload(file):
218
+ message, parquet_content, parquet_json = upload_parquet(file)
219
  if parquet_json:
220
  return message, parquet_preview_chat.update(value=parquet_content), parquet_data_state.update(value=parquet_json)
221
  else:
 
251
  - **Parquet 미리보기**: μ—…λ‘œλ“œλœ Parquet 파일의 첫 10개 행이 미리보기둜 ν‘œμ‹œλ©λ‹ˆλ‹€.
252
  - **LLM과의 λŒ€ν™”**: λ³€ν™˜λœ Parquet 파일 λ‚΄μš©μ„ 기반으둜 LLM이 응닡을 μƒμ„±ν•©λ‹ˆλ‹€.
253
  - **Parquet λ‹€μš΄λ‘œλ“œ**: λ³€ν™˜λœ Parquet νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•˜λ €λ©΄ λ³€ν™˜λœ 파일 μ˜†μ˜ λ‹€μš΄λ‘œλ“œ 링크λ₯Ό ν΄λ¦­ν•˜μ„Έμš”.
254
+ - **챗봇 데이터 μ—…λ‘œλ“œ**: 챗봇 데이터 μ—…λ‘œλ“œ νƒ­μ—μ„œ Parquet νŒŒμΌμ„ μ—…λ‘œλ“œν•˜λ©΄ ν•΄λ‹Ή 데이터λ₯Ό 기반으둜 질문과 닡변을 진행할 수 μžˆμŠ΅λ‹ˆλ‹€.
255
  """)
256
 
257
  gr.Markdown("### Gradio μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜μ—¬ LLM λͺ¨λΈκ³Ό μƒν˜Έμž‘μš©ν•˜μ„Έμš”!")