fruitpicker01 commited on
Commit
e4b9ab8
·
verified ·
1 Parent(s): f9a02c5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -4
app.py CHANGED
@@ -230,27 +230,43 @@ def perform_personalization_gigachat(standard_message, personalization_prompt, m
230
  result = generate_message_gigachat_plus(full_prompt)
231
  return clean_message(result)
232
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
233
  # Обновляем блок персонализации
234
  def personalize_messages_with_yield(gpt4o_message, gigachat_pro_message, gigachat_lite_message, gigachat_plus_message, *selected_values):
235
  personalization_prompt = generate_personalization_prompt(*selected_values)
236
  yield personalization_prompt, "", "", "", "", "Промпт для персонализации сгенерирован"
237
 
238
- personalized_message_gpt4o = perform_personalization(gpt4o_message, personalization_prompt)
239
  gpt4o_length = len(personalized_message_gpt4o)
240
  gpt4o_display = f"{personalized_message_gpt4o}\n\n------\nКоличество знаков: {gpt4o_length}"
241
  yield personalization_prompt, gpt4o_display, "", "", "", "Персонализированное сообщение GPT-4o сгенерировано"
242
 
243
- personalized_message_gigachat_pro = perform_personalization_gigachat(gigachat_pro_message, personalization_prompt, "gigachat_pro")
244
  gigachat_pro_length = len(personalized_message_gigachat_pro)
245
  gigachat_pro_display = f"{personalized_message_gigachat_pro}\n\n------\nКоличество знаков: {gigachat_pro_length}"
246
  yield personalization_prompt, gpt4o_display, gigachat_pro_display, "", "", "Персонализированное сообщение GigaChat-Pro сгенерировано"
247
 
248
- personalized_message_gigachat_lite = perform_personalization_gigachat(gigachat_lite_message, personalization_prompt, "gigachat_lite")
249
  gigachat_lite_length = len(personalized_message_gigachat_lite)
250
  gigachat_lite_display = f"{personalized_message_gigachat_lite}\n\n------\nКоличество знаков: {gigachat_lite_length}"
251
  yield personalization_prompt, gpt4o_display, gigachat_pro_display, gigachat_lite_display, "", "Персонализированное сообщение GigaChat-Lite сгенерировано"
252
 
253
- personalized_message_gigachat_plus = perform_personalization_gigachat(gigachat_plus_message, personalization_prompt, "gigachat_plus")
254
  gigachat_plus_length = len(personalized_message_gigachat_plus)
255
  gigachat_plus_display = f"{personalized_message_gigachat_plus}\n\n------\nКоличество знаков: {gigachat_plus_length}"
256
  yield personalization_prompt, gpt4o_display, gigachat_pro_display, gigachat_lite_display, gigachat_plus_display, "Все персонализированные сообщения сгенерированы"
 
230
  result = generate_message_gigachat_plus(full_prompt)
231
  return clean_message(result)
232
 
233
+
234
+ def perform_personalization_with_retry(standard_message, personalization_prompt):
235
+ for _ in range(10): # Максимум 10 попыток
236
+ message = perform_personalization(standard_message, personalization_prompt)
237
+ if len(message) <= 250:
238
+ return message
239
+ return message # Возвращаем последнее сгенерированное сообщение, если все попытки не удались
240
+
241
+ def perform_personalization_gigachat_with_retry(standard_message, personalization_prompt, model):
242
+ for _ in range(10):
243
+ message = perform_personalization_gigachat(standard_message, personalization_prompt, model)
244
+ if len(message) <= 250:
245
+ return message
246
+ return message
247
+
248
+
249
  # Обновляем блок персонализации
250
  def personalize_messages_with_yield(gpt4o_message, gigachat_pro_message, gigachat_lite_message, gigachat_plus_message, *selected_values):
251
  personalization_prompt = generate_personalization_prompt(*selected_values)
252
  yield personalization_prompt, "", "", "", "", "Промпт для персонализации сгенерирован"
253
 
254
+ personalized_message_gpt4o = perform_personalization_with_retry(gpt4o_message, personalization_prompt)
255
  gpt4o_length = len(personalized_message_gpt4o)
256
  gpt4o_display = f"{personalized_message_gpt4o}\n\n------\nКоличество знаков: {gpt4o_length}"
257
  yield personalization_prompt, gpt4o_display, "", "", "", "Персонализированное сообщение GPT-4o сгенерировано"
258
 
259
+ personalized_message_gigachat_pro = perform_personalization_gigachat_with_retry(gigachat_pro_message, personalization_prompt, "gigachat_pro")
260
  gigachat_pro_length = len(personalized_message_gigachat_pro)
261
  gigachat_pro_display = f"{personalized_message_gigachat_pro}\n\n------\nКоличество знаков: {gigachat_pro_length}"
262
  yield personalization_prompt, gpt4o_display, gigachat_pro_display, "", "", "Персонализированное сообщение GigaChat-Pro сгенерировано"
263
 
264
+ personalized_message_gigachat_lite = perform_personalization_gigachat_with_retry(gigachat_lite_message, personalization_prompt, "gigachat_lite")
265
  gigachat_lite_length = len(personalized_message_gigachat_lite)
266
  gigachat_lite_display = f"{personalized_message_gigachat_lite}\n\n------\nКоличество знаков: {gigachat_lite_length}"
267
  yield personalization_prompt, gpt4o_display, gigachat_pro_display, gigachat_lite_display, "", "Персонализированное сообщение GigaChat-Lite сгенерировано"
268
 
269
+ personalized_message_gigachat_plus = perform_personalization_gigachat_with_retry(gigachat_plus_message, personalization_prompt, "gigachat_plus")
270
  gigachat_plus_length = len(personalized_message_gigachat_plus)
271
  gigachat_plus_display = f"{personalized_message_gigachat_plus}\n\n------\nКоличество знаков: {gigachat_plus_length}"
272
  yield personalization_prompt, gpt4o_display, gigachat_pro_display, gigachat_lite_display, gigachat_plus_display, "Все персонализированные сообщения сгенерированы"