Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 =
|
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 =
|
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 =
|
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 =
|
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, "Все персонализированные сообщения сгенерированы"
|