Spaces:
Runtime error
Runtime error
File size: 1,365 Bytes
c674e24 22d4865 c674e24 22d4865 c674e24 6eb1e8c c674e24 22d4865 c674e24 22d4865 c674e24 63e95b2 c674e24 63e95b2 c674e24 63e95b2 c674e24 63e95b2 | 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 37 38 39 40 41 42 43 | import torch
from fastapi import Request
from qdrant_client.http import models
from .BaseControllers import BaseControllers
from .SearchControllers import SearchControllers
class SimilaritySearchControllers(BaseControllers, SearchControllers):
def __init__(
self,
request: Request,
limit: int,
image_features: torch.tensor
):
BaseControllers.__init__(self)
SearchControllers.__init__(self, limit=limit, request=request)
self.image_features = image_features
async def simple_search(self):
search_res = self.client.search(
collection_name="image_features",
query_vector=self.image_features[0].tolist(),
limit=self.limit
)
return await self.url_response(search_res=search_res)
async def color_filter_search(self, color: str):
search_res = self.client.search(
collection_name="image_features",
query_vector=self.image_features[0].tolist(),
limit=self.limit,
query_filter=models.Filter(
must=[
models.FieldCondition(
key="color",
match=models.MatchValue(value=color)
)
]
)
)
return await self.url_response(search_res=search_res)
|