Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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
|
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 |
-
|
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
|
302 |
personalized_messages[0] if len(personalized_messages) > 0 else None,
|
303 |
-
non_personalized_messages[1] if
|
304 |
personalized_messages[1] if len(personalized_messages) > 1 else None,
|
305 |
-
non_personalized_messages[2] if
|
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 |
|