12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- from enum import Enum
- from pydantic import BaseModel
- def to_lower_camel(string: str) -> str:
- tokens = [token.capitalize() if i > 0 else token for i, token in enumerate(string.split("_"))]
- return "".join(tokens)
- class TextModelRequest(BaseModel):
- text: str
- class TextResponse(BaseModel):
- __root__: str
- class MessageResponse(BaseModel):
- message: str
- class TagResponse(BaseModel):
- __root__: list[str]
- class Embedding(BaseModel):
- __root__: list[float]
- class EmbeddingResponse(BaseModel):
- __root__: Embedding
- class BoundingBox(BaseModel):
- x1: int
- y1: int
- x2: int
- y2: int
- class Face(BaseModel):
- image_width: int
- image_height: int
- bounding_box: BoundingBox
- score: float
- embedding: Embedding
- class Config:
- alias_generator = to_lower_camel
- allow_population_by_field_name = True
- class FaceResponse(BaseModel):
- __root__: list[Face]
- class ModelType(Enum):
- IMAGE_CLASSIFICATION = "image-classification"
- CLIP = "clip"
- FACIAL_RECOGNITION = "facial-recognition"
|