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

Update app.py

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