from flask import Flask, request, jsonify import os, joblib, pandas as pd app = Flask(__name__) _model = None def get_model(): global _model if _model is None: _model = joblib.load(os.path.join("models", "best_model.joblib")) return _model @app.get("/health") def health(): return {"status": "ok"} @app.post("/predict") def predict(): payload = request.get_json(force=True) X = pd.DataFrame([payload]) yhat = get_model().predict(X) return jsonify({"prediction": float(yhat[0])}) if __name__ == "__main__": app.run(host="0.0.0.0", port=int(os.environ.get("PORT", 7860)))