Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel | |
| from typing import List, Optional | |
| class HealthCheckResponse(BaseModel): | |
| status: str | |
| yolo_available: bool | |
| class Photo(BaseModel): | |
| id: str | |
| filename: str | |
| creation_date: str # ISO date string YYYY-MM-DD | |
| uploaded_at: str | |
| analysis: Optional[object] = None # Can be List[dict] (legacy) or dict (new with comparison) | |
| analysis_date: Optional[str] = None | |
| local_content: Optional[str] = None # Base64 data for client-side storage | |
| # Response model for the timeline: a list of either Photo (single) or VirtualDirectory (group) | |
| # In Pydantic V2 we might use Union, but for simplicity/JSON serialization, | |
| # we can return a list of objects that have a 'type' field. | |
| class TimelineItem(BaseModel): | |
| type: str # 'photo' or 'directory' | |
| date: str | |
| data: Optional[Photo] = None # If type is photo | |
| items: Optional[List[Photo]] = None # If type is directory | |
| from app.config import INTERPRETER_MARGIN_THRESHOLD | |
| class SinglePhotoAnalysisRequest(BaseModel): | |
| # Default labels for zero-shot classification from centralized config | |
| candidate_labels: Optional[List[str]] = None | |
| model: Optional[str] = "medsiglip" # "medsiglip" only now | |
| base64_image: Optional[str] = None # Client-side image data | |
| margin_threshold: Optional[float] = INTERPRETER_MARGIN_THRESHOLD | |
| class SinglePhotoAnalysisResponse(BaseModel): | |
| photo_id: str | |
| predictions: List[dict] | |
| primary_model_name: Optional[str] = None | |
| analysis_date: Optional[str] = None | |
| prepared_image_base64: Optional[str] = None | |
| saliency_base64: Optional[str] = None # Returning saliency as base64 | |
| interpretation: Optional[dict] = None | |
| preprocess_strategy: Optional[dict] = None | |
| execution_times: Optional[dict] = None | |
| class SaliencyRequest(BaseModel): | |
| base64_image: str | |
| target_label: str | |
| class SaliencyResponse(BaseModel): | |
| photo_id: str | |
| saliency_base64: str | |