listing-radar/dev_backend/vector_db_router/serializers.py

25 lines
635 B
Python

from pydantic import BaseModel
from typing import Dict, List, Any
class CreateCollectionSerializer(BaseModel):
collection_name: str
vector: List[float]
vector_size: int
payload: Dict[str, Any]
id: int
class QueryCollectionSerializer(BaseModel):
collection_name: str
url: str
score_threshold: float = 0.3 # Euclidean distance — lower = more similar. 0.3 = very tight match
limit: int = 10
class UpdateCollectionSerializer(BaseModel):
collection_name: str
vector: List[float]
payload: Dict[str, Any]
id: int
class DeleteCollectionSerializer(BaseModel):
collection_name: str