def GetVectorByID(self, request, context): _status, unpacks = Parser.parse_proto_VectorIdentity(request) if not _status.OK(): return status_pb2.Status(error_code=_status.code, reason=_status.message) metadata = {'resp_class': milvus_pb2.VectorData} _collection_name, _id = unpacks logger.info('GetVectorByID {}'.format(_collection_name)) _status, vector = self._get_vector_by_id(_collection_name, _id, metadata) if not vector: return milvus_pb2.VectorData(status=status_pb2.Status( error_code=_status.code, reason=_status.message), ) if isinstance(vector, bytes): records = milvus_pb2.RowRecord(binary_data=vector) else: records = milvus_pb2.RowRecord(float_data=vector) return milvus_pb2.VectorData(status=status_pb2.Status( error_code=_status.code, reason=_status.message), vector_data=records )
def GetVectorsByID(self, request, context): _status, unpacks = Parser.parse_proto_VectorIdentity(request) if not _status.OK(): return status_pb2.Status(error_code=_status.code, reason=_status.message) metadata = {'resp_class': milvus_pb2.VectorsData} _collection_name, _ids = unpacks logger.info('GetVectorByID {}'.format(_collection_name)) _status, vectors = self._get_vectors_by_id(_collection_name, _ids, metadata) _rpc_status = status_pb2.Status(error_code=_status.code, reason=_status.message) if not vectors: return milvus_pb2.VectorsData(status=_rpc_status, ) if len(vectors) == 0: return milvus_pb2.VectorsData(status=_rpc_status, vectors_data=[]) if isinstance(vectors[0], bytes): records = [milvus_pb2.RowRecord(binary_data=v) for v in vectors] else: records = [milvus_pb2.RowRecord(float_data=v) for v in vectors] response = milvus_pb2.VectorsData(status=_rpc_status) response.vectors_data.extend(records) return response