Spaces:
Sleeping
Sleeping
fruitpicker01
commited on
Commit
•
57f547a
1
Parent(s):
0e76abd
Update app.py
Browse files
app.py
CHANGED
@@ -191,14 +191,17 @@ def generate_message_mistral_generate(prompt, max_retries=5):
|
|
191 |
cleaned_message = clean_message(chat_response.choices[0].message.content.strip())
|
192 |
return cleaned_message
|
193 |
except Exception as e:
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
|
|
|
|
|
|
202 |
|
203 |
def generate_message_mistral_check(prompt, max_retries=5):
|
204 |
retries = 0
|
@@ -237,7 +240,8 @@ def generate_message_mistral_check(prompt, max_retries=5):
|
|
237 |
|
238 |
# Функция для замены сокращений с 'k' или 'К' на тысячи
|
239 |
def replace_k_with_thousands(message):
|
240 |
-
|
|
|
241 |
message = re.sub(r'(\d+)[kкКK]', r'\1 000', message, flags=re.IGNORECASE)
|
242 |
return message
|
243 |
|
@@ -512,6 +516,10 @@ def generate_message_mistral_with_retry(prompt, current_prefix, description, key
|
|
512 |
for attempt in range(20):
|
513 |
gr.Info(f"Итерация {attempt + 1}: генерируется сообщение...")
|
514 |
message = generate_message_mistral_generate(prompt)
|
|
|
|
|
|
|
|
|
515 |
message = replace_k_with_thousands(message)
|
516 |
message = correct_dash_usage(message)
|
517 |
message_length = len(message)
|
@@ -526,7 +534,7 @@ def generate_message_mistral_with_retry(prompt, current_prefix, description, key
|
|
526 |
if passed is False:
|
527 |
approach_stats[current_prefix]["failed_checks"][check_name] += 1
|
528 |
break
|
529 |
-
notify_failed_checks(checks)
|
530 |
if all(checks.values()):
|
531 |
return message
|
532 |
prompt = append_errors_to_prompt(prompt, checks)
|
|
|
191 |
cleaned_message = clean_message(chat_response.choices[0].message.content.strip())
|
192 |
return cleaned_message
|
193 |
except Exception as e:
|
194 |
+
error_message = str(e)
|
195 |
+
if "Status 429" in error_message or "Server disconnected without sending a response" in error_message:
|
196 |
+
wait_time = 3
|
197 |
+
print(f"Превышен лимит запросов или сервер не ответил. Ожидание {wait_time} секунд перед повторной попыткой...")
|
198 |
+
time.sleep(wait_time)
|
199 |
+
retries += 1
|
200 |
+
else:
|
201 |
+
print(f"Ошибка при обращении к Mistral: {e}")
|
202 |
+
return None
|
203 |
+
print("Не удалось получить ответ от Mistral после максимального числа попыток.")
|
204 |
+
return None
|
205 |
|
206 |
def generate_message_mistral_check(prompt, max_retries=5):
|
207 |
retries = 0
|
|
|
240 |
|
241 |
# Функция для замены сокращений с 'k' или 'К' на тысячи
|
242 |
def replace_k_with_thousands(message):
|
243 |
+
if not isinstance(message, str):
|
244 |
+
return message # or you can return an empty string
|
245 |
message = re.sub(r'(\d+)[kкКK]', r'\1 000', message, flags=re.IGNORECASE)
|
246 |
return message
|
247 |
|
|
|
516 |
for attempt in range(20):
|
517 |
gr.Info(f"Итерация {attempt + 1}: генерируется сообщение...")
|
518 |
message = generate_message_mistral_generate(prompt)
|
519 |
+
if message is None:
|
520 |
+
print("Не удалось получить сообщение от Mistral, повторная попытка...")
|
521 |
+
time.sleep(1)
|
522 |
+
continue # Retry
|
523 |
message = replace_k_with_thousands(message)
|
524 |
message = correct_dash_usage(message)
|
525 |
message_length = len(message)
|
|
|
534 |
if passed is False:
|
535 |
approach_stats[current_prefix]["failed_checks"][check_name] += 1
|
536 |
break
|
537 |
+
notify_failed_checks(checks)
|
538 |
if all(checks.values()):
|
539 |
return message
|
540 |
prompt = append_errors_to_prompt(prompt, checks)
|