Diagnosing-API / main.py
Arpit-Bansal's picture
fix start
95ec67a
from model import load_model, classify
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from typing import List
import numpy as np
import uvicorn
from typing import List
app = FastAPI()
class InputData(BaseModel):
features: List[float]
# class InputData(BaseModel):
# features: List[float]
# @field_validator('features')
# def check_features_length(cls, v):
# if len(v) != 384:
# raise ValueError('Features must be a list of length 384')
# return v
global model
model = load_model()
@app.post("/classify")
async def classify_data(data: InputData):
try:
# Convert input to numpy array for model
features = np.array(data.features)
# Get prediction using the imported classify function
prediction, confidence = classify(model, features)
return {"prediction": prediction, "confidence": confidence}
except Exception as e:
raise HTTPException(status_code=500, detail=f"Error during classification: {str(e)}")