# ============================================================
# 공통 AI 챗봇 마이크로서비스 (Python · Flask)
#
# 10(Spring Boot) · 11(Node.js) · 12(FastAPI) 의 '웹 티어'가 똑같이 HTTP 로 호출하는 백엔드.
# 역할은 단 하나: 메시지를 받아 OpenAI 로 답을 만들어 돌려준다. (간단 챗봇, RAG 아님)
#
#   [웹 티어 :8080/3000/8000]  --POST /chat {message}-->  [이 서비스 :5000]  --> OpenAI
#
# 실행:  python ai_server.py     (http://localhost:5000)
#   필요한 패키지:  pip install flask openai python-dotenv
#   OPENAI_API_KEY 는 상위 프로젝트 루트의 .env 에서 읽는다.
# ============================================================

from flask import Flask, request, jsonify
from openai import OpenAI
from dotenv import load_dotenv

load_dotenv()
client = OpenAI()
app = Flask(__name__)


@app.post("/chat")
def chat():
    message = request.json["message"]
    resp = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[
            {"role": "system", "content": "당신은 친절한 한국어 챗봇입니다. 간결하게 답하세요."},
            {"role": "user", "content": message},
        ],
    )
    return jsonify({"reply": resp.choices[0].message.content})


if __name__ == "__main__":
    app.run(port=5000)
