Source code for lalandre_db_qdrant.models
"""
Qdrant vector models
Data structures for vector database operations
"""
from typing import Any, Dict, List, Union
from pydantic import BaseModel
from qdrant_client.http import models
[docs]
class VectorPoint(BaseModel):
"""
Represents a point in vector space with metadata
Abstraction layer over Qdrant's PointStruct to decouple
application code from Qdrant implementation details.
"""
id: Union[str, int]
vector: List[float]
payload: Dict[str, Any]
[docs]
def to_qdrant_point(self):
"""Convert to Qdrant's native PointStruct"""
return models.PointStruct(id=self.id, vector=self.vector, payload=self.payload)
[docs]
class SearchResult(BaseModel):
"""Result of a vector search"""
id: str
score: float
payload: Dict[str, Any]