elizabethmyn's picture
Fix cannot detect object issue on Hugging Face
0345feb
from pydantic import BaseModel, Field
from typing import List, Optional, Dict, Any
from datetime import datetime
class StandardResponse(BaseModel):
success: bool = Field(..., description="Request success status")
message: str = Field(..., description="Response message")
timestamp: datetime = Field(default_factory=datetime.utcnow, description="Response timestamp")
class DetectionResponse(StandardResponse):
detections: List[Dict[str, Any]] = Field(..., description="List of detected objects")
processing_time: float = Field(..., description="Time taken to process the image")
image_size: Dict[str, int] = Field(..., description="Original image dimensions")
total_detections: int = Field(..., description="Total number of detections")
class BatchDetectionResponse(StandardResponse):
results: List[DetectionResponse] = Field(..., description="List of detection results")
processed_files: int = Field(..., description="Number of files processed")
successful_detections: int = Field(..., description="Number of successful detections")
failed_detections: int = Field(..., description="Number of failed detections")
class HealthResponse(StandardResponse):
status: str = Field(..., description="Service status")
version: str = Field(..., description="API version")
model_loaded: bool = Field(..., description="Model loading status")
device: str = Field(..., description="Device used for inference")
uptime: Optional[float] = Field(None, description="Service uptime in seconds")
class ErrorResponse(StandardResponse):
error_code: str = Field(..., description="Error code for programmatic handling")
details: Optional[Dict[str, Any]] = Field(None, description="Additional error details")
stack_trace: Optional[str] = Field(None, description="Stack trace for debugging")
class ValidationErrorResponse(ErrorResponse):
field_errors: Optional[Dict[str, List[str]]] = Field(None, description="Field-specific validation errors")
class ServiceStatus(BaseModel):
service: str = Field(..., description="Service name")
status: str = Field(..., description="Service status")
message: Optional[str] = Field(None, description="Status message")
class SystemStatusResponse(StandardResponse):
services: List[ServiceStatus] = Field(..., description="Status of all services")
overall_status: str = Field(..., description="Overall system status")