futurisys_ml_api / app /api /endpoints.py
NIX3S
add HF model
9ca0b5a
from fastapi import APIRouter, HTTPException
from pydantic import BaseModel
from app.services.prediction import predict
router = APIRouter()
# Modèle de validation Pydantic pour les données entrantes
class InputData(BaseModel):
NumberofFloors: int
NumberofBuildings: float
GFAPerFloor: float
PropertyGFATotal: int
GFA_Prison_Incarceration: float
GFA_College_University: float
GFA_Office: float
GFA_Parking: float
GFA_Medical_Office: float
GFA_Indoor_Arena: float
GFA_Hospital_General_Medical_Surgical: float
GFA_Data_Center: float
GFA_Laboratory: float
GFA_Supermarket_Grocery_Store: float
GFA_Urgent_Care_Clinic_Other_Outpatient: float
BuildingType_Nonresidential_WA: float
ZipCode_infrequent_sklearn: float
EPAPropertyType_infrequent_sklearn: float
class OutputData(BaseModel):
prediction: float
@router.post("/predict", response_model=OutputData)
def make_prediction(data: InputData):
try:
result = predict(data)
return {"prediction": result}
except ValueError as ve:
# Erreur liée aux features manquantes ou mal formées
raise HTTPException(status_code=422, detail=str(ve))
except Exception as e:
# Autres erreurs inattendues
raise HTTPException(status_code=500, detail="Erreur interne du serveur")