Kims12 commited on
Commit
121b238
ยท
verified ยท
1 Parent(s): 4e3761c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -39
app.py CHANGED
@@ -1,8 +1,9 @@
 
1
  import gradio as gr
2
  import openai
3
  import os
4
  from typing import Optional
5
- from gradio_client import Client
6
 
7
  #############################
8
 
@@ -50,7 +51,7 @@ OPENAI_SYSTEM_MESSAGE = """๋ฐ˜๋“œ์‹œ ํ•œ๊ธ€๋กœ ๋‹ต๋ณ€ํ•  ๊ฒƒ.
50
  3. ํŠนํžˆ ๋„ˆ๋Š” '์ •๋ณด์„ฑ(Informative)' ์ „๋ฌธ ๋ธ”๋กœ๊ทธ ๋งˆ์ผ€ํŒ… ์ „๋ฌธ๊ฐ€์ด๋‹ค.
51
  4. ์ •๋ณด ์ œ๊ณต์— ์ดˆ์ ์„ ๋งž์ถ”์–ด ์ž‘์„ฑํ•œ๋‹ค.
52
  ##[ํ…์ŠคํŠธ ์ž‘์„ฑ ๊ทœ์น™]
53
- 1. ์†Œ์ฃผ์ œ๋ฅผ 5๊ฐœ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ 2000์ž ์ด์ƒ๋˜๋„๋ก ์ž‘์„ฑํ•˜๋ผ.
54
  2. ์ „์ฒด ๋งฅ๋ฝ์„ ์ดํ•ดํ•˜๊ณ  ๋ฌธ์žฅ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋ผ.
55
  3. ์ ˆ๋Œ€๋กœ ์ฐธ๊ณ ๊ธ€์„ ํ•œ๋ฌธ์žฅ ์ด์ƒ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜์ง€ ๋ง ๊ฒƒ.
56
  4. ์ฃผ์ œ์™€ ์ƒํ™ฉ์— ๋งž๋Š” ์ ์ ˆํ•œ ์–ดํœ˜๋ฅผ ์„ ํƒํ•˜๋ผ.
@@ -76,21 +77,17 @@ OPENAI_TOP_P = 0.95
76
  #############################
77
  # API ํด๋ผ์ด์–ธํŠธ ์„ค์ •
78
  #############################
79
- # API ์—”๋“œํฌ์ธํŠธ URL์„ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ์„ค์ •ํ•˜์—ฌ ๋ณด์•ˆ ์œ ์ง€
80
- API_ENDPOINT = os.getenv("API_ENDPOINT_URL")
81
- HUGGINGFACE_TOKEN = os.getenv("HUGGINGFACE_TOKEN")
82
-
83
- if not API_ENDPOINT:
84
- raise ValueError("API ์—”๋“œํฌ์ธํŠธ URL(API_ENDPOINT_URL)์ด ์„ค์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.")
85
-
86
- client = Client(API_ENDPOINT, api_key=HUGGINGFACE_TOKEN)
87
 
88
  def fetch_blog_content(url: str) -> str:
89
  """
90
- ์ฃผ์–ด์ง„ URL์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ธ”๋กœ๊ทธ ๋ณธ๋ฌธ์„ ๊ฐ€์ ธ์˜ค๋Š” API ํ˜ธ์ถœ ํ•จ์ˆ˜.
91
  """
 
 
92
  try:
93
- result = client.predict(
94
  url=url,
95
  api_name="/predict"
96
  )
@@ -111,19 +108,16 @@ with gr.Blocks() as demo:
111
  value="์ผ๋ฐ˜์ ์ธ" # ๊ธฐ๋ณธ ์„ ํƒ
112
  )
113
 
 
 
 
 
 
 
 
114
  with gr.Row():
115
- # ์ฐธ์กฐ๊ธ€ 1
116
- with gr.Column():
117
- ref1 = gr.Textbox(label="์ฐธ์กฐ๊ธ€ 1 URL", placeholder="๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ URL ์ž…๋ ฅ")
118
- fetch_ref1 = gr.Button("์ฐธ์กฐ๊ธ€1 ๊ฐ€์ ธ์˜ค๊ธฐ")
119
- # ์ฐธ์กฐ๊ธ€ 2
120
- with gr.Column():
121
- ref2 = gr.Textbox(label="์ฐธ์กฐ๊ธ€ 2 URL", placeholder="๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ URL ์ž…๋ ฅ")
122
- fetch_ref2 = gr.Button("์ฐธ์กฐ๊ธ€2 ๊ฐ€์ ธ์˜ค๊ธฐ")
123
- # ์ฐธ์กฐ๊ธ€ 3
124
- with gr.Column():
125
- ref3 = gr.Textbox(label="์ฐธ์กฐ๊ธ€ 3 URL", placeholder="๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ URL ์ž…๋ ฅ")
126
- fetch_ref3 = gr.Button("์ฐธ์กฐ๊ธ€3 ๊ฐ€์ ธ์˜ค๊ธฐ")
127
 
128
  output_box = gr.Textbox(label="๊ฒฐ๊ณผ", lines=20, interactive=False)
129
 
@@ -146,12 +140,6 @@ with gr.Blocks() as demo:
146
  )
147
  return response
148
 
149
- def fetch_ref(ref_url: str) -> str:
150
- if ref_url.strip() == "":
151
- return "URL์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”."
152
- return fetch_blog_content(ref_url)
153
-
154
- # ์ƒ์„ฑํ•˜๊ธฐ ๋ฒ„ํŠผ
155
  generate_button = gr.Button("์ƒ์„ฑํ•˜๊ธฐ")
156
  generate_button.click(
157
  fn=generate_blog,
@@ -159,23 +147,32 @@ with gr.Blocks() as demo:
159
  outputs=output_box
160
  )
161
 
162
- # ์ฐธ์กฐ๊ธ€1 ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฒ„ํŠผ
163
- fetch_ref1.click(
164
- fn=fetch_ref,
 
 
 
165
  inputs=ref1,
166
  outputs=ref1
167
  )
168
 
169
- # ์ฐธ์กฐ๊ธ€2 ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฒ„ํŠผ
170
- fetch_ref2.click(
171
- fn=fetch_ref,
 
 
 
172
  inputs=ref2,
173
  outputs=ref2
174
  )
175
 
176
- # ์ฐธ์กฐ๊ธ€3 ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฒ„ํŠผ
177
- fetch_ref3.click(
178
- fn=fetch_ref,
 
 
 
179
  inputs=ref3,
180
  outputs=ref3
181
  )
 
1
+ # app.py
2
  import gradio as gr
3
  import openai
4
  import os
5
  from typing import Optional
6
+ from gradio_client import Client # gradio_client ์ถ”๊ฐ€
7
 
8
  #############################
9
 
 
51
  3. ํŠนํžˆ ๋„ˆ๋Š” '์ •๋ณด์„ฑ(Informative)' ์ „๋ฌธ ๋ธ”๋กœ๊ทธ ๋งˆ์ผ€ํŒ… ์ „๋ฌธ๊ฐ€์ด๋‹ค.
52
  4. ์ •๋ณด ์ œ๊ณต์— ์ดˆ์ ์„ ๋งž์ถ”์–ด ์ž‘์„ฑํ•œ๋‹ค.
53
  ##[ํ…์ŠคํŠธ ์ž‘์„ฑ ๊ทœ์น™]
54
+ 1. ์†Œ์ฃผ์ œ๋ฅผ 5๊ฐœ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ 2000์ž ์ด์ƒ๋˜๋„๋ก ์ž‘์„ฑํ•˜๋ผ.
55
  2. ์ „์ฒด ๋งฅ๋ฝ์„ ์ดํ•ดํ•˜๊ณ  ๋ฌธ์žฅ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋ผ.
56
  3. ์ ˆ๋Œ€๋กœ ์ฐธ๊ณ ๊ธ€์„ ํ•œ๋ฌธ์žฅ ์ด์ƒ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜์ง€ ๋ง ๊ฒƒ.
57
  4. ์ฃผ์ œ์™€ ์ƒํ™ฉ์— ๋งž๋Š” ์ ์ ˆํ•œ ์–ดํœ˜๋ฅผ ์„ ํƒํ•˜๋ผ.
 
77
  #############################
78
  # API ํด๋ผ์ด์–ธํŠธ ์„ค์ •
79
  #############################
80
+ # ์™ธ๋ถ€ Space์˜ API ํด๋ผ์ด์–ธํŠธ ์„ค์ •
81
+ API_CLIENT = Client("Kims12/blog")
 
 
 
 
 
 
82
 
83
  def fetch_blog_content(url: str) -> str:
84
  """
85
+ ์ฃผ์–ด์ง„ URL์„ ์ด์šฉํ•ด ๋ธ”๋กœ๊ทธ ๋ณธ๋ฌธ์„ ๊ฐ€์ ธ์˜ค๋Š” ํ•จ์ˆ˜.
86
  """
87
+ if not url.strip():
88
+ return "URL์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”."
89
  try:
90
+ result = API_CLIENT.predict(
91
  url=url,
92
  api_name="/predict"
93
  )
 
108
  value="์ผ๋ฐ˜์ ์ธ" # ๊ธฐ๋ณธ ์„ ํƒ
109
  )
110
 
111
+ # ์ฐธ์กฐ๊ธ€ ์ž…๋ ฅ (3๊ฐœ) ๋ฐ API ์‹คํ–‰ ๋ฒ„ํŠผ
112
+ with gr.Row():
113
+ ref1 = gr.Textbox(label="์ฐธ์กฐ๊ธ€ 1 (URL ์ž…๋ ฅ)")
114
+ fetch1 = gr.Button("์ฐธ์กฐ๊ธ€1 API ์‹คํ–‰")
115
+ with gr.Row():
116
+ ref2 = gr.Textbox(label="์ฐธ์กฐ๊ธ€ 2 (URL ์ž…๋ ฅ)")
117
+ fetch2 = gr.Button("์ฐธ์กฐ๊ธ€2 API ์‹คํ–‰")
118
  with gr.Row():
119
+ ref3 = gr.Textbox(label="์ฐธ์กฐ๊ธ€ 3 (URL ์ž…๋ ฅ)")
120
+ fetch3 = gr.Button("์ฐธ์กฐ๊ธ€3 API ์‹คํ–‰")
 
 
 
 
 
 
 
 
 
 
121
 
122
  output_box = gr.Textbox(label="๊ฒฐ๊ณผ", lines=20, interactive=False)
123
 
 
140
  )
141
  return response
142
 
 
 
 
 
 
 
143
  generate_button = gr.Button("์ƒ์„ฑํ•˜๊ธฐ")
144
  generate_button.click(
145
  fn=generate_blog,
 
147
  outputs=output_box
148
  )
149
 
150
+ # ์ฐธ์กฐ๊ธ€1 API ์‹คํ–‰
151
+ def fetch_ref1(url: str) -> str:
152
+ return fetch_blog_content(url)
153
+
154
+ fetch1.click(
155
+ fn=fetch_ref1,
156
  inputs=ref1,
157
  outputs=ref1
158
  )
159
 
160
+ # ์ฐธ์กฐ๊ธ€2 API ์‹คํ–‰
161
+ def fetch_ref2(url: str) -> str:
162
+ return fetch_blog_content(url)
163
+
164
+ fetch2.click(
165
+ fn=fetch_ref2,
166
  inputs=ref2,
167
  outputs=ref2
168
  )
169
 
170
+ # ์ฐธ์กฐ๊ธ€3 API ์‹คํ–‰
171
+ def fetch_ref3(url: str) -> str:
172
+ return fetch_blog_content(url)
173
+
174
+ fetch3.click(
175
+ fn=fetch_ref3,
176
  inputs=ref3,
177
  outputs=ref3
178
  )