from pydantic import BaseModel class BBox(BaseModel): x: int y: int w: int h: int class QuadrupleItem(BaseModel): subject: str predicate: str object: str qualifier: str | None = None bbox: BBox cropped_image_path: str class ImageExtractRequest(BaseModel): file_path: str task_id: int model: str | None = None prompt_template: str | None = None class ImageExtractResponse(BaseModel): items: list[QuadrupleItem]