CoolFace
Apppublic

faisaltitu/Drift-Detection

sourceHugging Faceupdated 7mo agoView on Hugging Face
0likes
models.py59 linesDownload Raw Back to api
1"""2Pydantic Models for API Request/Response3"""4 5from pydantic import BaseModel, Field6from typing import Optional7from datetime import datetime8 9 10class PredictionRequest(BaseModel):11    """Request schema for housing prediction."""12    13    MedInc: float = Field(..., description="Median income in block group")14    HouseAge: float = Field(..., description="Median house age in block group")15    AveRooms: float = Field(..., description="Average number of rooms per household")16    AveBedrms: float = Field(..., description="Average number of bedrooms per household")17    Population: float = Field(..., description="Block group population")18    AveOccup: float = Field(..., description="Average number of household members")19    Latitude: float = Field(..., description="Block group latitude")20    Longitude: float = Field(..., description="Block group longitude")21    22    model_config = {23        "json_schema_extra": {24            "examples": [25                {26                    "MedInc": 8.3252,27                    "HouseAge": 41.0,28                    "AveRooms": 6.984,29                    "AveBedrms": 1.024,30                    "Population": 322.0,31                    "AveOccup": 2.556,32                    "Latitude": 37.88,33                    "Longitude": -122.2334                }35            ]36        }37    }38 39 40class PredictionResponse(BaseModel):41    """Response schema for housing prediction."""42    43    model_config = {"protected_namespaces": ()}44    45    prediction: float = Field(..., description="Predicted median house value (in $100,000s)")46    model_version: int = Field(..., description="Model version used for prediction")47    timestamp: datetime = Field(..., description="Prediction timestamp")48    prediction_id: int = Field(..., description="Unique prediction ID")49 50 51class HealthResponse(BaseModel):52    """Health check response."""53    54    model_config = {"protected_namespaces": ()}55    56    status: str57    model_loaded: bool58    model_version: Optional[int] = None59