from flask import Blueprint, request, jsonify from ..middleware import token_required from ..utils.ai_utils import generate_complaint_text ai_blueprint = Blueprint('ai', __name__) @ai_blueprint.route('/ai/generate-complaint', methods=['POST']) @token_required def ai_generate_complaint(current_user_id): """ Генерация текста претензии с помощью ИИ --- tags: - AI security: - APIKeyHeader: [] parameters: - name: body in: body required: true schema: type: object properties: platform: type: string violator_article: type: string my_article: type: string responses: 200: description: Сгенерированный текст """ data = request.json platform = data.get('platform', 'ozon') v_art = data.get('violator_article', '') my_art = data.get('my_article', '') if not v_art: return jsonify({"error": "Артикул нарушителя обязателен"}), 400 text = generate_complaint_text(platform, v_art, my_art) return jsonify({"text": text}) @ai_blueprint.route('/ai/generate-reply', methods=['POST']) @token_required def ai_generate_reply(current_user_id): """ Генерация ответа на отзыв покупателя --- tags: - AI security: - APIKeyHeader: [] parameters: - name: body in: body required: true schema: type: object properties: review_text: type: string rating: type: integer responses: 200: description: Сгенерированный ответ """ data = request.json review_text = data.get('review_text', '') rating = data.get('rating', 5) if not review_text: return jsonify({"error": "Текст отзыва обязателен"}), 400 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) @ai_blueprint.route('/ai/analyze-competitor', methods=['POST']) @token_required def ai_analyze_competitor(current_user_id): """ Глубокий анализ конкурента """ data = request.json my_desc = data.get('my_desc', '') comp_desc = data.get('comp_desc', '') if not comp_desc: return jsonify({"error": "Описание конкурента обязательно"}), 400 from ..utils.ai_utils import analyze_competitor result = analyze_competitor(my_desc, comp_desc) return jsonify(result)