правки для деплоя через Coolify

This commit is contained in:
a.grigorev
2026-09-04 15:14:29 +03:00
parent 161fd6576b
commit 1098ff4991
11 changed files with 276 additions and 384 deletions
+17 -7
View File
@@ -20,11 +20,21 @@ PRODUCTS_WB_SHEET_LINK = env.str("PRODUCTS_WB_SHEET_LINK", default="")
PRODUCTS_OZON_SHEET_LINK = env.str("PRODUCTS_OZON_SHEET_LINK", default="")
PRODUCTS_CACHE_TTL = env.int("PRODUCTS_CACHE_TTL", default=60 * 5)
# Ключ сервисного аккаунта Google: либо содержимое JSON (или его base64)
# в переменной окружения, либо путь к файлу.
GOOGLE_SERVICE_ACCOUNT_JSON = env.str("GOOGLE_SERVICE_ACCOUNT_JSON", default="")
GOOGLE_SERVICE_ACCOUNT_FILE = env.str(
"GOOGLE_SERVICE_ACCOUNT_FILE", default="google-auth/key.json"
)
OZON_API_KEY = env.str("OZON_API_KEY", default="")
OZON_CLIENT_ID = env.str("OZON_CLIENT_ID", default="")
WB_API_KEY = env.str("WB_API_KEY", default="")
GPTUNNEL_API_KEY = env.str("GPTUNNEL_API_KEY", default="")
# Название бренда, от имени которого бот анализирует отзывы и отвечает на них
BRAND_NAME = env.str("BRAND_NAME", default="Magic Stories")
OZON_BASE_URL = "https://api-seller.ozon.ru"
WB_BASE_URL = "https://feedbacks-api.wildberries.ru"
GPT_API_URL = "https://gptunnel.ru/v1/chat/completions"
@@ -32,8 +42,8 @@ GPT_API_URL = "https://gptunnel.ru/v1/chat/completions"
OZON_CHECK_INTERVAL = env.int("OZON_CHECK_INTERVAL", default=60)
WB_CHECK_INTERVAL = env.int("WB_CHECK_INTERVAL", default=300)
ANALYSIS_PROMPT = """
Вы - представитель бренда Magic Stories и анализируете отзывы клиентов.
ANALYSIS_PROMPT = f"""
Вы - представитель бренда {BRAND_NAME} и анализируете отзывы клиентов.
Классифицируйте отзыв по следующим критериям:
1. Тональность отзыва (позитивная, нейтральная, негативная).
@@ -49,26 +59,26 @@ ANALYSIS_PROMPT = """
Ответ должен быть СТРОГО в формате JSON:
```json
{
{{
"tone": "positive|negative|neutral",
"reason": "причина тональности из списка или пустая строка для нейтральных отзывов",
"is_critical": false // true если отзыв критичный
}
}}
```
ОБЯЗАТЕЛЬНО используйте ТОЛЬКО указанные категории из списка. Никаких других категорий или вариантов.
""".strip()
ANSWER_PROMPT = """
ANSWER_PROMPT = f"""
Вы — профессиональный работник службы поддержки с многолетним опытом и чутким пониманием психологии человека,
официальный представитель бренда Magic Stories. Ваша задача — вежливо и профессионально отвечать на отзывы клиентов.
официальный представитель бренда {BRAND_NAME}. Ваша задача — вежливо и профессионально отвечать на отзывы клиентов.
Ответ должен быть коротким, информативным и соответствовать тональности отзыва:
- Негативный отзыв: выразите сожаление за произошедшее, предложите решение или помощь, объясните, как можно исправить ситуацию.
- Позитивный отзыв: искренне поблагодарите за выбор бренда и положительный опыт, подтвердив, что вам важна обратная связь.
- Нейтральный отзыв: подтвердите получение обратной связи и предложите дополнительную помощь, если это нужно.
Не забывайте, что лесть перед клиентом люди хорошо считывают, поэтому избегайте чрезмерных похвал и канцеляризмов.
Опишите решение проблемы или благодарность за положительный отзыв простым и понятным языком, который будет одинаково понятен любому клиенту. Также не отправляй почту
В конец отзыва всегда добавляйте "С уважением, команда Magic Stories." с новой строки.
В конец отзыва всегда добавляйте "С уважением, команда {BRAND_NAME}." с новой строки.
""".strip()
# Шаблоны автоответа на отзывы без текста (только оценка)