esandorfi's picture
Domain features first reorganisation
68f48a7
from __future__ import annotations
from typing import List
from pydantic import BaseModel, Field, ConfigDict
class ClassifyRequest(BaseModel):
model_config = ConfigDict(extra="forbid")
image_base64: str = Field(..., description="Base64-encoded image bytes (jpg/png/webp).")
domain_top_n: int = Field(default=2, ge=1, le=3)
top_k: int = Field(default=5, ge=1, le=20)
class Hit(BaseModel):
model_config = ConfigDict(extra="forbid")
id: str
score: float
class ClassifyResponse(BaseModel):
model_config = ConfigDict(extra="forbid", protected_namespaces=())
label_set_hash: str
model_id: str
domain_hits: List[Hit]
chosen_domains: List[str]
label_hits: List[Hit]
elapsed_ms: int
elapsed_domain_ms: int
elapsed_labels_ms: int