Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -381,45 +381,6 @@ def generate_messages(description, advantages, key_message, approach, *selected_
|
|
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"
|
@@ -482,15 +443,10 @@ def generate_personalization_prompt(key_message, approach, *selected_values):
|
|
482 |
elif approach == "None":
|
483 |
prompt += ""
|
484 |
|
485 |
-
prompt += f"Убедись, что в готовом тексте есть следующая ключевая информация: {key_message.strip()}
|
486 |
|
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 |
|
|
|
381 |
return results
|
382 |
|
383 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
384 |
# Функция для генерации персонализированного промпта
|
385 |
def generate_personalization_prompt(key_message, approach, *selected_values):
|
386 |
prompt = "Адаптируй, не превышая длину сообщения в 250 знаков с пробелами, текст с учетом следующих особенностей:\n"
|
|
|
443 |
elif approach == "None":
|
444 |
prompt += ""
|
445 |
|
446 |
+
prompt += f"Убедись, что в готовом тексте есть следующая ключевая информация: {key_message.strip()}"
|
447 |
|
448 |
if "призыва к действию" in prompt and "минимум прямых призывов к действию" in prompt:
|
449 |
prompt = re.sub(r"Убедись, что готовый текст начинается с призыва к действию с продуктом.\n", "", prompt)
|
|
|
|
|
|
|
|
|
|
|
450 |
|
451 |
return prompt.strip()
|
452 |
|