Spaces:
Sleeping
Sleeping
File size: 6,534 Bytes
f154467 235357d 783515c 5c41f19 d1bdca6 6711778 783515c c07d010 eb20c2a 5c41f19 4c358e9 524bab7 53d4cd7 524bab7 4c358e9 245adf7 4c358e9 245adf7 53d4cd7 719256a 53d4cd7 719256a 4c358e9 41c6af9 7a6064c 53d4cd7 72d073e 7a6064c 72d073e 7a6064c 72d073e ef0e027 4c358e9 df1915c 235357d df1915c 235357d df1915c 235357d df1915c 5c41f19 c07d010 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
import gradio as gr
import plotly.graph_objects as go
# Функция для создания спидометра
def create_gauge(value):
fig = go.Figure(go.Indicator(
mode="gauge+number",
value=value,
gauge={
'axis': {'range': [0, 100]},
'bar': {'color': "black"}, # Цвет стрелки
'steps': [
{'range': [0, 40], 'color': "#55efc4"}, # Мягкий зеленый
{'range': [40, 70], 'color': "#ffeaa7"}, # Желтый
{'range': [70, 100], 'color': "#ff7675"} # Мягкий красный
],
'threshold': {
'line': {'color': "black", 'width': 4},
'thickness': 0.75,
'value': value
}
},
number={'font': {'size': 48}} # Размер шрифта числа
))
fig.update_layout(paper_bgcolor="#f8f9fa", # Цвет фона
font={'color': "#2d3436", 'family': "Arial"}) # Цвет текста
return fig
# Значения для спидометров
def get_success_forecast_1():
return create_gauge(76)
def get_success_forecast_2():
return create_gauge(85)
def get_success_forecast_3():
return create_gauge(62)
# Функция для смены вкладки
def change_tab(id):
return gr.Tabs(selected=id)
with gr.Blocks() as demo:
with gr.Tabs() as tabs:
# Вкладка 1: Исходные данные
with gr.TabItem("Исходные данные", id=0):
with gr.Row():
with gr.Column():
desc = gr.Textbox(label="Описание предложения", lines=5) # Увеличенная высота
benefits = gr.Textbox(label="Преимущества", lines=5) # Увеличенная высота
key_message = gr.Textbox(label="Ключевое сообщение", lines=5) # Увеличенная высота
with gr.Column():
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):
with gr.Row():
with gr.Column():
non_personalized_prompt = gr.Textbox(label="Задание для копирайтера", lines=25) # Увеличенная высота
with gr.Column():
personalized_prompt = gr.Textbox(label="Задание для редактора", lines=25) # Увеличенная высота
# Вкладка 3: Сообщения
with gr.TabItem("Сообщения", id=2):
# Заголовки столбцов
with gr.Row():
gr.Markdown("### Копирайтер") # Название для столбца "Копирайтер"
gr.Markdown("### Редактор") # Название для столбца "Редактор"
# Первый ряд
with gr.Row():
non_personalized_1 = gr.Textbox(label="Стандартное сообщение 1", lines=4, interactive=False)
personalized_1 = gr.Textbox(label="Персонализированное сообщение 1", lines=4, interactive=False)
# Второй ряд
with gr.Row():
non_personalized_2 = gr.Textbox(label="Стандартное сообщение 2", lines=4, interactive=False)
personalized_2 = gr.Textbox(label="Персонализированное сообщение 2", lines=4, interactive=False)
# Третий ряд
with gr.Row():
non_personalized_3 = gr.Textbox(label="Стандартное сообщение 3", lines=4, interactive=False)
personalized_3 = gr.Textbox(label="Персонализированное сообщение 3", lines=4, interactive=False)
# Четвертый ряд
with gr.Row():
btn_check = gr.Button("Проверить", elem_id="check3")
btn_check.click(fn=change_tab, inputs=[gr.Number(value=3, visible=False)], outputs=tabs)
# Вкладка 4: Проверка
with gr.TabItem("Проверка", id=3):
# Первый ряд
with gr.Row():
personalized_message_1 = gr.Textbox(label="Персонализированное сообщение 1", lines=4)
check_message_1 = gr.Textbox(label="Проверка сообщения 1", lines=4)
success_forecast_1 = gr.Plot(value=get_success_forecast_1(), label="Прогноз успешности сообщения 1") # Спидометр 1
# Второй ряд
with gr.Row():
personalized_message_2 = gr.Textbox(label="Персонализированное сообщение 2", lines=4)
check_message_2 = gr.Textbox(label="Проверка сообщения 2", lines=4)
success_forecast_2 = gr.Plot(value=get_success_forecast_2(), label="Прогноз успешности сообщения 2") # Спидометр 2
# Третий ряд
with gr.Row():
personalized_message_3 = gr.Textbox(label="Персонализированное сообщение 3", lines=4)
check_message_3 = gr.Textbox(label="Проверка сообщения 3", lines=4)
success_forecast_3 = gr.Plot(value=get_success_forecast_3(), label="Прогноз успешности сообщения 3") # Спидометр 3
demo.launch() |