|
|
|
|
|
import gradio as gr |
|
|
import info_blog |
|
|
import travel_blog |
|
|
import product_blog |
|
|
|
|
|
|
|
|
def generate_info_blog_wrapper(query, style): |
|
|
try: |
|
|
html_result, ref1, ref2, ref3, char_count = info_blog.generate_blog_post(query, style) |
|
|
return html_result, ref1, ref2, ref3 |
|
|
except Exception as e: |
|
|
return f"<p>์ค๋ฅ ๋ฐ์: {str(e)}</p>", "์ค๋ฅ", "์ค๋ฅ", "์ค๋ฅ" |
|
|
|
|
|
def generate_travel_blog_wrapper(query, style): |
|
|
try: |
|
|
html_result, ref1, ref2, ref3, char_count = travel_blog.generate_blog_post(query, style) |
|
|
return html_result, ref1, ref2, ref3 |
|
|
except Exception as e: |
|
|
return f"<p>์ค๋ฅ ๋ฐ์: {str(e)}</p>", "์ค๋ฅ", "์ค๋ฅ", "์ค๋ฅ" |
|
|
|
|
|
def generate_product_blog_wrapper(query, style): |
|
|
try: |
|
|
html_result, ref1, ref2, ref3, char_count = product_blog.generate_blog_post(query, style) |
|
|
return html_result, ref1, ref2, ref3 |
|
|
except Exception as e: |
|
|
return f"<p>์ค๋ฅ ๋ฐ์: {str(e)}</p>", "์ค๋ฅ", "์ค๋ฅ", "์ค๋ฅ" |
|
|
|
|
|
|
|
|
def interface(): |
|
|
with gr.Blocks(theme=gr.themes.Soft()) as demo: |
|
|
|
|
|
gr.Markdown("# ์๋ ๋ธ๋ก๊ทธ ํฌ์คํ
", elem_classes="text-center text-2xl font-bold mb-6") |
|
|
|
|
|
|
|
|
with gr.Tab("์ผ๋ฐ์ ๋ณด"): |
|
|
with gr.Row(): |
|
|
with gr.Column(scale=3): |
|
|
query_1 = gr.Textbox( |
|
|
label="ํค์๋", |
|
|
placeholder="๋ฐค ๊ป์ง ๊น๋ ๋ฒ, ๊ฐ์์ง ๋ฉ๋ก , ์ฅ์์ ์ถ๋ ๋ฒ, ์ด๋นจ์กด๋ง๊ฒ ํฐ์ด, ํ์ธํ ํ
์คํธ", |
|
|
elem_classes="text-lg" |
|
|
) |
|
|
with gr.Column(scale=1): |
|
|
style_1 = gr.Radio( |
|
|
choices=['์น๊ทผํ', '์ผ๋ฐ์ ์ธ', '์ ๋ฌธ์ ์ธ'], |
|
|
label="ํฌ์คํ
์คํ์ผ", |
|
|
value='์น๊ทผํ', |
|
|
elem_classes="text-lg" |
|
|
) |
|
|
generate_button_1 = gr.Button("๋ธ๋ก๊ทธ ๊ธ ์์ฑ", variant="primary", size="lg") |
|
|
|
|
|
blog_post_1 = gr.HTML(label="์์ฑ๋ ๋ธ๋ก๊ทธ ๊ธ") |
|
|
|
|
|
|
|
|
with gr.Accordion("์ฐธ๊ณ ๊ธ", open=False): |
|
|
reference_1 = gr.Textbox(label="์ฐธ๊ณ ๊ธ 1") |
|
|
reference_2 = gr.Textbox(label="์ฐธ๊ณ ๊ธ 2") |
|
|
reference_3 = gr.Textbox(label="์ฐธ๊ณ ๊ธ 3") |
|
|
|
|
|
|
|
|
generate_button_1.click( |
|
|
generate_info_blog_wrapper, |
|
|
inputs=[query_1, style_1], |
|
|
outputs=[blog_post_1, reference_1, reference_2, reference_3] |
|
|
) |
|
|
|
|
|
|
|
|
with gr.Tab("์ฌํ"): |
|
|
with gr.Row(): |
|
|
with gr.Column(scale=3): |
|
|
query_2 = gr.Textbox( |
|
|
label="ํค์๋", |
|
|
placeholder="์๋๊ตญ์ ํ์ถคํ์คํฐ๋ฒ, 2024๊ธ์ฐ์ธ์ผ์ถ์ , ๊ณ๋ฃก ๊ตฐ ๋ฌธํ์ถ์ , ๋์ ์ฑ์ฌ๋น, 10์ ๊ฒฝ์ฃผ ์ฌํ ์ฝ์ค, ๋ถ์ฐ ์์ด์ ํจ๊ป ๊ฐ๋ณผ๋งํ ๊ณณ, 10์ ์ ์ฃผ๋ ํํฌ๋ฎฌ๋ฆฌ", |
|
|
elem_classes="text-lg" |
|
|
) |
|
|
with gr.Column(scale=1): |
|
|
style_2 = gr.Radio( |
|
|
choices=['์น๊ทผํ', '์ผ๋ฐ์ ์ธ', '์ ๋ฌธ์ ์ธ'], |
|
|
label="ํฌ์คํ
์คํ์ผ", |
|
|
value='์น๊ทผํ', |
|
|
elem_classes="text-lg" |
|
|
) |
|
|
generate_button_2 = gr.Button("๋ธ๋ก๊ทธ ๊ธ ์์ฑ", variant="primary", size="lg") |
|
|
|
|
|
blog_post_2 = gr.HTML(label="์์ฑ๋ ๋ธ๋ก๊ทธ ๊ธ") |
|
|
|
|
|
|
|
|
with gr.Accordion("์ฐธ๊ณ ๊ธ", open=False): |
|
|
reference_4 = gr.Textbox(label="์ฐธ๊ณ ๊ธ 1") |
|
|
reference_5 = gr.Textbox(label="์ฐธ๊ณ ๊ธ 2") |
|
|
reference_6 = gr.Textbox(label="์ฐธ๊ณ ๊ธ 3") |
|
|
|
|
|
|
|
|
generate_button_2.click( |
|
|
generate_travel_blog_wrapper, |
|
|
inputs=[query_2, style_2], |
|
|
outputs=[blog_post_2, reference_4, reference_5, reference_6] |
|
|
) |
|
|
|
|
|
|
|
|
with gr.Tab("์ํ๋ฆฌ๋ทฐ"): |
|
|
with gr.Row(): |
|
|
with gr.Column(scale=3): |
|
|
query_3 = gr.Textbox( |
|
|
label="ํค์๋", |
|
|
placeholder="๋ ๋
ธ๋ฒ k10 pro, ๊ฐค๋ญ์์์น ์ธํธ๋ผ ์คํ, ์์ดํฐ16 pro ์ถ์ฒ, ๋ค์ด์ ๋ฐฉ์ํฉ, ์ฌํ์ฉ ์ค์ํํฐ, ๋ธ๋กค์คํ์ฆ ์๋ฆฌ์ผ, ์ ๋ผ๋ฉด ํผ๋ฐ", |
|
|
elem_classes="text-lg" |
|
|
) |
|
|
with gr.Column(scale=1): |
|
|
style_3 = gr.Radio( |
|
|
choices=['์น๊ทผํ', '์ผ๋ฐ์ ์ธ', '์ ๋ฌธ์ ์ธ'], |
|
|
label="ํฌ์คํ
์คํ์ผ", |
|
|
value='์น๊ทผํ', |
|
|
elem_classes="text-lg" |
|
|
) |
|
|
generate_button_3 = gr.Button("๋ธ๋ก๊ทธ ๊ธ ์์ฑ", variant="primary", size="lg") |
|
|
|
|
|
blog_post_3 = gr.HTML(label="์์ฑ๋ ๋ธ๋ก๊ทธ ๊ธ") |
|
|
|
|
|
|
|
|
with gr.Accordion("์ฐธ๊ณ ๊ธ", open=False): |
|
|
reference_7 = gr.Textbox(label="์ฐธ๊ณ ๊ธ 1") |
|
|
reference_8 = gr.Textbox(label="์ฐธ๊ณ ๊ธ 2") |
|
|
reference_9 = gr.Textbox(label="์ฐธ๊ณ ๊ธ 3") |
|
|
|
|
|
|
|
|
generate_button_3.click( |
|
|
generate_product_blog_wrapper, |
|
|
inputs=[query_3, style_3], |
|
|
outputs=[blog_post_3, reference_7, reference_8, reference_9] |
|
|
) |
|
|
|
|
|
|
|
|
gr.Markdown("---") |
|
|
gr.Markdown("ยฉ 2025 ์๋ ๋ธ๋ก๊ทธ ํฌ์คํ
์์คํ
", elem_classes="text-center text-sm") |
|
|
|
|
|
return demo |
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
demo = interface() |
|
|
demo.launch(server_name="0.0.0.0", share=True, show_error=True) |