|
35 | 35 | SparseValues as GRPCSparseValues,
|
36 | 36 | )
|
37 | 37 | from pinecone import Vector as NonGRPCVector
|
38 |
| -from pinecone.data.query_results_aggregator import QueryNamespacesResults, QueryResultsAggregator |
39 | 38 | from pinecone.core.grpc.protos.vector_service_pb2_grpc import VectorServiceStub
|
40 | 39 | from .base import GRPCIndexBase
|
41 | 40 | from .future import PineconeGrpcFuture
|
@@ -403,53 +402,6 @@ def query(
|
403 | 402 | json_response = json_format.MessageToDict(response)
|
404 | 403 | return parse_query_response(json_response, _check_type=False)
|
405 | 404 |
|
406 |
| - def query_namespaces( |
407 |
| - self, |
408 |
| - vector: List[float], |
409 |
| - namespaces: List[str], |
410 |
| - top_k: Optional[int] = None, |
411 |
| - filter: Optional[Dict[str, Union[str, float, int, bool, List, dict]]] = None, |
412 |
| - include_values: Optional[bool] = None, |
413 |
| - include_metadata: Optional[bool] = None, |
414 |
| - sparse_vector: Optional[Union[GRPCSparseValues, SparseVectorTypedDict]] = None, |
415 |
| - **kwargs, |
416 |
| - ) -> QueryNamespacesResults: |
417 |
| - if namespaces is None or len(namespaces) == 0: |
418 |
| - raise ValueError("At least one namespace must be specified") |
419 |
| - if len(vector) == 0: |
420 |
| - raise ValueError("Query vector must not be empty") |
421 |
| - |
422 |
| - overall_topk = top_k if top_k is not None else 10 |
423 |
| - aggregator = QueryResultsAggregator(top_k=overall_topk) |
424 |
| - |
425 |
| - target_namespaces = set(namespaces) # dedup namespaces |
426 |
| - futures = [ |
427 |
| - self.query( |
428 |
| - vector=vector, |
429 |
| - namespace=ns, |
430 |
| - top_k=overall_topk, |
431 |
| - filter=filter, |
432 |
| - include_values=include_values, |
433 |
| - include_metadata=include_metadata, |
434 |
| - sparse_vector=sparse_vector, |
435 |
| - async_req=True, |
436 |
| - **kwargs, |
437 |
| - ) |
438 |
| - for ns in target_namespaces |
439 |
| - ] |
440 |
| - |
441 |
| - from concurrent.futures import wait, ALL_COMPLETED |
442 |
| - |
443 |
| - done, _ = wait(futures, return_when=ALL_COMPLETED) |
444 |
| - |
445 |
| - for future in done: |
446 |
| - response = future.result() |
447 |
| - json_result = json_format.MessageToDict(response) |
448 |
| - aggregator.add_results(json_result) |
449 |
| - |
450 |
| - final_results = aggregator.get_results() |
451 |
| - return final_results |
452 |
| - |
453 | 405 | def update(
|
454 | 406 | self,
|
455 | 407 | id: str,
|
|
0 commit comments