from fastapi import FastAPI, File, UploadFile from fastapi.responses import StreamingResponse from fastapi.responses import FileResponse, HTMLResponse import os import io import json from fastapi import FastAPI from pydantic import BaseModel import joblib import json app = FastAPI() class model_input(BaseModel): pregnancies : int Glucose : int BloodPressure : int SkinThickness : int Insulin : int BMI : float DiabetesPedigreeFunction : float Age : int # loading the saved model diabetes_model = joblib.load(open('diabetes_model.sav', 'rb')) @app.post('/diabetes_prediction') def diabetes_predd(input_parameters : model_input): input_data = input_parameters.json() input_dictionary = json.loads(input_data) preg = input_dictionary['pregnancies'] glu = input_dictionary['Glucose'] bp = input_dictionary['BloodPressure'] skin = input_dictionary['SkinThickness'] insulin = input_dictionary['Insulin'] bmi = input_dictionary['BMI'] dpf = input_dictionary['DiabetesPedigreeFunction'] age = input_dictionary['Age'] input_list = [preg, glu, bp, skin, insulin, bmi, dpf, age] prediction = diabetes_model.predict([input_list]) if (prediction[0] == 0): return 'The person is not diabetic' else: return 'The person is diabetic'