|
6 | 6 | from functools import wraps
|
7 | 7 | from typing import NamedTuple, Optional, Dict, Iterable
|
8 | 8 |
|
9 |
| -import grpc |
10 | 9 | import certifi
|
| 10 | +import grpc |
11 | 11 | from google.protobuf import json_format
|
12 |
| - |
| 12 | +from grpc._channel import _InactiveRpcError, _MultiThreadedRendezvous |
| 13 | +from pinecone import FetchResponse, QueryResponse, ScoredVector, SingleQueryResults, UpsertResponse, \ |
| 14 | + DescribeIndexStatsResponse |
13 | 15 | from pinecone.config import Config
|
14 |
| -from pinecone.core.grpc.protos.vector_column_service_pb2_grpc import VectorColumnServiceStub |
15 |
| -from pinecone.core.grpc.protos import vector_service_pb2, vector_column_service_pb2 |
16 |
| -from pinecone.core.utils import _generate_request_id, dict_to_proto_struct, fix_tuple_length, proto_struct_to_dict |
17 |
| -from pinecone.core.utils.sentry import sentry_decorator as sentry |
18 |
| -from pinecone.core.grpc.protos.vector_service_pb2_grpc import VectorServiceStub |
19 |
| -from pinecone.core.grpc.retry import RetryOnRpcErrorClientInterceptor, RetryConfig |
20 |
| -from pinecone.core.utils.constants import MAX_MSG_SIZE, REQUEST_ID, CLIENT_VERSION |
| 16 | +from pinecone.core.client.model.namespace_summary import NamespaceSummary |
| 17 | +from pinecone.core.client.model.vector import Vector as _Vector |
21 | 18 | from pinecone.core.grpc.protos.vector_service_pb2 import Vector as GRPCVector, QueryVector as GRPCQueryVector, \
|
22 | 19 | UpsertRequest, DeleteRequest, \
|
23 | 20 | QueryRequest, FetchRequest, DescribeIndexStatsRequest
|
24 |
| -from pinecone.core.client.model.vector import Vector as _Vector |
25 |
| -from pinecone.core.client.model.namespace_summary import NamespaceSummary |
26 |
| -from pinecone import FetchResponse, QueryResponse, ScoredVector, SingleQueryResults, UpsertResponse, \ |
27 |
| - DescribeIndexStatsResponse |
28 |
| -from grpc._channel import _InactiveRpcError, _MultiThreadedRendezvous |
29 |
| -from pinecone.exceptions import PineconeProtocolError, PineconeException |
| 21 | +from pinecone.core.grpc.protos.vector_service_pb2_grpc import VectorServiceStub |
| 22 | +from pinecone.core.grpc.retry import RetryOnRpcErrorClientInterceptor, RetryConfig |
| 23 | +from pinecone.core.utils import _generate_request_id, dict_to_proto_struct, fix_tuple_length |
| 24 | +from pinecone.core.utils.constants import MAX_MSG_SIZE, REQUEST_ID, CLIENT_VERSION |
| 25 | +from pinecone.core.utils.sentry import sentry_decorator as sentry |
| 26 | +from pinecone.exceptions import PineconeException |
30 | 27 |
|
31 | 28 | __all__ = ["GRPCIndex", "GRPCVector", "GRPCQueryVector"]
|
32 | 29 |
|
@@ -198,13 +195,15 @@ def parse_upsert_response(response):
|
198 | 195 |
|
199 | 196 |
|
200 | 197 | def parse_stats_response(response: dict):
|
| 198 | + fullness = response.get('index_fullness', 0.0) |
201 | 199 | dimension = response.get('dimension', 0)
|
202 | 200 | summaries = response.get('namespaces', {})
|
203 | 201 | namespace_summaries = {}
|
204 | 202 | for key in summaries:
|
205 | 203 | vc = summaries[key].get('vectorCount', 0)
|
206 | 204 | namespace_summaries[key] = NamespaceSummary(vector_count=vc)
|
207 |
| - return DescribeIndexStatsResponse(namespaces=namespace_summaries, dimension=dimension, _check_type=False) |
| 205 | + return DescribeIndexStatsResponse(namespaces=namespace_summaries, dimension=dimension, index_fullness=fullness, |
| 206 | + _check_type=False) |
208 | 207 |
|
209 | 208 |
|
210 | 209 | class PineconeGrpcFuture:
|
@@ -232,12 +231,13 @@ def result(self, timeout=None):
|
232 | 231 | except _MultiThreadedRendezvous as e:
|
233 | 232 | raise PineconeException(e._state.debug_error_string) from e
|
234 | 233 |
|
235 |
| - def exception(self,timeout=None): |
| 234 | + def exception(self, timeout=None): |
236 | 235 | return self._delegate.exception(timeout=timeout)
|
237 | 236 |
|
238 |
| - def traceback(self,timeout=None): |
| 237 | + def traceback(self, timeout=None): |
239 | 238 | return self._delegate.traceback(timeout=timeout)
|
240 | 239 |
|
| 240 | + |
241 | 241 | class GRPCIndex(GRPCIndexBase):
|
242 | 242 |
|
243 | 243 | @property
|
@@ -311,40 +311,3 @@ def describe_index_stats(self, **kwargs):
|
311 | 311 | response = self._wrap_grpc_call(self.stub.DescribeIndexStats, request, timeout=timeout)
|
312 | 312 | json_response = json_format.MessageToDict(response)
|
313 | 313 | return parse_stats_response(json_response)
|
314 |
| - |
315 |
| - |
316 |
| -class CIndex(GRPCIndex): |
317 |
| - |
318 |
| - @property |
319 |
| - def stub_class(self): |
320 |
| - return VectorColumnServiceStub |
321 |
| - |
322 |
| - def upsert(self, |
323 |
| - request: 'vector_column_service_pb2.UpsertRequest', |
324 |
| - timeout: int = None, |
325 |
| - metadata: Dict[str, str] = None): |
326 |
| - return self._wrap_grpc_call(self.stub.Upsert, request, timeout=timeout, metadata=metadata) |
327 |
| - |
328 |
| - def delete(self, |
329 |
| - request: 'vector_column_service_pb2.DeleteRequest', |
330 |
| - timeout: int = None, |
331 |
| - metadata: Dict[str, str] = None): |
332 |
| - return self._wrap_grpc_call(self.stub.Delete, request, timeout=timeout, metadata=metadata) |
333 |
| - |
334 |
| - def fetch(self, |
335 |
| - request: 'vector_column_service_pb2.FetchRequest', |
336 |
| - timeout: int = None, |
337 |
| - metadata: Dict[str, str] = None): |
338 |
| - return self._wrap_grpc_call(self.stub.Fetch, request, timeout=timeout, metadata=metadata) |
339 |
| - |
340 |
| - def query(self, |
341 |
| - request: 'vector_column_service_pb2.QueryRequest', |
342 |
| - timeout: int = None, |
343 |
| - metadata: Dict[str, str] = None): |
344 |
| - return self._wrap_grpc_call(self.stub.Query, request, timeout=timeout, metadata=metadata) |
345 |
| - |
346 |
| - def describe_index_stats(self, |
347 |
| - request: 'vector_column_service_pb2.DescribeIndexStatsRequest', |
348 |
| - timeout: int = None, |
349 |
| - metadata: Dict[str, str] = None): |
350 |
| - return self._wrap_grpc_call(self.stub.DescribeIndexStats, request, timeout=timeout, metadata=metadata) |
0 commit comments