98 lines
5.4 KiB
Python
98 lines
5.4 KiB
Python
import os
|
||
import google.generativeai as genai
|
||
|
||
def generate_complaint_text(platform, violator_article, my_article=None):
|
||
"""Генерирует текст претензии с помощью Google Gemini."""
|
||
api_key = os.getenv('GEMINI_API_KEY')
|
||
if not api_key:
|
||
return "Ошибка: API ключ для Gemini не настроен в .env"
|
||
|
||
genai.configure(api_key=api_key)
|
||
model = genai.GenerativeModel('gemini-1.5-flash')
|
||
|
||
prompt = f"""
|
||
Ты - профессиональный юрист в сфере интеллектуальной собственности и e-commerce.
|
||
Напиши официальную и убедительную претензию для маркетплейса {platform}.
|
||
|
||
Суть нарушения: продавец с артикулом {violator_article} незаконно использует мой контент или нарушает правила ценообразования.
|
||
Мой оригинальный артикул для сравнения: {my_article if my_article else 'не указан'}.
|
||
|
||
Требования:
|
||
1. Текст должен быть на русском языке.
|
||
2. Стиль официально-деловой.
|
||
3. Упомяни о необходимости защиты прав правообладателя.
|
||
4. Текст должен быть лаконичным (до 500 знаков).
|
||
|
||
Ответ дай сразу в виде текста претензии, без лишних вступлений.
|
||
"""
|
||
|
||
try:
|
||
response = model.generate_content(prompt)
|
||
return response.text.strip()
|
||
except Exception as e:
|
||
return f"Ошибка при генерации текста ИИ: {str(e)}"
|
||
|
||
def generate_review_reply(review_text, rating):
|
||
"""Генерирует ответ на отзыв покупателя."""
|
||
api_key = os.getenv('GEMINI_API_KEY')
|
||
if not api_key:
|
||
return "Ошибка: API ключ не настроен."
|
||
|
||
genai.configure(api_key=api_key)
|
||
model = genai.GenerativeModel('gemini-1.5-flash')
|
||
|
||
prompt = f"""
|
||
Ты - менеджер по работе с клиентами в магазине на маркетплейсе.
|
||
Твоя задача: вежливо и профессионально ответить на отзыв покупателя.
|
||
|
||
Оценка покупателя: {rating} звезд(ы).
|
||
Текст отзыва: "{review_text}"
|
||
|
||
Правила:
|
||
1. Если оценка 4-5 звезд: поблагодари за покупку, вырази радость, предложи посмотреть другие товары нашего бренда.
|
||
2. Если оценка 1-3 звезды: извинись за неудобства, уточни, что мы работаем над качеством, и предложи обратиться в поддержку, если это уместно.
|
||
3. Стиль: дружелюбный, но деловой. Не используй слишком много восклицательных знаков.
|
||
4. Длина: 2-4 предложения.
|
||
5. Не используй шаблоны "Уважаемый покупатель", начни более естественно.
|
||
|
||
Ответ дай сразу в виде готового текста.
|
||
"""
|
||
|
||
try:
|
||
response = model.generate_content(prompt)
|
||
return response.text.strip()
|
||
except Exception as e:
|
||
return f"Ошибка ИИ: {str(e)}"
|
||
|
||
def generate_product_card(title):
|
||
"""Генерирует описание и характеристики товара по его названию."""
|
||
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"""
|
||
Ты - эксперт по листингу на маркетплейсах Ozon и Wildberries.
|
||
Тебе дано название товара: "{title}"
|
||
|
||
Твоя задача - сгенерировать контент для карточки товара в формате JSON.
|
||
JSON должен содержать:
|
||
1. "description": Продающее описание (3-4 абзаца), выделяющее преимущества.
|
||
2. "features": Список из 5-8 ключевых характеристик (ключ: значение).
|
||
3. "seo_tags": Список из 10 ключевых слов для поиска.
|
||
4. "image_prompts": 3 подробных промпта для нейросети (на английском), чтобы сгенерировать идеальные фото этого товара (главное фото, в интерьере, детали).
|
||
|
||
Ответ дай ТОЛЬКО в виде чистого JSON, без лишних слов.
|
||
"""
|
||
|
||
try:
|
||
response = model.generate_content(prompt)
|
||
import json
|
||
# Очистка от markdown-обертки если есть
|
||
clean_json = response.text.replace('```json', '').replace('```', '').strip()
|
||
return json.loads(clean_json)
|
||
except Exception as e:
|
||
return {"error": f"Ошибка при генерации карточки: {str(e)}"}
|