fruitpicker01 commited on
Commit
29f48d8
·
verified ·
1 Parent(s): c9b3d34

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -20
app.py CHANGED
@@ -105,6 +105,8 @@ def generate_message_gigachat_pro_with_retry(prompt):
105
 
106
  for attempt in range(10):
107
  # Информация о начале новой попытки
 
 
108
  gr.Info(f"Попытка {attempt + 1}: генерируется сообщение...")
109
 
110
  message = generate_message_gigachat_pro(prompt)
@@ -117,7 +119,7 @@ def generate_message_gigachat_pro_with_retry(prompt):
117
  # Обновляем последнее сообщение
118
  last_message = message
119
 
120
- if 190 <= message_length <= 250 and all(checks.values()):
121
  # Успешная генерация сообщения
122
  return message
123
 
@@ -238,6 +240,7 @@ def clean_prompt_for_display(prompt, prefixes, suffixes):
238
 
239
  return cleaned_prompt.strip()
240
 
 
241
  # Функция для постепенной генерации всех сообщений через yield
242
  def generate_all_messages(desc, benefits, key_message, gender, generation, psychotype, business_stage, industry, opf):
243
  # Генерация задания для копирайтера
@@ -259,16 +262,8 @@ def generate_all_messages(desc, benefits, key_message, gender, generation, psych
259
  non_personalized_messages = []
260
  personalized_messages = []
261
 
262
- # Генерация и постепенная подача каждого сообщения
263
  for i in range(3):
264
- # Генерация неперсонализированного сообщения
265
- prompt = add_prefix_suffix(standard_prompt, prefixes[i], suffixes[i])
266
- non_personalized_message = generate_message_gigachat_pro_with_retry(prompt)
267
- non_personalized_length = len(non_personalized_message)
268
- non_personalized_display = f"{non_personalized_message}\n------\nКоличество знаков: {non_personalized_length}"
269
- non_personalized_messages.append(non_personalized_display)
270
-
271
- # Генерация задания для редактора
272
  personalization_prompt = generate_personalization_prompt(
273
  key_message, gender, generation, psychotype, business_stage, industry, opf,
274
  prefix=prefixes[i], suffix=suffixes[i]
@@ -277,17 +272,19 @@ def generate_all_messages(desc, benefits, key_message, gender, generation, psych
277
  # Удаляем префиксы, суффиксы и пустые строки перед выводом на экран
278
  display_personalization_prompt = clean_prompt_for_display(personalization_prompt, prefixes, suffixes)
279
 
280
- # Выводим неперсонализированное сообщение и задание для редактора
281
  yield (
282
  standard_prompt, display_personalization_prompt, # Задание для редактора без префиксов, суффиксов и пустых строк
283
- non_personalized_messages[0] if i >= 0 else None,
284
- personalized_messages[0] if len(personalized_messages) > 0 else None,
285
- non_personalized_messages[1] if i >= 1 else None,
286
- personalized_messages[1] if len(personalized_messages) > 1 else None,
287
- non_personalized_messages[2] if i >= 2 else None,
288
- personalized_messages[2] if len(personalized_messages) > 2 else None
289
  )
290
 
 
 
 
 
 
 
 
291
  # Генерация персонализированного сообщения
292
  full_personalized_prompt = f"{personalization_prompt}\n\nТекст для адаптации: {non_personalized_message}"
293
  personalized_message = generate_message_gigachat_pro_with_retry(full_personalized_prompt)
@@ -298,11 +295,11 @@ def generate_all_messages(desc, benefits, key_message, gender, generation, psych
298
  # Выводим персонализированное сообщение
299
  yield (
300
  standard_prompt, display_personalization_prompt, # Задание для редактора без префиксов, суффиксов и пустых строк
301
- non_personalized_messages[0] if len(non_personalized_messages) > 0 else None,
302
  personalized_messages[0] if len(personalized_messages) > 0 else None,
303
- non_personalized_messages[1] if len(non_personalized_messages) > 1 else None,
304
  personalized_messages[1] if len(personalized_messages) > 1 else None,
305
- non_personalized_messages[2] if len(non_personalized_messages) > 2 else None,
306
  personalized_messages[2] if len(personalized_messages) > 2 else None
307
  )
308
 
 
105
 
106
  for attempt in range(10):
107
  # Информация о начале новой попытки
108
+ if attempt > 0: # Показываем новое уведомление только после первой попытки
109
+ time.sleep(1) # Ждем, чтобы старое уведомление успело исчезнуть
110
  gr.Info(f"Попытка {attempt + 1}: генерируется сообщение...")
111
 
112
  message = generate_message_gigachat_pro(prompt)
 
119
  # Обновляем последнее сообщение
120
  last_message = message
121
 
122
+ if 190 <= message_length <= 250:
123
  # Успешная генерация сообщения
124
  return message
125
 
 
240
 
241
  return cleaned_prompt.strip()
242
 
243
+ # Функция для постепенной генерации всех сообщений через yield
244
  # Функция для постепенной генерации всех сообщений через yield
245
  def generate_all_messages(desc, benefits, key_message, gender, generation, psychotype, business_stage, industry, opf):
246
  # Генерация задания для копирайтера
 
262
  non_personalized_messages = []
263
  personalized_messages = []
264
 
265
+ # Генерация задания для редактора отдельно перед генерацией сообщений
266
  for i in range(3):
 
 
 
 
 
 
 
 
267
  personalization_prompt = generate_personalization_prompt(
268
  key_message, gender, generation, psychotype, business_stage, industry, opf,
269
  prefix=prefixes[i], suffix=suffixes[i]
 
272
  # Удаляем префиксы, суффиксы и пустые строки перед выводом на экран
273
  display_personalization_prompt = clean_prompt_for_display(personalization_prompt, prefixes, suffixes)
274
 
275
+ # Сначала отображаем задание для редактора
276
  yield (
277
  standard_prompt, display_personalization_prompt, # Задание для редактора без префиксов, суффиксов и пустых строк
278
+ None, None, None, None, None, None # Сообщения еще не сгенерированы
 
 
 
 
 
279
  )
280
 
281
+ # Генерация неперсонализированного сообщения
282
+ prompt = add_prefix_suffix(standard_prompt, prefixes[i], suffixes[i])
283
+ non_personalized_message = generate_message_gigachat_pro_with_retry(prompt)
284
+ non_personalized_length = len(non_personalized_message)
285
+ non_personalized_display = f"{non_personalized_message}\n------\nКоличество знаков: {non_personalized_length}"
286
+ non_personalized_messages.append(non_personalized_display)
287
+
288
  # Генерация персонализированного сообщения
289
  full_personalized_prompt = f"{personalization_prompt}\n\nТекст для адаптации: {non_personalized_message}"
290
  personalized_message = generate_message_gigachat_pro_with_retry(full_personalized_prompt)
 
295
  # Выводим персонализированное сообщение
296
  yield (
297
  standard_prompt, display_personalization_prompt, # Задание для редактора без префиксов, суффиксов и пустых строк
298
+ non_personalized_messages[0] if i >= 0 else None,
299
  personalized_messages[0] if len(personalized_messages) > 0 else None,
300
+ non_personalized_messages[1] if i >= 1 else None,
301
  personalized_messages[1] if len(personalized_messages) > 1 else None,
302
+ non_personalized_messages[2] if i >= 2 else None,
303
  personalized_messages[2] if len(personalized_messages) > 2 else None
304
  )
305