|
import gradio as gr |
|
import random |
|
def generate_sentence(num_animals, animal_type, countries, location, activities, time_of_day): |
|
country_str = ", ".join(countries) |
|
activity_str = ", ".join(activities) |
|
time = "์์นจ" if time_of_day else "์ ๋
" |
|
sentence = f"{country_str}์์ ์จ {num_animals}๋ง๋ฆฌ์ {animal_type}์ด {location}์์ {activity_str} ํ์ต๋๋ค. {time}๊น์ง." |
|
return sentence |
|
with gr.Blocks() as demo: |
|
with gr.Row(): |
|
with gr.Column(): |
|
num_slider = gr.Slider(minimum=2, maximum=20, step=1, label="๋๋ฌผ ์๋", value=2) |
|
animal_dropdown = gr.Dropdown( |
|
choices=["๊ฐ์์ง", "๊ณ ์์ด", "ํ ๋ผ", "ํ์คํฐ", "์ต๋ฌด์"], |
|
label="๋๋ฌผ ์ข
๋ฅ", |
|
value="๊ฐ์์ง" |
|
) |
|
countries = gr.CheckboxGroup( |
|
choices=["ํ๊ตญ", "์ผ๋ณธ", "์ค๊ตญ", "๋ฏธ๊ตญ", "์๊ตญ"], |
|
label="๊ตญ๊ฐ ์ ํ" |
|
) |
|
location = gr.Radio( |
|
choices=["๊ณต์", "ํด๋ณ", "์ฐ", "๊ฐ๊ฐ", "์ฒ"], |
|
label="์ฅ์", |
|
value="๊ณต์" |
|
) |
|
activities = gr.Dropdown( |
|
choices=["๋ฌ๋ฆฌ๊ธฐ", "์์", "์ ์๊ธฐ", "๋๊ธฐ", "๋จน๊ธฐ"], |
|
label="ํ๋", |
|
multiselect=True |
|
) |
|
time_checkbox = gr.Checkbox(label="์์นจ(์ฒดํฌ) / ์ ๋
(๋ฏธ์ฒดํฌ)") |
|
with gr.Column(): |
|
output_text = gr.Textbox(label="์์ฑ๋ ๋ฌธ์ฅ") |
|
generate_btn = gr.Button("๋ฌธ์ฅ ์์ฑํ๊ธฐ") |
|
generate_btn.click( |
|
fn=generate_sentence, |
|
inputs=[num_slider, animal_dropdown, countries, location, activities, time_checkbox], |
|
outputs=output_text |
|
) |
|
|
|
if __name__ == '__main__': |
|
demo.launch() |