feat: implement backend core with repricing logic, case management, and multi-service architecture

This commit is contained in:
2026-05-13 00:28:13 +03:00
parent 38f3199c33
commit d9aae5b85e
15 changed files with 596 additions and 90 deletions

View File

@@ -95,3 +95,38 @@ def generate_product_card(title):
return json.loads(clean_json)
except Exception as e:
return {"error": f"Ошибка при генерации карточки: {str(e)}"}
def analyze_competitor(my_desc, comp_desc):
"""Сравнивает две карточки товара и выдает рекомендации."""
api_key = os.getenv('GEMINI_API_KEY')
if not api_key:
return {"error": "API ключ не настроен."}
genai.configure(api_key=api_key)
model = genai.GenerativeModel('gemini-1.5-flash')
prompt = f"""
Ты - старший аналитик по маркетплейсам. Твоя цель: найти способы "победить" карточку конкурента.
ОПИСАНИЕ МОЕГО ТОВАРА:
"{my_desc}"
ОПИСАНИЕ ТОВАРА КОНКУРЕНТА:
"{comp_desc}"
Твоя задача - провести анализ и выдать ответ в формате JSON:
1. "competitor_weakness": Список из 3-4 слабых мест конкурента (что он не упомянул, в чем он хуже).
2. "my_advantages": В чем мой товар объективно лучше или как это преподнести.
3. "strategy": Конкретные шаги, что изменить в моем описании или фото, чтобы забрать продажи у него.
4. "win_phrase": Один мощный рекламный слоган, который "бьет" в слабое место конкурента.
Ответ дай ТОЛЬКО в виде чистого JSON.
"""
try:
response = model.generate_content(prompt)
import json
clean_json = response.text.replace('```json', '').replace('```', '').strip()
return json.loads(clean_json)
except Exception as e:
return {"error": f"Ошибка анализа: {str(e)}"}