| 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() |