feat: implement core frontend dashboard, auth flow, and AI-driven case management system
This commit is contained in:
@@ -77,3 +77,19 @@ def ai_generate_reply(current_user_id):
|
||||
from ..utils.ai_utils import generate_review_reply
|
||||
text = generate_review_reply(review_text, rating)
|
||||
return jsonify({"text": text})
|
||||
|
||||
@ai_blueprint.route('/ai/generate-card', methods=['POST'])
|
||||
@token_required
|
||||
def ai_generate_card(current_user_id):
|
||||
"""
|
||||
Генерация полной карточки товара
|
||||
"""
|
||||
data = request.json
|
||||
title = data.get('title')
|
||||
|
||||
if not title:
|
||||
return jsonify({"error": "Название товара обязательно"}), 400
|
||||
|
||||
from ..utils.ai_utils import generate_product_card
|
||||
card_data = generate_product_card(title)
|
||||
return jsonify(card_data)
|
||||
|
||||
@@ -63,3 +63,35 @@ def generate_review_reply(review_text, rating):
|
||||
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)}"}
|
||||
|
||||
Reference in New Issue
Block a user