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

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -7
app.py CHANGED
@@ -98,12 +98,12 @@ def replace_k_with_thousands(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
 
@@ -112,12 +112,16 @@ def generate_message_gigachat_pro_with_retry(prompt):
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
  # Функция для создания задания для копирайтера
 
98
 
99
  # Функция для повторной генерации сообщения, пока оно не станет короче 250 знаков и не меньше 190 знаков
100
  # Добавляем проверку в функцию перегенерации
101
+ # Функция для повторной генерации сообщения с выводом номера попытки через Gradio Alerts
102
  def generate_message_gigachat_pro_with_retry(prompt):
103
  for attempt in range(10):
104
+ # Информация о начале новой попытки
105
+ gr.Info(f"Попытка {attempt + 1}: генерируется сообщение...")
106
+
107
  message = generate_message_gigachat_pro(prompt)
108
  message_length = len(message)
109
 
 
112
  checks = perform_checks(message)
113
 
114
  if 190 <= message_length <= 250 and all(checks.values()):
115
+ # Успешная генерация сообщения
116
+ return message
117
+
118
+ # Предупреждение, что сообщение не прошло проверку
119
+ gr.Warning(f"Попытка {attempt + 1}: сообщение не прошло проверку, пробуем снова...")
120
  time.sleep(1) # Добавляем небольшую паузу между попытками
121
 
122
  # Если не удалось сгенерировать подходящее сообщение за 10 попыток
123
+ raise gr.Error("Не удалось сгенерировать сообщение за 10 попыток.")
124
+
125
 
126
 
127
  # Функция для создания задания для копирайтера