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)}"}