from flask import Flask, request, jsonify from transformers import pipeline app = Flask(__name__) # KoBART 요약기 공통 사용 summarizer = pipeline("summarization", model="digit82/kobart-summarization", tokenizer="digit82/kobart-summarization") @app.route("/") def home(): return "CW KoBART 요약 서버 작동 중 (멀티 엔드포인트 /summarize, /econalyze, /ideas)" @app.route("/summarize", methods=["POST"]) def summarize(): data = request.get_json() text = data.get("text", "") if not text.strip(): return jsonify({"error": "요약할 텍스트가 없습니다"}), 400 try: result = summarizer(text, max_length=200, min_length=40, do_sample=False) return jsonify({"summary": result[0]["summary_text"]}) except Exception as e: return jsonify({"error": str(e)}), 500 @app.route("/econalyze", methods=["POST"]) def econalyze(): data = request.get_json() text = data.get("text", "") if not text.strip(): return jsonify({"error": "경제 분석 입력이 없습니다"}), 400 try: result = summarizer(text, max_length=300, min_length=80, do_sample=False) return jsonify({"analysis": result[0]["summary_text"]}) except Exception as e: return jsonify({"error": str(e)}), 500 @app.route("/ideas", methods=["POST"]) def ideas(): data = request.get_json() keywords = data.get("keywords", []) if not keywords: return jsonify({"ideas": []}) try: return jsonify({"ideas": [f"{kw} 관련 블로그 아이디어" for kw in keywords]}) except Exception as e: return jsonify({"error": str(e)}), 500 if __name__ == "__main__": app.run(host="0.0.0.0", port=7860)