| from fastapi import FastAPI, Request
|
| from pydantic import BaseModel
|
| import joblib
|
| import uvicorn
|
| import numpy as np
|
| import pandas as pd
|
|
|
| app = FastAPI()
|
|
|
|
|
| model = joblib.load("model_pipeline.pkl")
|
|
|
|
|
| class CustomerInput(BaseModel):
|
| credit_score: int
|
| country: str
|
| gender: str
|
| age: int
|
| tenure: int
|
| balance: float
|
| products_number: int
|
| credit_card: int
|
| active_member: int
|
| estimated_salary: float
|
|
|
| @app.get("/")
|
| def read_root():
|
| return {"message": "Model REST API is up!"}
|
|
|
| @app.post("/predict")
|
| def predict_customer(input: CustomerInput):
|
| data = input.dict()
|
| df = pd.DataFrame([data])
|
| prediction = model.predict(df)
|
| return {"prediction": int(prediction[0])}
|
|
|
|
|
| if __name__ == "__main__":
|
| uvicorn.run(app, host="0.0.0.0", port=8000) |