File size: 963 Bytes
9bb2fc2 8ba64a4 638f225 8ba64a4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
from typing import Any, Dict, List, Optional, Union
from pydantic import BaseModel
from app.config import get_settings
settings = get_settings()
class Attribute(BaseModel):
description: str
data_type: str
allowed_values: Optional[List[str]] = []
class ExtractionRequest(BaseModel):
attributes: Dict[str, Attribute]
img_urls: Optional[List[str]] = None
product_taxonomy: str
request_meta: Optional[Dict[str, str]] = None
product_data: Optional[Dict[str, Union[str, List[str]]]] = None
ai_model: str = settings.DEFAULT_MODEL # type: ignore
max_attempts: int = settings.DEFAULT_MAX_ATTEMPTS # type: ignore
class FollowSchemaRequest(BaseModel):
data_schema: Dict[str, Any]
data: Dict[str, Any]
request_meta: Optional[Dict[str, str]] = None
ai_model: str = settings.DEFAULT_MODEL
max_attempts: int = settings.DEFAULT_MAX_ATTEMPTS # type: ignore
class ResultRequest(BaseModel):
task_id: str
|