| import json | |
| from pydantic import field_validator, BaseModel | |
| class SearchRequest(BaseModel): | |
| mode: str | |
| items: list | |
| scale: list | |
| filter_string: str = "" | |
| sort_col: str = "max_similarity" | |
| sort_descending: bool = True | |
| page_index: int = 0 | |
| page_size: int = 5 | |
| session_id: str = "" | |
| def parse_json_string(cls, v): | |
| if isinstance(v, list) and len(v) > 0: | |
| v = v[0] | |
| if isinstance(v, str): | |
| return json.loads(v) | |
| return v |