fruitpicker01 commited on
Commit
1752281
·
verified ·
1 Parent(s): 5784766

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -1
app.py CHANGED
@@ -381,6 +381,45 @@ def generate_messages(description, advantages, key_message, approach, *selected_
381
  return results
382
 
383
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
384
  # Функция для генерации персонализированного промпта
385
  def generate_personalization_prompt(key_message, approach, *selected_values):
386
  prompt = "Адаптируй, не превышая длину сообщения в 250 знаков с пробелами, текст с учетом следующих особенностей:\n"
@@ -448,7 +487,10 @@ def generate_personalization_prompt(key_message, approach, *selected_values):
448
  if "призыва к действию" in prompt and "минимум прямых призывов к действию" in prompt:
449
  prompt = re.sub(r"Убедись, что готовый текст начинается с призыва к действию с продуктом.\n", "", prompt)
450
 
451
- prompt += "В качестве примера хорошей адаптации текста под данные требования используй следующий текст: Оформите премиальную бизнес-карту Mastercard Preffered и наслаждайтесь бесплатным обслуживанием каждый месяц, совершая покупки на сумму от 100 000 рублей. Безлимитные платежи и мгновенные переводы на любые карты — все это доступно уже сегодня!.\n"
 
 
 
452
 
453
  return prompt.strip()
454
 
 
381
  return results
382
 
383
 
384
+ def get_last_saved_corrected_message():
385
+ repo = "fruitpicker01/Storage_dev"
386
+ url = f"https://api.github.com/repos/{repo}/contents"
387
+ headers = {
388
+ "Authorization": f"token {token}",
389
+ "Content-Type": "application/json"
390
+ }
391
+
392
+ # Получаем список файлов в репозитории
393
+ response = requests.get(url, headers=headers)
394
+ if response.status_code == 200:
395
+ files = response.json()
396
+ json_files = [file for file in files if file['name'].startswith("file_")]
397
+
398
+ if not json_files:
399
+ print("Нет сохраненных файлов.")
400
+ return None
401
+
402
+ # Сортируем файлы по времени (timestamp)
403
+ json_files.sort(key=lambda x: int(x['name'].split('_')[1].split('.')[0]), reverse=True)
404
+
405
+ # Берем последний файл
406
+ target_file = json_files[0]
407
+ file_url = target_file['download_url']
408
+
409
+ # Загружаем и декодируем содержимое файла
410
+ file_response = requests.get(file_url)
411
+ if file_response.status_code == 200:
412
+ data = json.loads(file_response.text)
413
+ corrected_message = data.get('Откорректированное сообщение', "")
414
+ return corrected_message
415
+ else:
416
+ print(f"Ошибка при загрузке файла: {file_response.status_code}")
417
+ return None
418
+ else:
419
+ print(f"Ошибка при обращении к GitHub: {response.status_code}")
420
+ return None
421
+
422
+
423
  # Функция для генерации персонализированного промпта
424
  def generate_personalization_prompt(key_message, approach, *selected_values):
425
  prompt = "Адаптируй, не превышая длину сообщения в 250 знаков с пробелами, текст с учетом следующих особенностей:\n"
 
487
  if "призыва к действию" in prompt and "минимум прямых призывов к действию" in prompt:
488
  prompt = re.sub(r"Убедись, что готовый текст начинается с призыва к действию с продуктом.\n", "", prompt)
489
 
490
+ # Проверяем и добавляем откорректированное сообщение из последнего сохраненного файла
491
+ corrected_message = get_last_saved_corrected_message()
492
+ if corrected_message:
493
+ prompt += f"В качестве примера хорошей адаптации под данные требования используй следующий текст: {corrected_message}\n"
494
 
495
  return prompt.strip()
496