in python/src/tablestore_for_agent_memory/knowledge/knowledge_store.py [0:0]
def vector_search(self,
query_vector: List[float],
top_k: Optional[int] = 10,
tenant_id: Optional[Union[List[str], str]] = None,
metadata_filter: Optional[Filter] = None,
limit: Optional[int] = Field(default=None, le=1000, ge=1),
next_token: Optional[str] = None,
meta_data_to_get: Optional[List[str]] = None,
**kwargs: Any,
) -> Response[DocumentHit]:
if limit is None:
limit = top_k
metadata_filter = self._wrap_tenant_id_filter(tenant_id=tenant_id, metadata_filter=metadata_filter)
vector_filter = Filters.vector_query(
vector_field=self._embedding_field,
query_vector=query_vector,
top_k=top_k,
metadata_filter=metadata_filter,
)
routing_keys = self._build_routing_keys(tenant_id=tenant_id)
return self.search_documents(
tenant_id=None,
metadata_filter=vector_filter,
limit=limit,
next_token=next_token,
meta_data_to_get=meta_data_to_get,
routing_keys=routing_keys,
)