jeongsoo commited on
Commit
c975e83
Β·
1 Parent(s): 0918e42

Fix requirements.txt file

Browse files
Files changed (1) hide show
  1. app_gradio.py +33 -21
app_gradio.py CHANGED
@@ -1,11 +1,11 @@
1
  import os
2
  import gradio as gr
3
  import requests
4
- from app.app import app as flask_app # Flask 앱을 ν…ŒμŠ€νŠΈ ν΄λΌμ΄μ–ΈνŠΈλ‘œ μ‚¬μš©
5
- from flask import json
6
 
7
- # Flask 앱을 ν…ŒμŠ€νŠΈ ν΄λΌμ΄μ–ΈνŠΈλ‘œ μ΄ˆκΈ°ν™”
8
- flask_client = flask_app.test_client()
 
9
 
10
  # Gradio μΈν„°νŽ˜μ΄μŠ€ 생성
11
  with gr.Blocks(title="RAG 검색 챗봇 with μŒμ„±μΈμ‹", theme=gr.themes.Soft()) as demo:
@@ -38,33 +38,45 @@ with gr.Blocks(title="RAG 검색 챗봇 with μŒμ„±μΈμ‹", theme=gr.themes.Soft
38
  def handle_text_chat(query):
39
  if not query:
40
  return "μ§ˆλ¬Έμ„ μž…λ ₯ν•˜μ„Έμš”.", ""
41
- response = flask_client.post("/api/chat", json={"query": query})
42
- data = json.loads(response.data)
43
- if "error" in data:
44
- return data["error"], ""
45
- return data["answer"], json.dumps(data["sources"], indent=2)
 
 
 
 
46
 
47
  # μŒμ„± μ±— κΈ°λŠ₯
48
  def handle_voice_chat(audio_file):
49
  if not audio_file:
50
  return "μŒμ„±μ„ μ—…λ‘œλ“œν•˜μ„Έμš”.", "", ""
51
- with open(audio_file, "rb") as f:
52
- response = flask_client.post("/api/voice", files={"audio": f})
53
- data = json.loads(response.data)
54
- if "error" in data:
55
- return "", data["error"], ""
56
- return data["transcription"], data["answer"], json.dumps(data["sources"], indent=2)
 
 
 
 
57
 
58
  # λ¬Έμ„œ μ—…λ‘œλ“œ κΈ°λŠ₯
59
  def handle_doc_upload(doc_file):
60
  if not doc_file:
61
  return "λ¬Έμ„œλ₯Ό μ—…λ‘œλ“œν•˜μ„Έμš”."
62
- with open(doc_file, "rb") as f:
63
- response = flask_client.post("/api/upload", files={"document": f})
64
- data = json.loads(response.data)
65
- if "error" in data:
66
- return data["error"]
67
- return data["message"]
 
 
 
 
68
 
69
  # 이벀트 ν•Έλ“€λŸ¬ μ—°κ²°
70
  text_button.click(
 
1
  import os
2
  import gradio as gr
3
  import requests
4
+ import json
 
5
 
6
+ # Flask 앱은 더 이상 ν…ŒμŠ€νŠΈ ν΄λΌμ΄μ–ΈνŠΈλ‘œ μ‚¬μš©ν•˜μ§€ μ•ŠμŒ
7
+ # λŒ€μ‹ , localhost:7860μ—μ„œ μ‹€ν–‰ 쀑인 Flask μ—”λ“œν¬μΈνŠΈμ— HTTP μš”μ²­μ„ 보냄
8
+ BASE_URL = "http://localhost:7860"
9
 
10
  # Gradio μΈν„°νŽ˜μ΄μŠ€ 생성
11
  with gr.Blocks(title="RAG 검색 챗봇 with μŒμ„±μΈμ‹", theme=gr.themes.Soft()) as demo:
 
38
  def handle_text_chat(query):
39
  if not query:
40
  return "μ§ˆλ¬Έμ„ μž…λ ₯ν•˜μ„Έμš”.", ""
41
+ try:
42
+ response = requests.post(f"{BASE_URL}/api/chat", json={"query": query})
43
+ response.raise_for_status()
44
+ data = response.json()
45
+ if "error" in data:
46
+ return data["error"], ""
47
+ return data["answer"], json.dumps(data["sources"], indent=2)
48
+ except requests.RequestException as e:
49
+ return f"μš”μ²­ 쀑 였λ₯˜ λ°œμƒ: {str(e)}", ""
50
 
51
  # μŒμ„± μ±— κΈ°λŠ₯
52
  def handle_voice_chat(audio_file):
53
  if not audio_file:
54
  return "μŒμ„±μ„ μ—…λ‘œλ“œν•˜μ„Έμš”.", "", ""
55
+ try:
56
+ with open(audio_file, "rb") as f:
57
+ response = requests.post(f"{BASE_URL}/api/voice", files={"audio": f})
58
+ response.raise_for_status()
59
+ data = response.json()
60
+ if "error" in data:
61
+ return "", data["error"], ""
62
+ return data["transcription"], data["answer"], json.dumps(data["sources"], indent=2)
63
+ except requests.RequestException as e:
64
+ return "", f"μš”μ²­ 쀑 였λ₯˜ λ°œμƒ: {str(e)}", ""
65
 
66
  # λ¬Έμ„œ μ—…λ‘œλ“œ κΈ°λŠ₯
67
  def handle_doc_upload(doc_file):
68
  if not doc_file:
69
  return "λ¬Έμ„œλ₯Ό μ—…λ‘œλ“œν•˜μ„Έμš”."
70
+ try:
71
+ with open(doc_file, "rb") as f:
72
+ response = requests.post(f"{BASE_URL}/api/upload", files={"document": f})
73
+ response.raise_for_status()
74
+ data = response.json()
75
+ if "error" in data:
76
+ return data["error"]
77
+ return data["message"]
78
+ except requests.RequestException as e:
79
+ return f"μš”μ²­ 쀑 였λ₯˜ λ°œμƒ: {str(e)}"
80
 
81
  # 이벀트 ν•Έλ“€λŸ¬ μ—°κ²°
82
  text_button.click(