25 lines
635 B
Python
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
|