fruitpicker01 commited on
Commit
27218f8
·
verified ·
1 Parent(s): 9b5decc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -74
app.py CHANGED
@@ -42,6 +42,7 @@ def generate_standard_prompt(description, advantages, *selected_values):
42
  "Начни сообщение с призыва к действию с продуктом.\n"
43
  f"Описание предложения: {description}\n"
44
  f"Преимущества: {advantages}\n"
 
45
  "В тексте смс запрещено использование:\n"
46
  "- Запрещенные слова: № один, номер один, № 1, вкусный, дешёвый, продукт, спам, доступный, банкротство, долги, займ, срочно, сейчас, лучший, главный, номер 1, гарантия, успех, лидер;\n"
47
  "- Обращение к клиенту;\n"
@@ -75,7 +76,7 @@ def generate_standard_prompt(description, advantages, *selected_values):
75
  return prompt
76
 
77
  # Функции для генерации сообщений
78
- def generate_message_gpt4o(prompt, gpt4o_temperature):
79
  try:
80
  headers = {
81
  "Content-Type": "application/json",
@@ -84,16 +85,14 @@ def generate_message_gpt4o(prompt, gpt4o_temperature):
84
  data = {
85
  "model": "chatgpt-4o-latest",
86
  "messages": [{"role": "system", "content": prompt}],
87
- "max_tokens": 101,
88
- "temperature": gpt4o_temperature # Передача температуры
89
  }
90
  response = requests.post("https://api.openai.com/v1/chat/completions", json=data, headers=headers)
91
  response_data = response.json()
92
- return clean_message(response_data["choices"][0]["message"]["content"].strip())
93
  except Exception as e:
94
  return f"Ошибка при обращении к ChatGPT-4o-Latest: {e}"
95
 
96
-
97
  def clean_message(message):
98
  # Если сообщение не заканчивается на точку или восклицательный знак, обрезаем его до последней точки
99
  if not message.endswith(('.', '!', '?')):
@@ -103,71 +102,68 @@ def clean_message(message):
103
  return message
104
 
105
  # Обновленные функции генерации сообщений с учетом обрезки незаконченных предложений
106
- def generate_message_gigachat_pro(prompt, gigachat_pro_temperature):
107
  try:
108
  messages = [SystemMessage(content=prompt)]
109
- chat_pro = GigaChat(credentials=gc_key, model='GigaChat-Pro', max_tokens=68, temperature=gigachat_pro_temperature, verify_ssl_certs=False)
110
  res = chat_pro(messages)
111
  cleaned_message = clean_message(res.content.strip())
112
  return cleaned_message
113
  except Exception as e:
114
  return f"Ошибка при обращении к GigaChat-Pro: {e}"
115
 
116
- def generate_message_gigachat_lite(prompt, gigachat_lite_temperature):
117
  try:
118
  time.sleep(2)
119
  messages = [SystemMessage(content=prompt)]
120
- chat_lite = GigaChat(credentials=gc_key, model='GigaChat', max_tokens=68, temperature=gigachat_lite_temperature, verify_ssl_certs=False)
121
  res = chat_lite(messages)
122
  cleaned_message = clean_message(res.content.strip())
123
  return cleaned_message
124
  except Exception as e:
125
  return f"Ошибка при обращении к GigaChat-Lite: {e}"
126
 
127
- def generate_message_gigachat_plus(prompt, gigachat_plus_temperature):
128
  try:
129
  time.sleep(2)
130
  messages = [SystemMessage(content=prompt)]
131
- chat_plus = GigaChat(credentials=gc_key, model='GigaChat-Plus', max_tokens=68, temperature=gigachat_plus_temperature, verify_ssl_certs=False)
132
  res = chat_plus(messages)
133
  cleaned_message = clean_message(res.content.strip())
134
  return cleaned_message
135
  except Exception as e:
136
  return f"Ошибка при обращении к GigaChat-Plus: {e}"
137
 
138
- def generate_message_gpt4o_with_retry(prompt, gpt4o_temperature):
139
  for _ in range(10): # Максимум 10 попыток
140
- message = generate_message_gpt4o(prompt, gpt4o_temperature)
141
  if len(message) <= 250:
142
  return message
143
  return message # Возвращаем последнее сгенерированное сообщение, если все попытки не удались
144
 
145
- def generate_message_gigachat_pro_with_retry(prompt, gigachat_pro_temperature):
146
  for _ in range(10):
147
- message = generate_message_gigachat_pro(prompt, gigachat_pro_temperature)
148
  if len(message) <= 250:
149
  return message
150
  return message
151
 
152
- def generate_message_gigachat_lite_with_retry(prompt, gigachat_lite_temperature):
153
  for _ in range(10):
154
- message = generate_message_gigachat_lite(prompt, gigachat_lite_temperature)
155
  if len(message) <= 250:
156
  return message
157
  return message
158
 
159
- def generate_message_gigachat_plus_with_retry(prompt, gigachat_plus_temperature):
160
  for _ in range(10):
161
- message = generate_message_gigachat_plus(prompt, gigachat_plus_temperature)
162
  if len(message) <= 250:
163
  return message
164
  return message
165
 
166
-
167
  # Обновляем генерацию сообщений для отображения в интерфейсе
168
- def generate_messages(description, advantages, gpt4o_temperature, gigachat_pro_temperature, gigachat_lite_temperature, gigachat_plus_temperature, *selected_values):
169
  standard_prompt = generate_standard_prompt(description, advantages, *selected_values)
170
-
171
  results = {
172
  "prompt": standard_prompt,
173
  "gpt4o": None,
@@ -178,26 +174,26 @@ def generate_messages(description, advantages, gpt4o_temperature, gigachat_pro_t
178
 
179
  yield results["prompt"], "", "", "", "", "Генерация стандартного промпта завершена"
180
 
181
- results["gpt4o"] = generate_message_gpt4o_with_retry(standard_prompt, gpt4o_temperature)
182
  gpt4o_length = len(results["gpt4o"])
183
  gpt4o_display = f"{results['gpt4o']}\n\n------\nКоличество знаков: {gpt4o_length}"
184
  yield results["prompt"], gpt4o_display, "", "", "", "Сообщение GPT-4o сгенерировано"
185
 
186
- results["gigachat_pro"] = generate_message_gigachat_pro_with_retry(standard_prompt, gigachat_pro_temperature)
187
  gigachat_pro_length = len(results["gigachat_pro"])
188
  gigachat_pro_display = f"{results['gigachat_pro']}\n\n------\nКоличество знаков: {gigachat_pro_length}"
189
  yield results["prompt"], gpt4o_display, gigachat_pro_display, "", "", "Сообщение GigaChat-Pro сгенерировано"
190
 
191
  time.sleep(2)
192
 
193
- results["gigachat_lite"] = generate_message_gigachat_lite_with_retry(standard_prompt, gigachat_lite_temperature)
194
  gigachat_lite_length = len(results["gigachat_lite"])
195
  gigachat_lite_display = f"{results['gigachat_lite']}\n\n------\nКоличество знаков: {gigachat_lite_length}"
196
  yield results["prompt"], gpt4o_display, gigachat_pro_display, gigachat_lite_display, "", "Сообщение GigaChat-Lite сгенерировано"
197
 
198
  time.sleep(2)
199
 
200
- results["gigachat_plus"] = generate_message_gigachat_plus_with_retry(standard_prompt, gigachat_plus_temperature)
201
  gigachat_plus_length = len(results["gigachat_plus"])
202
  gigachat_plus_display = f"{results['gigachat_plus']}\n\n------\nКоличество знаков: {gigachat_plus_length}"
203
  yield results["prompt"], gpt4o_display, gigachat_pro_display, gigachat_lite_display, gigachat_plus_display, "Все сообщения сгенерированы"
@@ -205,6 +201,7 @@ def generate_messages(description, advantages, gpt4o_temperature, gigachat_pro_t
205
  return results
206
 
207
 
 
208
  # Функция для генерации персонализированного промпта
209
  def generate_personalization_prompt(*selected_values):
210
  prompt = "Адаптируй, не превышая длину сообщения в 250 знаков с пробелами, текст с учетом следующих особенностей:\n"
@@ -349,11 +346,10 @@ def check_errors_with_yield(*personalized_messages):
349
  yield error_check_prompt, error_message_gpt4o, error_message_gigachat_pro, error_message_gigachat_lite, error_message_gigachat_plus, "Все результаты проверки сгенерированы"
350
 
351
 
352
- def save_to_github(personalized_message, model_name, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature):
353
  # Собираем все данные в один словарь
354
  data_to_save = {
355
  "Модель": model_name,
356
- "Температура": temperature, # Добавляем температуру
357
  "Персонализированное сообщение": personalized_message,
358
  "Комментарий": comment,
359
  "Откорректированное сообщение": corrected_message,
@@ -388,23 +384,11 @@ def save_to_github(personalized_message, model_name, comment, corrected_message,
388
  # Отправка POST-запроса на GitHub API для создания файла в репозитории
389
  response = requests.put(url, headers=headers, data=json.dumps(data))
390
 
391
- if response.status_code == 201:
392
- print("Файл успешно загружен на GitHub.")
393
- else:
394
- print(f"Ошибка при загрузке файла на GitHub: {response.status_code}")
395
- print(f"Ответ сервера: {response.json()}")
396
-
397
 
398
  # Создание интерфейса Gradio
399
  with gr.Blocks() as demo:
400
  gr.Markdown("# Генерация SMS-сообщений по заданным признакам")
401
 
402
- # Добавление элементов управления температурой для каждой модели
403
- gpt4o_temperature = gr.Number(label="GPT-4o: temperature", value=1)
404
- gigachat_pro_temperature = gr.Number(label="GigaChat-Pro: temperature", value=0.87)
405
- gigachat_lite_temperature = gr.Number(label="GigaChat-Lite: temperature", value=0.87)
406
- gigachat_plus_temperature = gr.Number(label="GigaChat-Plus: temperature", value=0.87)
407
-
408
  with gr.Row():
409
  with gr.Column(scale=1):
410
  description_input = gr.Textbox(
@@ -444,20 +428,11 @@ with gr.Blocks() as demo:
444
  output_text_gigachat_lite = gr.Textbox(label="Неперсонализированное сообщение GigaChat-Lite", lines=3, interactive=False)
445
  output_text_gigachat_plus = gr.Textbox(label="Неперсонализированное сообщение GigaChat-Lite+", lines=3, interactive=False)
446
 
447
- submit_btn.click(
448
- generate_messages,
449
- inputs=[
450
- description_input,
451
- advantages_input,
452
- *selections,
453
- gpt4o_temperature,
454
- gigachat_pro_temperature,
455
- gigachat_lite_temperature,
456
- gigachat_plus_temperature
457
- ],
458
- outputs=[prompt_display, output_text_gpt4o, output_text_gigachat_pro, output_text_gigachat_lite, output_text_gigachat_plus]
459
- )
460
-
461
 
462
  with gr.Row():
463
  personalize_btn = gr.Button("2. Выполнить персонализацию (нажимать только после кнопки 1)", elem_id="personalize_button")
@@ -500,8 +475,8 @@ with gr.Blocks() as demo:
500
 
501
  # Привязка кнопок к функциям сохранения
502
  save_gpt4o_btn.click(
503
- fn=lambda personalized_message, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature:
504
- save_to_github(personalized_message, "GPT-4o", comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature),
505
  inputs=[
506
  personalized_output_text_gpt4o,
507
  comment_gpt4o,
@@ -515,15 +490,14 @@ with gr.Blocks() as demo:
515
  selections[2], # Психотип
516
  selections[3], # Стадия бизнеса
517
  selections[4], # Отрасль
518
- selections[5], # ОПФ
519
- gpt4o_temperature # Передача температуры
520
  ],
521
  outputs=None
522
  )
523
-
524
  save_gigachat_pro_btn.click(
525
- fn=lambda personalized_message, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature:
526
- save_to_github(personalized_message, "GigaChat-Pro", comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature),
527
  inputs=[
528
  personalized_output_text_gigachat_pro,
529
  comment_gigachat_pro,
@@ -537,15 +511,14 @@ with gr.Blocks() as demo:
537
  selections[2], # Психотип
538
  selections[3], # Стадия бизнеса
539
  selections[4], # Отрасль
540
- selections[5], # ОПФ
541
- gigachat_pro_temperature # Передача температуры
542
  ],
543
  outputs=None
544
  )
545
-
546
  save_gigachat_lite_btn.click(
547
- fn=lambda personalized_message, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature:
548
- save_to_github(personalized_message, "GigaChat-Lite", comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature),
549
  inputs=[
550
  personalized_output_text_gigachat_lite,
551
  comment_gigachat_lite,
@@ -559,15 +532,14 @@ with gr.Blocks() as demo:
559
  selections[2], # Психотип
560
  selections[3], # Стадия бизнеса
561
  selections[4], # Отрасль
562
- selections[5], # ОПФ
563
- gigachat_lite_temperature # Передача температуры
564
  ],
565
  outputs=None
566
  )
567
-
568
  save_gigachat_plus_btn.click(
569
- fn=lambda personalized_message, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature:
570
- save_to_github(personalized_message, "GigaChat-Plus", comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form, temperature),
571
  inputs=[
572
  personalized_output_text_gigachat_plus,
573
  comment_gigachat_plus,
@@ -581,13 +553,11 @@ with gr.Blocks() as demo:
581
  selections[2], # Психотип
582
  selections[3], # Стадия бизнеса
583
  selections[4], # Отрасль
584
- selections[5], # ОПФ
585
- gigachat_plus_temperature # Передача температуры
586
  ],
587
  outputs=None
588
  )
589
 
590
-
591
  # Использование сохраненных переменных в следующем блоке
592
  with gr.Row():
593
  check_errors_btn = gr.Button("3. Проверить текст (нажимать только после кнопки 2) - экспериментальная фича, качество пока крайне низкое", elem_id="check_errors_button")
 
42
  "Начни сообщение с призыва к действию с продуктом.\n"
43
  f"Описание предложения: {description}\n"
44
  f"Преимущества: {advantages}\n"
45
+ "Вклад на короткий срок.\n"
46
  "В тексте смс запрещено использование:\n"
47
  "- Запрещенные слова: № один, номер один, № 1, вкусный, дешёвый, продукт, спам, доступный, банкротство, долги, займ, срочно, сейчас, лучший, главный, номер 1, гарантия, успех, лидер;\n"
48
  "- Обращение к клиенту;\n"
 
76
  return prompt
77
 
78
  # Функции для генерации сообщений
79
+ def generate_message_gpt4o(prompt):
80
  try:
81
  headers = {
82
  "Content-Type": "application/json",
 
85
  data = {
86
  "model": "chatgpt-4o-latest",
87
  "messages": [{"role": "system", "content": prompt}],
88
+ "max_tokens": 101
 
89
  }
90
  response = requests.post("https://api.openai.com/v1/chat/completions", json=data, headers=headers)
91
  response_data = response.json()
92
+ return response_data["choices"][0]["message"]["content"].strip()
93
  except Exception as e:
94
  return f"Ошибка при обращении к ChatGPT-4o-Latest: {e}"
95
 
 
96
  def clean_message(message):
97
  # Если сообщение не заканчивается на точку или восклицательный знак, обрезаем его до последней точки
98
  if not message.endswith(('.', '!', '?')):
 
102
  return message
103
 
104
  # Обновленные функции генерации сообщений с учетом обрезки незаконченных предложений
105
+ def generate_message_gigachat_pro(prompt):
106
  try:
107
  messages = [SystemMessage(content=prompt)]
 
108
  res = chat_pro(messages)
109
  cleaned_message = clean_message(res.content.strip())
110
  return cleaned_message
111
  except Exception as e:
112
  return f"Ошибка при обращении к GigaChat-Pro: {e}"
113
 
114
+ def generate_message_gigachat_lite(prompt):
115
  try:
116
  time.sleep(2)
117
  messages = [SystemMessage(content=prompt)]
 
118
  res = chat_lite(messages)
119
  cleaned_message = clean_message(res.content.strip())
120
  return cleaned_message
121
  except Exception as e:
122
  return f"Ошибка при обращении к GigaChat-Lite: {e}"
123
 
124
+ def generate_message_gigachat_plus(prompt):
125
  try:
126
  time.sleep(2)
127
  messages = [SystemMessage(content=prompt)]
 
128
  res = chat_plus(messages)
129
  cleaned_message = clean_message(res.content.strip())
130
  return cleaned_message
131
  except Exception as e:
132
  return f"Ошибка при обращении к GigaChat-Plus: {e}"
133
 
134
+ def generate_message_gpt4o_with_retry(prompt):
135
  for _ in range(10): # Максимум 10 попыток
136
+ message = generate_message_gpt4o(prompt)
137
  if len(message) <= 250:
138
  return message
139
  return message # Возвращаем последнее сгенерированное сообщение, если все попытки не удались
140
 
141
+ def generate_message_gigachat_pro_with_retry(prompt):
142
  for _ in range(10):
143
+ message = generate_message_gigachat_pro(prompt)
144
  if len(message) <= 250:
145
  return message
146
  return message
147
 
148
+ def generate_message_gigachat_lite_with_retry(prompt):
149
  for _ in range(10):
150
+ message = generate_message_gigachat_lite(prompt)
151
  if len(message) <= 250:
152
  return message
153
  return message
154
 
155
+ def generate_message_gigachat_plus_with_retry(prompt):
156
  for _ in range(10):
157
+ message = generate_message_gigachat_plus(prompt)
158
  if len(message) <= 250:
159
  return message
160
  return message
161
 
162
+
163
  # Обновляем генерацию сообщений для отображения в интерфейсе
164
+ def generate_messages(description, advantages, *selected_values):
165
  standard_prompt = generate_standard_prompt(description, advantages, *selected_values)
166
+
167
  results = {
168
  "prompt": standard_prompt,
169
  "gpt4o": None,
 
174
 
175
  yield results["prompt"], "", "", "", "", "Генерация стандартного промпта завершена"
176
 
177
+ results["gpt4o"] = generate_message_gpt4o_with_retry(standard_prompt)
178
  gpt4o_length = len(results["gpt4o"])
179
  gpt4o_display = f"{results['gpt4o']}\n\n------\nКоличество знаков: {gpt4o_length}"
180
  yield results["prompt"], gpt4o_display, "", "", "", "Сообщение GPT-4o сгенерировано"
181
 
182
+ results["gigachat_pro"] = generate_message_gigachat_pro_with_retry(standard_prompt)
183
  gigachat_pro_length = len(results["gigachat_pro"])
184
  gigachat_pro_display = f"{results['gigachat_pro']}\n\n------\nКоличество знаков: {gigachat_pro_length}"
185
  yield results["prompt"], gpt4o_display, gigachat_pro_display, "", "", "Сообщение GigaChat-Pro сгенерировано"
186
 
187
  time.sleep(2)
188
 
189
+ results["gigachat_lite"] = generate_message_gigachat_lite_with_retry(standard_prompt)
190
  gigachat_lite_length = len(results["gigachat_lite"])
191
  gigachat_lite_display = f"{results['gigachat_lite']}\n\n------\nКоличество знаков: {gigachat_lite_length}"
192
  yield results["prompt"], gpt4o_display, gigachat_pro_display, gigachat_lite_display, "", "Сообщение GigaChat-Lite сгенерировано"
193
 
194
  time.sleep(2)
195
 
196
+ results["gigachat_plus"] = generate_message_gigachat_plus_with_retry(standard_prompt)
197
  gigachat_plus_length = len(results["gigachat_plus"])
198
  gigachat_plus_display = f"{results['gigachat_plus']}\n\n------\nКоличество знаков: {gigachat_plus_length}"
199
  yield results["prompt"], gpt4o_display, gigachat_pro_display, gigachat_lite_display, gigachat_plus_display, "Все сообщения сгенерированы"
 
201
  return results
202
 
203
 
204
+
205
  # Функция для генерации персонализированного промпта
206
  def generate_personalization_prompt(*selected_values):
207
  prompt = "Адаптируй, не превышая длину сообщения в 250 знаков с пробелами, текст с учетом следующих особенностей:\n"
 
346
  yield error_check_prompt, error_message_gpt4o, error_message_gigachat_pro, error_message_gigachat_lite, error_message_gigachat_plus, "Все результаты проверки сгенерированы"
347
 
348
 
349
+ def save_to_github(personalized_message, model_name, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form):
350
  # Собираем все данные в один словарь
351
  data_to_save = {
352
  "Модель": model_name,
 
353
  "Персонализированное сообщение": personalized_message,
354
  "Комментарий": comment,
355
  "Откорректированное сообщение": corrected_message,
 
384
  # Отправка POST-запроса на GitHub API для создания файла в репозитории
385
  response = requests.put(url, headers=headers, data=json.dumps(data))
386
 
 
 
 
 
 
 
387
 
388
  # Создание интерфейса Gradio
389
  with gr.Blocks() as demo:
390
  gr.Markdown("# Генерация SMS-сообщений по заданным признакам")
391
 
 
 
 
 
 
 
392
  with gr.Row():
393
  with gr.Column(scale=1):
394
  description_input = gr.Textbox(
 
428
  output_text_gigachat_lite = gr.Textbox(label="Неперсонализированное сообщение GigaChat-Lite", lines=3, interactive=False)
429
  output_text_gigachat_plus = gr.Textbox(label="Неперсонализированное сообщение GigaChat-Lite+", lines=3, interactive=False)
430
 
431
+ submit_btn.click(
432
+ generate_messages,
433
+ inputs=[description_input, advantages_input] + selections,
434
+ outputs=[prompt_display, output_text_gpt4o, output_text_gigachat_pro, output_text_gigachat_lite, output_text_gigachat_plus]
435
+ )
 
 
 
 
 
 
 
 
 
436
 
437
  with gr.Row():
438
  personalize_btn = gr.Button("2. Выполнить персонализацию (нажимать только после кнопки 1)", elem_id="personalize_button")
 
475
 
476
  # Привязка кнопок к функциям сохранения
477
  save_gpt4o_btn.click(
478
+ fn=lambda personalized_message, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form:
479
+ save_to_github(personalized_message, "GPT-4o", comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form),
480
  inputs=[
481
  personalized_output_text_gpt4o,
482
  comment_gpt4o,
 
490
  selections[2], # Психотип
491
  selections[3], # Стадия бизнеса
492
  selections[4], # Отрасль
493
+ selections[5] # ОПФ
 
494
  ],
495
  outputs=None
496
  )
497
+
498
  save_gigachat_pro_btn.click(
499
+ fn=lambda personalized_message, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form:
500
+ save_to_github(personalized_message, "GigaChat-Pro", comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form),
501
  inputs=[
502
  personalized_output_text_gigachat_pro,
503
  comment_gigachat_pro,
 
511
  selections[2], # Психотип
512
  selections[3], # Стадия бизнеса
513
  selections[4], # Отрасль
514
+ selections[5] # ОПФ
 
515
  ],
516
  outputs=None
517
  )
518
+
519
  save_gigachat_lite_btn.click(
520
+ fn=lambda personalized_message, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form:
521
+ save_to_github(personalized_message, "GigaChat-Lite", comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form),
522
  inputs=[
523
  personalized_output_text_gigachat_lite,
524
  comment_gigachat_lite,
 
532
  selections[2], # Психотип
533
  selections[3], # Стадия бизнеса
534
  selections[4], # Отрасль
535
+ selections[5] # ОПФ
 
536
  ],
537
  outputs=None
538
  )
539
+
540
  save_gigachat_plus_btn.click(
541
+ fn=lambda personalized_message, comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form:
542
+ save_to_github(personalized_message, "GigaChat-Lite+", comment, corrected_message, description, advantages, non_personalized_prompt, non_personalized_message, gender, generation, psychotype, business_stage, industry, legal_form),
543
  inputs=[
544
  personalized_output_text_gigachat_plus,
545
  comment_gigachat_plus,
 
553
  selections[2], # Психотип
554
  selections[3], # Стадия бизнеса
555
  selections[4], # Отрасль
556
+ selections[5] # ОПФ
 
557
  ],
558
  outputs=None
559
  )
560
 
 
561
  # Использование сохраненных переменных в следующем блоке
562
  with gr.Row():
563
  check_errors_btn = gr.Button("3. Проверить текст (нажимать только после кнопки 2) - экспериментальная фича, качество пока крайне низкое", elem_id="check_errors_button")