ssboost commited on
Commit
d9512d5
ยท
verified ยท
1 Parent(s): 9ca17bd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +117 -2
app.py CHANGED
@@ -1,2 +1,117 @@
1
- import os
2
- exec(os.environ.get('APP'))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import info_blog
3
+ import travel_blog
4
+ import product_blog
5
+
6
+ # Gradio ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„
7
+ def interface():
8
+ with gr.Blocks(theme=gr.themes.Soft()) as demo:
9
+ # ๋Œ€์ œ๋ชฉ: ์ž๋™ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…
10
+ gr.Markdown("# ์ž๋™ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…", elem_classes="text-center text-2xl font-bold mb-6")
11
+
12
+ # ์ฒซ ๋ฒˆ์งธ ํƒญ: ์ผ๋ฐ˜์ •๋ณด
13
+ with gr.Tab("์ผ๋ฐ˜์ •๋ณด"):
14
+ with gr.Row():
15
+ with gr.Column(scale=3):
16
+ query_1 = gr.Textbox(
17
+ label="ํ‚ค์›Œ๋“œ",
18
+ placeholder="๋ฐค ๊ป์งˆ ๊นŒ๋Š” ๋ฒ•, ๊ฐ•์•„์ง€ ๋ฉ”๋ก , ์˜ฅ์ˆ˜์ˆ˜ ์‚ถ๋Š” ๋ฒ•, ์šด๋นจ์กด๋งŽ๊ฒœ ํ‹ฐ์–ด, ํ•˜์ธ„ํ•‘ ํ…Œ์ŠคํŠธ",
19
+ elem_classes="text-lg"
20
+ )
21
+ with gr.Column(scale=1):
22
+ style_1 = gr.Radio(
23
+ choices=['์นœ๊ทผํ•œ', '์ผ๋ฐ˜์ ์ธ', '์ „๋ฌธ์ ์ธ'],
24
+ label="ํฌ์ŠคํŒ… ์Šคํƒ€์ผ",
25
+ value='์นœ๊ทผํ•œ',
26
+ elem_classes="text-lg"
27
+ )
28
+ generate_button_1 = gr.Button("๋ธ”๋กœ๊ทธ ๊ธ€ ์ƒ์„ฑ", variant="primary", size="lg")
29
+
30
+ blog_post_1 = gr.HTML(label="์ƒ์„ฑ๋œ ๋ธ”๋กœ๊ทธ ๊ธ€")
31
+
32
+ # ์ฐธ๊ณ ๊ธ€ ์ถ”๊ฐ€
33
+ with gr.Accordion("์ฐธ๊ณ  ๊ธ€", open=False):
34
+ reference_1 = gr.Textbox(label="์ฐธ๊ณ ๊ธ€ 1")
35
+ reference_2 = gr.Textbox(label="์ฐธ๊ณ ๊ธ€ 2")
36
+ reference_3 = gr.Textbox(label="์ฐธ๊ณ ๊ธ€ 3")
37
+
38
+ generate_button_1.click(
39
+ info_blog.generate_blog_post,
40
+ inputs=[query_1, style_1],
41
+ outputs=[blog_post_1, reference_1, reference_2, reference_3]
42
+ )
43
+
44
+ # ๋‘ ๋ฒˆ์งธ ํƒญ: ์—ฌํ–‰
45
+ with gr.Tab("์—ฌํ–‰"):
46
+ with gr.Row():
47
+ with gr.Column(scale=3):
48
+ query_2 = gr.Textbox(
49
+ label="ํ‚ค์›Œ๋“œ",
50
+ placeholder="์•ˆ๋™๊ตญ์ œํƒˆ์ถคํŽ˜์Šคํ‹ฐ๋ฒŒ, 2024๊ธˆ์‚ฐ์ธ์‚ผ์ถ•์ œ, ๊ณ„๋ฃก ๊ตฐ ๋ฌธํ™”์ถ•์ œ, ๋Œ€์ „ ์„ฑ์‹ฌ๋‹น, 10์›” ๊ฒฝ์ฃผ ์—ฌํ–‰ ์ฝ”์Šค, ๋ถ€์‚ฐ ์•„์ด์™€ ํ•จ๊ป˜ ๊ฐ€๋ณผ๋งŒํ•œ ๊ณณ, 10์›” ์ œ์ฃผ๋„ ํ•‘ํฌ๋ฎฌ๋ฆฌ",
51
+ elem_classes="text-lg"
52
+ )
53
+ with gr.Column(scale=1):
54
+ style_2 = gr.Radio(
55
+ choices=['์นœ๊ทผํ•œ', '์ผ๋ฐ˜์ ์ธ', '์ „๋ฌธ์ ์ธ'],
56
+ label="ํฌ์ŠคํŒ… ์Šคํƒ€์ผ",
57
+ value='์นœ๊ทผํ•œ',
58
+ elem_classes="text-lg"
59
+ )
60
+ generate_button_2 = gr.Button("๋ธ”๋กœ๊ทธ ๊ธ€ ์ƒ์„ฑ", variant="primary", size="lg")
61
+
62
+ blog_post_2 = gr.HTML(label="์ƒ์„ฑ๋œ ๋ธ”๋กœ๊ทธ ๊ธ€")
63
+
64
+ # ์ฐธ๊ณ ๊ธ€ ์ถ”๊ฐ€
65
+ with gr.Accordion("์ฐธ๊ณ  ๊ธ€", open=False):
66
+ reference_4 = gr.Textbox(label="์ฐธ๊ณ ๊ธ€ 1")
67
+ reference_5 = gr.Textbox(label="์ฐธ๊ณ ๊ธ€ 2")
68
+ reference_6 = gr.Textbox(label="์ฐธ๊ณ ๊ธ€ 3")
69
+
70
+ generate_button_2.click(
71
+ travel_blog.generate_blog_post,
72
+ inputs=[query_2, style_2],
73
+ outputs=[blog_post_2, reference_4, reference_5, reference_6]
74
+ )
75
+
76
+ # ์„ธ ๋ฒˆ์งธ ํƒญ: ์ƒํ’ˆ๋ฆฌ๋ทฐ
77
+ with gr.Tab("์ƒํ’ˆ๋ฆฌ๋ทฐ"):
78
+ with gr.Row():
79
+ with gr.Column(scale=3):
80
+ query_3 = gr.Textbox(
81
+ label="ํ‚ค์›Œ๋“œ",
82
+ placeholder="๋ ˆ๋…ธ๋ฒ„ k10 pro, ๊ฐค๋Ÿญ์‹œ์›Œ์น˜ ์šธํŠธ๋ผ ์ŠคํŽ™, ์•„์ดํฐ16 pro ์ถ”์ฒœ, ๋‹ค์ด์†Œ ๋ฐฉ์ˆ˜ํŒฉ, ์—ฌํ–‰์šฉ ์ƒค์›Œํ•„ํ„ฐ, ๋ธŒ๋กค์Šคํƒ€์ฆˆ ์‹œ๋ฆฌ์–ผ, ์‹ ๋ผ๋ฉด ํˆผ๋ฐ”",
83
+ elem_classes="text-lg"
84
+ )
85
+ with gr.Column(scale=1):
86
+ style_3 = gr.Radio(
87
+ choices=['์นœ๊ทผํ•œ', '์ผ๋ฐ˜์ ์ธ', '์ „๋ฌธ์ ์ธ'],
88
+ label="ํฌ์ŠคํŒ… ์Šคํƒ€์ผ",
89
+ value='์นœ๊ทผํ•œ',
90
+ elem_classes="text-lg"
91
+ )
92
+ generate_button_3 = gr.Button("๋ธ”๋กœ๊ทธ ๊ธ€ ์ƒ์„ฑ", variant="primary", size="lg")
93
+
94
+ blog_post_3 = gr.HTML(label="์ƒ์„ฑ๋œ ๋ธ”๋กœ๊ทธ ๊ธ€")
95
+
96
+ # ์ฐธ๊ณ ๊ธ€ ์ถ”๊ฐ€
97
+ with gr.Accordion("์ฐธ๊ณ  ๊ธ€", open=False):
98
+ reference_7 = gr.Textbox(label="์ฐธ๊ณ ๊ธ€ 1")
99
+ reference_8 = gr.Textbox(label="์ฐธ๊ณ ๊ธ€ 2")
100
+ reference_9 = gr.Textbox(label="์ฐธ๊ณ ๊ธ€ 3")
101
+
102
+ generate_button_3.click(
103
+ product_blog.generate_blog_post,
104
+ inputs=[query_3, style_3],
105
+ outputs=[blog_post_3, reference_7, reference_8, reference_9]
106
+ )
107
+
108
+ # ํ‘ธํ„ฐ ์ถ”๊ฐ€
109
+ gr.Markdown("---")
110
+ gr.Markdown("ยฉ 2025 ์ž๋™ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ… ์‹œ์Šคํ…œ", elem_classes="text-center text-sm")
111
+
112
+ return demo
113
+
114
+ # ์ธํ„ฐํŽ˜์ด์Šค ์‹คํ–‰
115
+ if __name__ == "__main__":
116
+ demo = interface()
117
+ demo.launch(server_name="0.0.0.0", share=True, show_error=True)