ginipick commited on
Commit
8f71308
·
verified ·
1 Parent(s): 2bb387f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -19
app.py CHANGED
@@ -2,7 +2,7 @@ import gradio as gr
2
  from huggingface_hub import InferenceClient
3
  import os
4
  import pandas as pd
5
- from typing import List, Tuple
6
 
7
  # 추론 API 클라이언트 설정
8
  hf_client = InferenceClient("CohereForAI/c4ai-command-r-plus-08-2024", token=os.getenv("HF_TOKEN"))
@@ -37,7 +37,7 @@ test_parquet_content = load_parquet('test.parquet')
37
 
38
  def respond(
39
  message,
40
- history: List[dict],
41
  system_message="", # 기본값 추가
42
  max_tokens=4000, # 기본값 변경
43
  temperature=0.7, # 기본값 유지
@@ -61,7 +61,10 @@ def respond(
61
  parquet_content = ""
62
  for item in history:
63
  if item['role'] == 'assistant' and 'test.parquet 파일 내용' in item['content']:
64
- parquet_content = item['content'].split("```markdown\n")[1].split("\n```")[0]
 
 
 
65
  break
66
  system_message += f"\n\ntest.parquet 파일 내용:\n```markdown\n{parquet_content}\n```"
67
  message = "test.parquet 파일에 대한 내용을 학습하였고, 관련 설명 및 Q&A를 진행할 준비가 되어있다. 궁금한 점이 있으면 물어보라."
@@ -153,7 +156,7 @@ def text_to_parquet(text):
153
  with open(parquet_filename, "rb") as f:
154
  data = f.read()
155
 
156
- return f"{parquet_filename} 파일이 성공적으로 변환되었습니다.", parquet_content, data
157
  except Exception as e:
158
  return f"텍스트 변환 중 오류가 발생했습니다: {str(e)}", "", None
159
 
@@ -161,18 +164,11 @@ css = """
161
  footer {
162
  visibility: hidden;
163
  }
164
- #chatbot-container {
165
  height: 600px;
166
  overflow-y: scroll;
167
  }
168
- #chatbot-container .message {
169
- font-size: 14px;
170
- }
171
- #chatbot-data-upload {
172
- height: 600px;
173
- overflow-y: scroll;
174
- }
175
- #chatbot-data-upload .message {
176
  font-size: 14px;
177
  }
178
  """
@@ -183,7 +179,7 @@ with gr.Blocks(theme="Nymbo/Nymbo_Theme", css=css) as demo:
183
 
184
  with gr.Tab("챗봇"):
185
  gr.Markdown("### LLM과 대화하기")
186
- chatbot = gr.Chatbot(label="챗봇", elem_id="chatbot-container")
187
  msg = gr.Textbox(label="메시지 입력", placeholder="여기에 메시지를 입력하세요...")
188
  send = gr.Button("전송")
189
 
@@ -251,7 +247,7 @@ with gr.Blocks(theme="Nymbo/Nymbo_Theme", css=css) as demo:
251
  # 파일을 다운로드할 수 있도록 바이너리 데이터로 읽기
252
  with open(parquet_filename, "rb") as f:
253
  data = f.read()
254
- return message, load_parquet(parquet_filename), data
255
  else:
256
  return message, "", None
257
 
@@ -289,13 +285,13 @@ with gr.Blocks(theme="Nymbo/Nymbo_Theme", css=css) as demo:
289
  )
290
 
291
  gr.Markdown("### LLM과 대화하기")
292
- chatbot_data_upload = gr.Chatbot(label="챗봇 데이터 업로드", elem_id="chatbot-data-upload")
293
  msg_data_upload = gr.Textbox(label="메시지 입력", placeholder="여기에 메시지를 입력하세요...")
294
  send_data_upload = gr.Button("전송")
295
 
296
  # 챗봇 메시지 처리 함수 (데이터 업로드 버전)
297
  def handle_message_data_upload(message, history, system_message, max_tokens, temperature, top_p, parquet_data):
298
- # Parquet 데이터가 업로드된 경우, 추가적인 로직을 구현할 있음
299
  # 현재는 기본적으로 메시지를 처리
300
  history = history or []
301
  history.append({"role": "user", "content": message})
@@ -353,5 +349,4 @@ with gr.Blocks(theme="Nymbo/Nymbo_Theme", css=css) as demo:
353
  gr.Markdown("### Gradio 인터페이스를 사용하여 LLM 모델과 상호작용하세요!")
354
 
355
  if __name__ == "__main__":
356
- demo.launch()
357
-
 
2
  from huggingface_hub import InferenceClient
3
  import os
4
  import pandas as pd
5
+ from typing import List, Dict
6
 
7
  # 추론 API 클라이언트 설정
8
  hf_client = InferenceClient("CohereForAI/c4ai-command-r-plus-08-2024", token=os.getenv("HF_TOKEN"))
 
37
 
38
  def respond(
39
  message,
40
+ history: List[Dict[str, str]],
41
  system_message="", # 기본값 추가
42
  max_tokens=4000, # 기본값 변경
43
  temperature=0.7, # 기본값 유지
 
61
  parquet_content = ""
62
  for item in history:
63
  if item['role'] == 'assistant' and 'test.parquet 파일 내용' in item['content']:
64
+ try:
65
+ parquet_content = item['content'].split("```markdown\n")[1].split("\n```")[0]
66
+ except IndexError:
67
+ parquet_content = ""
68
  break
69
  system_message += f"\n\ntest.parquet 파일 내용:\n```markdown\n{parquet_content}\n```"
70
  message = "test.parquet 파일에 대한 내용을 학습하였고, 관련 설명 및 Q&A를 진행할 준비가 되어있다. 궁금한 점이 있으면 물어보라."
 
156
  with open(parquet_filename, "rb") as f:
157
  data = f.read()
158
 
159
+ return f"{parquet_filename} 파일이 성공적으로 변환되었습니다.", parquet_content, (parquet_filename, data)
160
  except Exception as e:
161
  return f"텍스트 변환 중 오류가 발생했습니다: {str(e)}", "", None
162
 
 
164
  footer {
165
  visibility: hidden;
166
  }
167
+ #chatbot-container, #chatbot-data-upload {
168
  height: 600px;
169
  overflow-y: scroll;
170
  }
171
+ #chatbot-container .message, #chatbot-data-upload .message {
 
 
 
 
 
 
 
172
  font-size: 14px;
173
  }
174
  """
 
179
 
180
  with gr.Tab("챗봇"):
181
  gr.Markdown("### LLM과 대화하기")
182
+ chatbot = gr.Chatbot(label="챗봇", type="messages", elem_id="chatbot-container")
183
  msg = gr.Textbox(label="메시지 입력", placeholder="여기에 메시지를 입력하세요...")
184
  send = gr.Button("전송")
185
 
 
247
  # 파일을 다운로드할 수 있도록 바이너리 데이터로 읽기
248
  with open(parquet_filename, "rb") as f:
249
  data = f.read()
250
+ return message, load_parquet(parquet_filename), (parquet_filename, data)
251
  else:
252
  return message, "", None
253
 
 
285
  )
286
 
287
  gr.Markdown("### LLM과 대화하기")
288
+ chatbot_data_upload = gr.Chatbot(label="챗봇 데이터 업로드", type="messages", elem_id="chatbot-data-upload")
289
  msg_data_upload = gr.Textbox(label="메시지 입력", placeholder="여기에 메시지를 입력하세요...")
290
  send_data_upload = gr.Button("전송")
291
 
292
  # 챗봇 메시지 처리 함수 (데이터 업로드 버전)
293
  def handle_message_data_upload(message, history, system_message, max_tokens, temperature, top_p, parquet_data):
294
+ # Parquet 데이터를 활용할 있는 로직을 추가 (예: 데이터 분석, 질의응답)
295
  # 현재는 기본적으로 메시지를 처리
296
  history = history or []
297
  history.append({"role": "user", "content": message})
 
349
  gr.Markdown("### Gradio 인터페이스를 사용하여 LLM 모델과 상호작용하세요!")
350
 
351
  if __name__ == "__main__":
352
+ demo.launch(share=True)