File size: 6,104 Bytes
04c268e
 
 
4fdbb1d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
04c268e
 
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
import gradio as gr

with gr.Blocks() as demo:
    # Верхняя строка: Progress bar
    with gr.Row():
        # Здесь мы можем отобразить фейковый прогресс бар
        # Например, три черных квадрата и "7%"
        # Т.к. нет встроенного прогрессбара, используем Markdown или HTML
        gr.Markdown("### Progress bar")
    with gr.Row():
        # Имитируем три заполненных квадрата и 7%
        gr.HTML("<div style='display:flex;align-items:center;'>"
                "<div style='width:20px;height:20px;background:black;margin-right:5px;'></div>"
                "<div style='width:20px;height:20px;background:black;margin-right:5px;'></div>"
                "<div style='width:20px;height:20px;background:black;margin-right:10px;'></div>"
                "<span>7%</span></div>")
    
    with gr.Row():
        # Левая колонка: Продукт
        with gr.Column(scale=1):
            gr.Markdown("**Продукт**")
            product_dropdown = gr.Dropdown(label="Продукт", choices=["Продукт A", "Продукт B"], value="Продукт A")
            
            description = gr.Textbox(label="Описание предложения", lines=5, placeholder="Введите описание...")
            product_name = gr.Textbox(label="Наименование продукта", lines=1, placeholder="Введите наименование...")
            advantages = gr.Textbox(label="Преимущества", lines=5, placeholder="Введите преимущества...")
            key_message = gr.Textbox(label="Ключевое сообщение", lines=2, placeholder="Введите ключевое сообщение...")
        
        # Правая колонка: Клиент
        with gr.Column(scale=1):
            gr.Markdown("**Клиент**")
            gender = gr.Dropdown(label="Пол", choices=["Мужской", "Женский", "Не определено"], value="Мужской")
            generation = gr.Dropdown(label="Поколение", choices=["X", "Y", "Z"], value="Y")
            psychotype = gr.Dropdown(label="Психотип", choices=["Аналитик", "Эмоциональный", "Практик"], value="Аналитик")
            business_stage = gr.Dropdown(label="Стадия бизнеса", choices=["Стартап", "Рост", "Зрелость"], value="Стартап")
            industry = gr.Dropdown(label="Отрасль", choices=["Ритейл", "IT", "Производство"], value="IT")
            opf = gr.Dropdown(label="ОПФ", choices=["ООО", "ИП", "АО"], value="ООО")
            chosen_approach = gr.Dropdown(label="Выбранный подход", choices=["Подход 1", "Подход 2", "Подход 3"], value="Подход 1")
            
            # Поле «Наличие в БД»
            gr.Markdown("**Наличие в БД**")
            gr.Markdown("В базе есть SMS под данные параметры персонализации")
    
    # Кнопки: Вернуть параметры, Создать персонализированное SMS
    with gr.Row():
        return_params_btn = gr.Button("Вернуть параметры предыдущего запроса")
        create_personal_sms_btn = gr.Button("Создать персонализированное SMS")
    
    # Блок моделей и их промптов
    with gr.Row():
        with gr.Column():
            gr.Markdown("**Модель 1**")
            model_1_name = gr.Markdown("Название модели скрыто для проведения слепого тестирования")
            prompt_1 = gr.Markdown("Промпт скрыт для проведения слепого тестирования")
            sms_1 = gr.Textbox(label="SMS 1", lines=3)
        
        with gr.Column():
            gr.Markdown("**Модель 2**")
            model_2_name = gr.Markdown("Название модели скрыто для проведения слепого тестирования")
            prompt_2 = gr.Markdown("Промпт скрыт для проведения слепого тестирования")
            sms_2 = gr.Textbox(label="SMS 2", lines=3)
    
    # Кнопки выбора предпочтительного SMS и перегенерации
    with gr.Row():
        prefer_sms_1_btn = gr.Button("Я предпочитаю это SMS")
        prefer_sms_2_btn = gr.Button("Я предпочитаю это SMS")
        regen_btn = gr.Button("Перегенерировать (не нравится ни одно из SMS)")
    
    # Комментарии к SMS
    with gr.Row():
        comment_sms_1 = gr.Textbox(label="Комментарий к SMS 1", lines=2)
        comment_sms_2 = gr.Textbox(label="Комментарий к SMS 2", lines=2)
    
    # Откорректированные SMS
    with gr.Row():
        corrected_sms_1 = gr.Textbox(label="Откорректированное SMS 1", lines=3)
        corrected_sms_2 = gr.Textbox(label="Откорректированное SMS 2", lines=3)
    
    # Кнопки сохранения в БД
    with gr.Row():
        save_sms_1_btn = gr.Button("Сохранить в БД")
        save_sms_2_btn = gr.Button("Сохранить в БД")
    
    # Набор условий (галочки)
    # Можно использовать Markdown для визуального списка
    gr.Markdown("✔ Отсутствие приветствий")
    gr.Markdown("✔ Отсутствие деепричастий")
    # И так далее для всех необходимых пунктов...
    # Если нужно добавить много таких условий, можно прогрузить их циклом или задать массивом.

demo.launch()