fruitpicker01 commited on
Commit
f38eee5
·
verified ·
1 Parent(s): b684423

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -5
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 _ in range(10):
 
 
 
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
- return message
111
- return message
 
 
 
 
 
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):