import gradio as gr # Функция для смены вкладки def change_tab(id): return gr.Tabs.update(selected=id) with gr.Blocks() as demo: with gr.Tabs() as tabs: # Вкладка 1: Исходные данные with gr.TabItem("Исходные данные", id=0): desc = gr.Textbox(label="Описание предложения") benefits = gr.Textbox(label="Преимущества") key_message = gr.Textbox(label="Ключевое сообщение") approach = gr.Textbox(label="Подход") gender = gr.Dropdown(label="Пол", choices=["Мужчина", "Женщина", "Не указан"]) generation = gr.Dropdown(label="Поколение", choices=["Поколение Z", "Миллениалы", "Поколение X", "Бэби-бумеры"]) psychotype = gr.Textbox(label="Психотип") business_stage = gr.Textbox(label="Стадия бизнеса") industry = gr.Textbox(label="Отрасль") opf = gr.Textbox(label="ОПФ") btn_to_prompts = gr.Button("Создать промпты") btn_to_prompts.click(fn=change_tab, inputs=[gr.Number(value=1, visible=False)], outputs=tabs) # Вкладка 2: Промпты with gr.TabItem("Промпты", id=1): personalized_prompt_1 = gr.Textbox(label="Персонализированный промпт 1") personalized_prompt_2 = gr.Textbox(label="Персонализированный промпт 2") btn_to_sms = gr.Button("Создать SMS-сообщения") btn_to_sms.click(fn=change_tab, inputs=[gr.Number(value=2, visible=False)], outputs=tabs) # Вкладка 3: Сообщения with gr.TabItem("Сообщения", id=2): non_personalized_1 = gr.Textbox(label="Неперсонализированное сообщение 1") non_personalized_2 = gr.Textbox(label="Неперсонализированное сообщение 2") non_personalized_3 = gr.Textbox(label="Неперсонализированное сообщение 3") personalized_1 = gr.Textbox(label="Персонализированное сообщение 1") personalized_2 = gr.Textbox(label="Персонализированное сообщение 2") personalized_3 = gr.Textbox(label="Персонализированное сообщение 3") btn_check_1 = gr.Button("Проверить", elem_id="check1") btn_check_2 = gr.Button("Проверить", elem_id="check2") btn_check_3 = gr.Button("Проверить", elem_id="check3") btn_check_1.click(fn=change_tab, inputs=[gr.Number(value=3, visible=False)], outputs=tabs) btn_check_2.click(fn=change_tab, inputs=[gr.Number(value=3, visible=False)], outputs=tabs) btn_check_3.click(fn=change_tab, inputs=[gr.Number(value=3, visible=False)], outputs=tabs) # Вкладка 4: Проверка with gr.TabItem("Проверка", id=3): final_message = gr.Textbox(label="Итоговое сообщение") demo.launch()