フロントエンドからデータを受け取るところを記述する
jsonをpostすると、jsonのレスポンスが返ってくる
from flask import Flask, request, Response
import json
app = Flask(__name__)
@app.route("/chat", methods=["POST"])
def chat():
try:
data = request.get_json()
user_id = data.get("user_id")
message = data.get("message")
# ここで認証チェック、DBアクセス、AIモデルの呼び出しなどを行う
# ここではダミーの応答を返す
ai_reply = f"ユーザ({user_id})のメッセージを受け取りました: {message}"
response_json = json.dumps({"reply": ai_reply}, ensure_ascii=False)
return Response(response_json, content_type="application/json; charset=utf-8")
except Exception as e:
error_json = json.dumps({"error": str(e)}, ensure_ascii=False)
return Response(error_json, status=400, content_type="application/json; charset=utf-8")
if __name__ == "__main__":
app.run(debug=True)
$ curl -X POST http://127.0.0.1:5000/chat -H “Content-Type: application/json” -d ‘{“user_id”: “12345”, “message”: “おはよう!”}’
{“reply”: “ユーザ(12345)のメッセージを受け取りました: おはよう!”}
この chat() の中で 以下も書いていく。
– 認証チェックを追加
– DBにユーザーの入力を保存
– OpenAI API や HuggingFace API を呼んで応答を生成
– 生成した応答をDBに保存して返却