Spaces:
Sleeping
Sleeping
fruitpicker01
commited on
Update app.py
Browse files
app.py
CHANGED
@@ -95,20 +95,30 @@ def replace_k_with_thousands(message):
|
|
95 |
# Замена и для 'k' и для 'К', с учётом регистра
|
96 |
message = re.sub(r'(\d+)[kкКK]', r'\1 000', message, flags=re.IGNORECASE)
|
97 |
return message
|
98 |
-
|
99 |
-
|
100 |
# Функция для повторной генерации сообщения, пока оно не станет короче 250 знаков и не меньше 190 знаков
|
101 |
# Добавляем проверку в функцию перегенерации
|
|
|
102 |
def generate_message_gigachat_pro_with_retry(prompt):
|
103 |
-
for
|
|
|
|
|
|
|
104 |
message = generate_message_gigachat_pro(prompt)
|
105 |
message_length = len(message)
|
|
|
106 |
# Выполняем замены и проверки
|
107 |
message = replace_k_with_thousands(message)
|
108 |
checks = perform_checks(message)
|
|
|
109 |
if 190 <= message_length <= 250 and all(checks.values()):
|
110 |
-
|
111 |
-
|
|
|
|
|
|
|
|
|
|
|
112 |
|
113 |
# Функция для создания задания для копирайтера
|
114 |
def generate_standard_prompt(description, advantages, key_message, *selected_values):
|
|
|
95 |
# Замена и для 'k' и для 'К', с учётом регистра
|
96 |
message = re.sub(r'(\d+)[kкКK]', r'\1 000', message, flags=re.IGNORECASE)
|
97 |
return message
|
98 |
+
|
|
|
99 |
# Функция для повторной генерации сообщения, пока оно не станет короче 250 знаков и не меньше 190 знаков
|
100 |
# Добавляем проверку в функцию перегенерации
|
101 |
+
# Функция для повторной генерации сообщения с выводом номера попытки
|
102 |
def generate_message_gigachat_pro_with_retry(prompt):
|
103 |
+
for attempt in range(10):
|
104 |
+
# Сообщаем о попытке
|
105 |
+
yield f"Попытка {attempt + 1}", None # Выводим информацию о попытке
|
106 |
+
|
107 |
message = generate_message_gigachat_pro(prompt)
|
108 |
message_length = len(message)
|
109 |
+
|
110 |
# Выполняем замены и проверки
|
111 |
message = replace_k_with_thousands(message)
|
112 |
checks = perform_checks(message)
|
113 |
+
|
114 |
if 190 <= message_length <= 250 and all(checks.values()):
|
115 |
+
yield message, None # Возвращаем сообщение при успешной проверке
|
116 |
+
return # Выходим из функции при успешной генерации
|
117 |
+
time.sleep(1) # Добавляем небольшую паузу между попытками
|
118 |
+
|
119 |
+
# Если не удалось сгенерировать подходящее сообщение за 10 попыток
|
120 |
+
yield "Не удалось сгенерировать сообщение за 10 попыток", None
|
121 |
+
|
122 |
|
123 |
# Функция для создания задания для копирайтера
|
124 |
def generate_standard_prompt(description, advantages, key_message, *selected_values):
|