GeoPolimerosEspol / final_api.py
MLGeopolimeros's picture
Update final_api.py
dab85c5
raw
history blame contribute delete
No virus
1.1 kB
# -*- coding: utf-8 -*-
import pandas as pd
from pycaret.regression import load_model, predict_model
from fastapi import FastAPI
import uvicorn
from pydantic import create_model
# Create the app
app = FastAPI()
# Load trained Pipeline
model = load_model("final_api")
# Create input/output pydantic models
input_model = create_model("final_api_input", **{'Relacion Na2SiO3/NaOH': 3.0, 'Contenido de Na2SiO3 (mL)': 33.79999923706055, 'Contenido de NaOH (mL)': 11.300000190734863, 'Contenido de extra agua (mL)': 9.100000381469727, 'Temperatura de Curado (C)': 80.0, 'Total liquido/binder (zeolita)': 0.6000000238418579, 'Activador/zeolita': 0.5, 'tiempo de curado (dias) total': 7.0})
output_model = create_model("final_api_output",prediction=7.53)
# Define predict function
@app.post("/predict", response_model=output_model)
def predict(data: input_model):
data = pd.DataFrame([data.dict()])
predictions = predict_model(model, data=data)
return {"prediction": predictions["prediction_label"].iloc[0]}
if __name__ == "__main__":
uvicorn.run(app, host="127.0.0.1", port=8000)