From 6b91b404999cf2c738bb0ac0e4b23c0b51f63526 Mon Sep 17 00:00:00 2001 From: hh-space-invader Date: Thu, 29 Aug 2024 07:53:29 +0300 Subject: [PATCH] chore: Regenerated grpc stubs --- qdrant_client/grpc/collections_pb2.py | 208 +-- qdrant_client/grpc/collections_pb2.pyi | 430 +++++- qdrant_client/grpc/points_pb2.py | 300 +++-- qdrant_client/grpc/points_pb2.pyi | 1156 ++++++++++++++--- qdrant_client/grpc/points_service_pb2.py | 4 +- qdrant_client/grpc/points_service_pb2_grpc.py | 35 + qdrant_client/proto/collections.proto | 8 +- qdrant_client/proto/points.proto | 19 +- qdrant_client/proto/points_service.proto | 4 + 9 files changed, 1732 insertions(+), 432 deletions(-) diff --git a/qdrant_client/grpc/collections_pb2.py b/qdrant_client/grpc/collections_pb2.py index bbc9e9b2d..9fe709596 100644 --- a/qdrant_client/grpc/collections_pb2.py +++ b/qdrant_client/grpc/collections_pb2.py @@ -15,7 +15,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x63ollections.proto\x12\x06qdrant\"\x83\x03\n\x0cVectorParams\x12\x0c\n\x04size\x18\x01 \x01(\x04\x12\"\n\x08\x64istance\x18\x02 \x01(\x0e\x32\x10.qdrant.Distance\x12\x30\n\x0bhnsw_config\x18\x03 \x01(\x0b\x32\x16.qdrant.HnswConfigDiffH\x00\x88\x01\x01\x12<\n\x13quantization_config\x18\x04 \x01(\x0b\x32\x1a.qdrant.QuantizationConfigH\x01\x88\x01\x01\x12\x14\n\x07on_disk\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\'\n\x08\x64\x61tatype\x18\x06 \x01(\x0e\x32\x10.qdrant.DatatypeH\x03\x88\x01\x01\x12:\n\x12multivector_config\x18\x07 \x01(\x0b\x32\x19.qdrant.MultiVectorConfigH\x04\x88\x01\x01\x42\x0e\n\x0c_hnsw_configB\x16\n\x14_quantization_configB\n\n\x08_on_diskB\x0b\n\t_datatypeB\x15\n\x13_multivector_config\"\xd0\x01\n\x10VectorParamsDiff\x12\x30\n\x0bhnsw_config\x18\x01 \x01(\x0b\x32\x16.qdrant.HnswConfigDiffH\x00\x88\x01\x01\x12@\n\x13quantization_config\x18\x02 \x01(\x0b\x32\x1e.qdrant.QuantizationConfigDiffH\x01\x88\x01\x01\x12\x14\n\x07on_disk\x18\x03 \x01(\x08H\x02\x88\x01\x01\x42\x0e\n\x0c_hnsw_configB\x16\n\x14_quantization_configB\n\n\x08_on_disk\"\x82\x01\n\x0fVectorParamsMap\x12-\n\x03map\x18\x01 \x03(\x0b\x32 .qdrant.VectorParamsMap.MapEntry\x1a@\n\x08MapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.qdrant.VectorParams:\x02\x38\x01\"\x8e\x01\n\x13VectorParamsDiffMap\x12\x31\n\x03map\x18\x01 \x03(\x0b\x32$.qdrant.VectorParamsDiffMap.MapEntry\x1a\x44\n\x08MapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.qdrant.VectorParamsDiff:\x02\x38\x01\"p\n\rVectorsConfig\x12&\n\x06params\x18\x01 \x01(\x0b\x32\x14.qdrant.VectorParamsH\x00\x12-\n\nparams_map\x18\x02 \x01(\x0b\x32\x17.qdrant.VectorParamsMapH\x00\x42\x08\n\x06\x63onfig\"|\n\x11VectorsConfigDiff\x12*\n\x06params\x18\x01 \x01(\x0b\x32\x18.qdrant.VectorParamsDiffH\x00\x12\x31\n\nparams_map\x18\x02 \x01(\x0b\x32\x1b.qdrant.VectorParamsDiffMapH\x00\x42\x08\n\x06\x63onfig\"\x83\x01\n\x12SparseVectorParams\x12-\n\x05index\x18\x01 \x01(\x0b\x32\x19.qdrant.SparseIndexConfigH\x00\x88\x01\x01\x12\'\n\x08modifier\x18\x02 \x01(\x0e\x32\x10.qdrant.ModifierH\x01\x88\x01\x01\x42\x08\n\x06_indexB\x0b\n\t_modifier\"\x8e\x01\n\x12SparseVectorConfig\x12\x30\n\x03map\x18\x01 \x03(\x0b\x32#.qdrant.SparseVectorConfig.MapEntry\x1a\x46\n\x08MapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.qdrant.SparseVectorParams:\x02\x38\x01\"F\n\x11MultiVectorConfig\x12\x31\n\ncomparator\x18\x01 \x01(\x0e\x32\x1d.qdrant.MultiVectorComparator\"3\n\x18GetCollectionInfoRequest\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\"2\n\x17\x43ollectionExistsRequest\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\"\"\n\x10\x43ollectionExists\x12\x0e\n\x06\x65xists\x18\x01 \x01(\x08\"R\n\x18\x43ollectionExistsResponse\x12(\n\x06result\x18\x01 \x01(\x0b\x32\x18.qdrant.CollectionExists\x12\x0c\n\x04time\x18\x02 \x01(\x01\"\x18\n\x16ListCollectionsRequest\"%\n\x15\x43ollectionDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\"Q\n\x19GetCollectionInfoResponse\x12&\n\x06result\x18\x01 \x01(\x0b\x32\x16.qdrant.CollectionInfo\x12\x0c\n\x04time\x18\x02 \x01(\x01\"[\n\x17ListCollectionsResponse\x12\x32\n\x0b\x63ollections\x18\x01 \x03(\x0b\x32\x1d.qdrant.CollectionDescription\x12\x0c\n\x04time\x18\x02 \x01(\x01\",\n\x0fOptimizerStatus\x12\n\n\x02ok\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x90\x02\n\x0eHnswConfigDiff\x12\x0e\n\x01m\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x19\n\x0c\x65\x66_construct\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12 \n\x13\x66ull_scan_threshold\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12!\n\x14max_indexing_threads\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x14\n\x07on_disk\x18\x05 \x01(\x08H\x04\x88\x01\x01\x12\x16\n\tpayload_m\x18\x06 \x01(\x04H\x05\x88\x01\x01\x42\x04\n\x02_mB\x0f\n\r_ef_constructB\x16\n\x14_full_scan_thresholdB\x17\n\x15_max_indexing_threadsB\n\n\x08_on_diskB\x0c\n\n_payload_m\"\xa5\x01\n\x11SparseIndexConfig\x12 \n\x13\x66ull_scan_threshold\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07on_disk\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\'\n\x08\x64\x61tatype\x18\x03 \x01(\x0e\x32\x10.qdrant.DatatypeH\x02\x88\x01\x01\x42\x16\n\x14_full_scan_thresholdB\n\n\x08_on_diskB\x0b\n\t_datatype\"y\n\rWalConfigDiff\x12\x1c\n\x0fwal_capacity_mb\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x1f\n\x12wal_segments_ahead\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\x12\n\x10_wal_capacity_mbB\x15\n\x13_wal_segments_ahead\"\xec\x03\n\x14OptimizersConfigDiff\x12\x1e\n\x11\x64\x65leted_threshold\x18\x01 \x01(\x01H\x00\x88\x01\x01\x12%\n\x18vacuum_min_vector_number\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12#\n\x16\x64\x65\x66\x61ult_segment_number\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x1d\n\x10max_segment_size\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x1d\n\x10memmap_threshold\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x1f\n\x12indexing_threshold\x18\x06 \x01(\x04H\x05\x88\x01\x01\x12\x1f\n\x12\x66lush_interval_sec\x18\x07 \x01(\x04H\x06\x88\x01\x01\x12%\n\x18max_optimization_threads\x18\x08 \x01(\x04H\x07\x88\x01\x01\x42\x14\n\x12_deleted_thresholdB\x1b\n\x19_vacuum_min_vector_numberB\x19\n\x17_default_segment_numberB\x13\n\x11_max_segment_sizeB\x13\n\x11_memmap_thresholdB\x15\n\x13_indexing_thresholdB\x15\n\x13_flush_interval_secB\x1b\n\x19_max_optimization_threads\"\x88\x01\n\x12ScalarQuantization\x12&\n\x04type\x18\x01 \x01(\x0e\x32\x18.qdrant.QuantizationType\x12\x15\n\x08quantile\x18\x02 \x01(\x02H\x00\x88\x01\x01\x12\x17\n\nalways_ram\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_quantileB\r\n\x0b_always_ram\"l\n\x13ProductQuantization\x12-\n\x0b\x63ompression\x18\x01 \x01(\x0e\x32\x18.qdrant.CompressionRatio\x12\x17\n\nalways_ram\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_always_ram\"<\n\x12\x42inaryQuantization\x12\x17\n\nalways_ram\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_always_ram\"\xb0\x01\n\x12QuantizationConfig\x12,\n\x06scalar\x18\x01 \x01(\x0b\x32\x1a.qdrant.ScalarQuantizationH\x00\x12.\n\x07product\x18\x02 \x01(\x0b\x32\x1b.qdrant.ProductQuantizationH\x00\x12,\n\x06\x62inary\x18\x03 \x01(\x0b\x32\x1a.qdrant.BinaryQuantizationH\x00\x42\x0e\n\x0cquantization\"\n\n\x08\x44isabled\"\xda\x01\n\x16QuantizationConfigDiff\x12,\n\x06scalar\x18\x01 \x01(\x0b\x32\x1a.qdrant.ScalarQuantizationH\x00\x12.\n\x07product\x18\x02 \x01(\x0b\x32\x1b.qdrant.ProductQuantizationH\x00\x12$\n\x08\x64isabled\x18\x03 \x01(\x0b\x32\x10.qdrant.DisabledH\x00\x12,\n\x06\x62inary\x18\x04 \x01(\x0b\x32\x1a.qdrant.BinaryQuantizationH\x00\x42\x0e\n\x0cquantization\"\x85\x07\n\x10\x43reateCollection\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x30\n\x0bhnsw_config\x18\x04 \x01(\x0b\x32\x16.qdrant.HnswConfigDiffH\x00\x88\x01\x01\x12.\n\nwal_config\x18\x05 \x01(\x0b\x32\x15.qdrant.WalConfigDiffH\x01\x88\x01\x01\x12<\n\x11optimizers_config\x18\x06 \x01(\x0b\x32\x1c.qdrant.OptimizersConfigDiffH\x02\x88\x01\x01\x12\x19\n\x0cshard_number\x18\x07 \x01(\rH\x03\x88\x01\x01\x12\x1c\n\x0fon_disk_payload\x18\x08 \x01(\x08H\x04\x88\x01\x01\x12\x14\n\x07timeout\x18\t \x01(\x04H\x05\x88\x01\x01\x12\x32\n\x0evectors_config\x18\n \x01(\x0b\x32\x15.qdrant.VectorsConfigH\x06\x88\x01\x01\x12\x1f\n\x12replication_factor\x18\x0b \x01(\rH\x07\x88\x01\x01\x12%\n\x18write_consistency_factor\x18\x0c \x01(\rH\x08\x88\x01\x01\x12!\n\x14init_from_collection\x18\r \x01(\tH\t\x88\x01\x01\x12<\n\x13quantization_config\x18\x0e \x01(\x0b\x32\x1a.qdrant.QuantizationConfigH\n\x88\x01\x01\x12\x34\n\x0fsharding_method\x18\x0f \x01(\x0e\x32\x16.qdrant.ShardingMethodH\x0b\x88\x01\x01\x12>\n\x15sparse_vectors_config\x18\x10 \x01(\x0b\x32\x1a.qdrant.SparseVectorConfigH\x0c\x88\x01\x01\x42\x0e\n\x0c_hnsw_configB\r\n\x0b_wal_configB\x14\n\x12_optimizers_configB\x0f\n\r_shard_numberB\x12\n\x10_on_disk_payloadB\n\n\x08_timeoutB\x11\n\x0f_vectors_configB\x15\n\x13_replication_factorB\x1b\n\x19_write_consistency_factorB\x17\n\x15_init_from_collectionB\x16\n\x14_quantization_configB\x12\n\x10_sharding_methodB\x18\n\x16_sparse_vectors_configJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\"\xa0\x04\n\x10UpdateCollection\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12<\n\x11optimizers_config\x18\x02 \x01(\x0b\x32\x1c.qdrant.OptimizersConfigDiffH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x31\n\x06params\x18\x04 \x01(\x0b\x32\x1c.qdrant.CollectionParamsDiffH\x02\x88\x01\x01\x12\x30\n\x0bhnsw_config\x18\x05 \x01(\x0b\x32\x16.qdrant.HnswConfigDiffH\x03\x88\x01\x01\x12\x36\n\x0evectors_config\x18\x06 \x01(\x0b\x32\x19.qdrant.VectorsConfigDiffH\x04\x88\x01\x01\x12@\n\x13quantization_config\x18\x07 \x01(\x0b\x32\x1e.qdrant.QuantizationConfigDiffH\x05\x88\x01\x01\x12>\n\x15sparse_vectors_config\x18\x08 \x01(\x0b\x32\x1a.qdrant.SparseVectorConfigH\x06\x88\x01\x01\x42\x14\n\x12_optimizers_configB\n\n\x08_timeoutB\t\n\x07_paramsB\x0e\n\x0c_hnsw_configB\x11\n\x0f_vectors_configB\x16\n\x14_quantization_configB\x18\n\x16_sparse_vectors_config\"M\n\x10\x44\x65leteCollection\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x14\n\x07timeout\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_timeout\";\n\x1b\x43ollectionOperationResponse\x12\x0e\n\x06result\x18\x01 \x01(\x08\x12\x0c\n\x04time\x18\x02 \x01(\x01\"\xee\x03\n\x10\x43ollectionParams\x12\x14\n\x0cshard_number\x18\x03 \x01(\r\x12\x17\n\x0fon_disk_payload\x18\x04 \x01(\x08\x12\x32\n\x0evectors_config\x18\x05 \x01(\x0b\x32\x15.qdrant.VectorsConfigH\x00\x88\x01\x01\x12\x1f\n\x12replication_factor\x18\x06 \x01(\rH\x01\x88\x01\x01\x12%\n\x18write_consistency_factor\x18\x07 \x01(\rH\x02\x88\x01\x01\x12 \n\x13read_fan_out_factor\x18\x08 \x01(\rH\x03\x88\x01\x01\x12\x34\n\x0fsharding_method\x18\t \x01(\x0e\x32\x16.qdrant.ShardingMethodH\x04\x88\x01\x01\x12>\n\x15sparse_vectors_config\x18\n \x01(\x0b\x32\x1a.qdrant.SparseVectorConfigH\x05\x88\x01\x01\x42\x11\n\x0f_vectors_configB\x15\n\x13_replication_factorB\x1b\n\x19_write_consistency_factorB\x16\n\x14_read_fan_out_factorB\x12\n\x10_sharding_methodB\x18\n\x16_sparse_vectors_configJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\"\xfe\x01\n\x14\x43ollectionParamsDiff\x12\x1f\n\x12replication_factor\x18\x01 \x01(\rH\x00\x88\x01\x01\x12%\n\x18write_consistency_factor\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x0fon_disk_payload\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12 \n\x13read_fan_out_factor\x18\x04 \x01(\rH\x03\x88\x01\x01\x42\x15\n\x13_replication_factorB\x1b\n\x19_write_consistency_factorB\x12\n\x10_on_disk_payloadB\x16\n\x14_read_fan_out_factor\"\xa2\x02\n\x10\x43ollectionConfig\x12(\n\x06params\x18\x01 \x01(\x0b\x32\x18.qdrant.CollectionParams\x12+\n\x0bhnsw_config\x18\x02 \x01(\x0b\x32\x16.qdrant.HnswConfigDiff\x12\x36\n\x10optimizer_config\x18\x03 \x01(\x0b\x32\x1c.qdrant.OptimizersConfigDiff\x12)\n\nwal_config\x18\x04 \x01(\x0b\x32\x15.qdrant.WalConfigDiff\x12<\n\x13quantization_config\x18\x05 \x01(\x0b\x32\x1a.qdrant.QuantizationConfigH\x00\x88\x01\x01\x42\x16\n\x14_quantization_config\"\\\n\x12KeywordIndexParams\x12\x16\n\tis_tenant\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07on_disk\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x0c\n\n_is_tenantB\n\n\x08_on_disk\"\x81\x01\n\x12IntegerIndexParams\x12\x0e\n\x06lookup\x18\x01 \x01(\x08\x12\r\n\x05range\x18\x02 \x01(\x08\x12\x19\n\x0cis_principal\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07on_disk\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x0f\n\r_is_principalB\n\n\x08_on_disk\"`\n\x10\x46loatIndexParams\x12\x14\n\x07on_disk\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x19\n\x0cis_principal\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\n\n\x08_on_diskB\x0f\n\r_is_principal\"\x10\n\x0eGeoIndexParams\"\xbd\x01\n\x0fTextIndexParams\x12(\n\ttokenizer\x18\x01 \x01(\x0e\x32\x15.qdrant.TokenizerType\x12\x16\n\tlowercase\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1a\n\rmin_token_len\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x1a\n\rmax_token_len\x18\x04 \x01(\x04H\x02\x88\x01\x01\x42\x0c\n\n_lowercaseB\x10\n\x0e_min_token_lenB\x10\n\x0e_max_token_len\"\x11\n\x0f\x42oolIndexParams\"c\n\x13\x44\x61tetimeIndexParams\x12\x14\n\x07on_disk\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x19\n\x0cis_principal\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\n\n\x08_on_diskB\x0f\n\r_is_principal\"Y\n\x0fUuidIndexParams\x12\x16\n\tis_tenant\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07on_disk\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0c\n\n_is_tenantB\n\n\x08_on_disk\"\xe8\x03\n\x12PayloadIndexParams\x12:\n\x14keyword_index_params\x18\x03 \x01(\x0b\x32\x1a.qdrant.KeywordIndexParamsH\x00\x12:\n\x14integer_index_params\x18\x02 \x01(\x0b\x32\x1a.qdrant.IntegerIndexParamsH\x00\x12\x36\n\x12\x66loat_index_params\x18\x04 \x01(\x0b\x32\x18.qdrant.FloatIndexParamsH\x00\x12\x32\n\x10geo_index_params\x18\x05 \x01(\x0b\x32\x16.qdrant.GeoIndexParamsH\x00\x12\x34\n\x11text_index_params\x18\x01 \x01(\x0b\x32\x17.qdrant.TextIndexParamsH\x00\x12\x34\n\x11\x62ool_index_params\x18\x06 \x01(\x0b\x32\x17.qdrant.BoolIndexParamsH\x00\x12<\n\x15\x64\x61tetime_index_params\x18\x07 \x01(\x0b\x32\x1b.qdrant.DatetimeIndexParamsH\x00\x12\x34\n\x11uuid_index_params\x18\x08 \x01(\x0b\x32\x17.qdrant.UuidIndexParamsH\x00\x42\x0e\n\x0cindex_params\"\x9d\x01\n\x11PayloadSchemaInfo\x12,\n\tdata_type\x18\x01 \x01(\x0e\x32\x19.qdrant.PayloadSchemaType\x12/\n\x06params\x18\x02 \x01(\x0b\x32\x1a.qdrant.PayloadIndexParamsH\x00\x88\x01\x01\x12\x13\n\x06points\x18\x03 \x01(\x04H\x01\x88\x01\x01\x42\t\n\x07_paramsB\t\n\x07_points\"\xe7\x03\n\x0e\x43ollectionInfo\x12(\n\x06status\x18\x01 \x01(\x0e\x32\x18.qdrant.CollectionStatus\x12\x31\n\x10optimizer_status\x18\x02 \x01(\x0b\x32\x17.qdrant.OptimizerStatus\x12\x1a\n\rvectors_count\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x16\n\x0esegments_count\x18\x04 \x01(\x04\x12(\n\x06\x63onfig\x18\x07 \x01(\x0b\x32\x18.qdrant.CollectionConfig\x12\x41\n\x0epayload_schema\x18\x08 \x03(\x0b\x32).qdrant.CollectionInfo.PayloadSchemaEntry\x12\x19\n\x0cpoints_count\x18\t \x01(\x04H\x01\x88\x01\x01\x12\"\n\x15indexed_vectors_count\x18\n \x01(\x04H\x02\x88\x01\x01\x1aO\n\x12PayloadSchemaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.qdrant.PayloadSchemaInfo:\x02\x38\x01\x42\x10\n\x0e_vectors_countB\x0f\n\r_points_countB\x18\n\x16_indexed_vectors_countJ\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07\"[\n\rChangeAliases\x12(\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x17.qdrant.AliasOperations\x12\x14\n\x07timeout\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_timeout\"\xa2\x01\n\x0f\x41liasOperations\x12+\n\x0c\x63reate_alias\x18\x01 \x01(\x0b\x32\x13.qdrant.CreateAliasH\x00\x12+\n\x0crename_alias\x18\x02 \x01(\x0b\x32\x13.qdrant.RenameAliasH\x00\x12+\n\x0c\x64\x65lete_alias\x18\x03 \x01(\x0b\x32\x13.qdrant.DeleteAliasH\x00\x42\x08\n\x06\x61\x63tion\":\n\x0b\x43reateAlias\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x12\n\nalias_name\x18\x02 \x01(\t\"=\n\x0bRenameAlias\x12\x16\n\x0eold_alias_name\x18\x01 \x01(\t\x12\x16\n\x0enew_alias_name\x18\x02 \x01(\t\"!\n\x0b\x44\x65leteAlias\x12\x12\n\nalias_name\x18\x01 \x01(\t\"\x14\n\x12ListAliasesRequest\"7\n\x1cListCollectionAliasesRequest\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\"?\n\x10\x41liasDescription\x12\x12\n\nalias_name\x18\x01 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x02 \x01(\t\"N\n\x13ListAliasesResponse\x12)\n\x07\x61liases\x18\x01 \x03(\x0b\x32\x18.qdrant.AliasDescription\x12\x0c\n\x04time\x18\x02 \x01(\x01\"7\n\x1c\x43ollectionClusterInfoRequest\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\"6\n\x08ShardKey\x12\x11\n\x07keyword\x18\x01 \x01(\tH\x00\x12\x10\n\x06number\x18\x02 \x01(\x04H\x00\x42\x05\n\x03key\"\x95\x01\n\x0eLocalShardInfo\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x14\n\x0cpoints_count\x18\x02 \x01(\x04\x12#\n\x05state\x18\x03 \x01(\x0e\x32\x14.qdrant.ReplicaState\x12(\n\tshard_key\x18\x04 \x01(\x0b\x32\x10.qdrant.ShardKeyH\x00\x88\x01\x01\x42\x0c\n\n_shard_key\"\x91\x01\n\x0fRemoteShardInfo\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x0f\n\x07peer_id\x18\x02 \x01(\x04\x12#\n\x05state\x18\x03 \x01(\x0e\x32\x14.qdrant.ReplicaState\x12(\n\tshard_key\x18\x04 \x01(\x0b\x32\x10.qdrant.ShardKeyH\x00\x88\x01\x01\x42\x0c\n\n_shard_key\"w\n\x11ShardTransferInfo\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x18\n\x0bto_shard_id\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x0c\n\x04\x66rom\x18\x02 \x01(\x04\x12\n\n\x02to\x18\x03 \x01(\x04\x12\x0c\n\x04sync\x18\x04 \x01(\x08\x42\x0e\n\x0c_to_shard_id\"k\n\x0eReshardingInfo\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x0f\n\x07peer_id\x18\x02 \x01(\x04\x12(\n\tshard_key\x18\x03 \x01(\x0b\x32\x10.qdrant.ShardKeyH\x00\x88\x01\x01\x42\x0c\n\n_shard_key\"\xd7\x01\n\x1d\x43ollectionClusterInfoResponse\x12\x0f\n\x07peer_id\x18\x01 \x01(\x04\x12\x13\n\x0bshard_count\x18\x02 \x01(\x04\x12,\n\x0clocal_shards\x18\x03 \x03(\x0b\x32\x16.qdrant.LocalShardInfo\x12.\n\rremote_shards\x18\x04 \x03(\x0b\x32\x17.qdrant.RemoteShardInfo\x12\x32\n\x0fshard_transfers\x18\x05 \x03(\x0b\x32\x19.qdrant.ShardTransferInfo\"\xae\x01\n\tMoveShard\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x18\n\x0bto_shard_id\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x0c\x66rom_peer_id\x18\x02 \x01(\x04\x12\x12\n\nto_peer_id\x18\x03 \x01(\x04\x12\x30\n\x06method\x18\x04 \x01(\x0e\x32\x1b.qdrant.ShardTransferMethodH\x01\x88\x01\x01\x42\x0e\n\x0c_to_shard_idB\t\n\x07_method\"\xb3\x01\n\x0eReplicateShard\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x18\n\x0bto_shard_id\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x0c\x66rom_peer_id\x18\x02 \x01(\x04\x12\x12\n\nto_peer_id\x18\x03 \x01(\x04\x12\x30\n\x06method\x18\x04 \x01(\x0e\x32\x1b.qdrant.ShardTransferMethodH\x01\x88\x01\x01\x42\x0e\n\x0c_to_shard_idB\t\n\x07_method\"z\n\x12\x41\x62ortShardTransfer\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x18\n\x0bto_shard_id\x18\x04 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x0c\x66rom_peer_id\x18\x02 \x01(\x04\x12\x12\n\nto_peer_id\x18\x03 \x01(\x04\x42\x0e\n\x0c_to_shard_id\"\xa4\x01\n\x0fRestartTransfer\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x18\n\x0bto_shard_id\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x0c\x66rom_peer_id\x18\x02 \x01(\x04\x12\x12\n\nto_peer_id\x18\x03 \x01(\x04\x12+\n\x06method\x18\x04 \x01(\x0e\x32\x1b.qdrant.ShardTransferMethodB\x0e\n\x0c_to_shard_id\",\n\x07Replica\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x0f\n\x07peer_id\x18\x02 \x01(\x04\"\xae\x01\n\x0e\x43reateShardKey\x12#\n\tshard_key\x18\x01 \x01(\x0b\x32\x10.qdrant.ShardKey\x12\x1a\n\rshards_number\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x1f\n\x12replication_factor\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x11\n\tplacement\x18\x04 \x03(\x04\x42\x10\n\x0e_shards_numberB\x15\n\x13_replication_factor\"5\n\x0e\x44\x65leteShardKey\x12#\n\tshard_key\x18\x01 \x01(\x0b\x32\x10.qdrant.ShardKey\"\xc5\x03\n#UpdateCollectionClusterSetupRequest\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\'\n\nmove_shard\x18\x02 \x01(\x0b\x32\x11.qdrant.MoveShardH\x00\x12\x31\n\x0freplicate_shard\x18\x03 \x01(\x0b\x32\x16.qdrant.ReplicateShardH\x00\x12\x34\n\x0e\x61\x62ort_transfer\x18\x04 \x01(\x0b\x32\x1a.qdrant.AbortShardTransferH\x00\x12\'\n\x0c\x64rop_replica\x18\x05 \x01(\x0b\x32\x0f.qdrant.ReplicaH\x00\x12\x32\n\x10\x63reate_shard_key\x18\x07 \x01(\x0b\x32\x16.qdrant.CreateShardKeyH\x00\x12\x32\n\x10\x64\x65lete_shard_key\x18\x08 \x01(\x0b\x32\x16.qdrant.DeleteShardKeyH\x00\x12\x33\n\x10restart_transfer\x18\t \x01(\x0b\x32\x17.qdrant.RestartTransferH\x00\x12\x14\n\x07timeout\x18\x06 \x01(\x04H\x01\x88\x01\x01\x42\x0b\n\toperationB\n\n\x08_timeout\"6\n$UpdateCollectionClusterSetupResponse\x12\x0e\n\x06result\x18\x01 \x01(\x08\"{\n\x15\x43reateShardKeyRequest\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\'\n\x07request\x18\x02 \x01(\x0b\x32\x16.qdrant.CreateShardKey\x12\x14\n\x07timeout\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_timeout\"{\n\x15\x44\x65leteShardKeyRequest\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\'\n\x07request\x18\x02 \x01(\x0b\x32\x16.qdrant.DeleteShardKey\x12\x14\n\x07timeout\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_timeout\"(\n\x16\x43reateShardKeyResponse\x12\x0e\n\x06result\x18\x01 \x01(\x08\"(\n\x16\x44\x65leteShardKeyResponse\x12\x0e\n\x06result\x18\x01 \x01(\x08*<\n\x08\x44\x61tatype\x12\x0b\n\x07\x44\x65\x66\x61ult\x10\x00\x12\x0b\n\x07\x46loat32\x10\x01\x12\t\n\x05Uint8\x10\x02\x12\x0b\n\x07\x46loat16\x10\x03*\x1d\n\x08Modifier\x12\x08\n\x04None\x10\x00\x12\x07\n\x03Idf\x10\x01*#\n\x15MultiVectorComparator\x12\n\n\x06MaxSim\x10\x00*O\n\x08\x44istance\x12\x13\n\x0fUnknownDistance\x10\x00\x12\n\n\x06\x43osine\x10\x01\x12\n\n\x06\x45uclid\x10\x02\x12\x07\n\x03\x44ot\x10\x03\x12\r\n\tManhattan\x10\x04*Y\n\x10\x43ollectionStatus\x12\x1b\n\x17UnknownCollectionStatus\x10\x00\x12\t\n\x05Green\x10\x01\x12\n\n\x06Yellow\x10\x02\x12\x07\n\x03Red\x10\x03\x12\x08\n\x04Grey\x10\x04*~\n\x11PayloadSchemaType\x12\x0f\n\x0bUnknownType\x10\x00\x12\x0b\n\x07Keyword\x10\x01\x12\x0b\n\x07Integer\x10\x02\x12\t\n\x05\x46loat\x10\x03\x12\x07\n\x03Geo\x10\x04\x12\x08\n\x04Text\x10\x05\x12\x08\n\x04\x42ool\x10\x06\x12\x0c\n\x08\x44\x61tetime\x10\x07\x12\x08\n\x04Uuid\x10\x08*5\n\x10QuantizationType\x12\x17\n\x13UnknownQuantization\x10\x00\x12\x08\n\x04Int8\x10\x01*=\n\x10\x43ompressionRatio\x12\x06\n\x02x4\x10\x00\x12\x06\n\x02x8\x10\x01\x12\x07\n\x03x16\x10\x02\x12\x07\n\x03x32\x10\x03\x12\x07\n\x03x64\x10\x04*&\n\x0eShardingMethod\x12\x08\n\x04\x41uto\x10\x00\x12\n\n\x06\x43ustom\x10\x01*T\n\rTokenizerType\x12\x0b\n\x07Unknown\x10\x00\x12\n\n\x06Prefix\x10\x01\x12\x0e\n\nWhitespace\x10\x02\x12\x08\n\x04Word\x10\x03\x12\x10\n\x0cMultilingual\x10\x04*\x84\x01\n\x0cReplicaState\x12\n\n\x06\x41\x63tive\x10\x00\x12\x08\n\x04\x44\x65\x61\x64\x10\x01\x12\x0b\n\x07Partial\x10\x02\x12\x10\n\x0cInitializing\x10\x03\x12\x0c\n\x08Listener\x10\x04\x12\x13\n\x0fPartialSnapshot\x10\x05\x12\x0c\n\x08Recovery\x10\x06\x12\x0e\n\nResharding\x10\x07*a\n\x13ShardTransferMethod\x12\x11\n\rStreamRecords\x10\x00\x12\x0c\n\x08Snapshot\x10\x01\x12\x0c\n\x08WalDelta\x10\x02\x12\x1b\n\x17ReshardingStreamRecords\x10\x03\x42\x15\xaa\x02\x12Qdrant.Client.Grpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x63ollections.proto\x12\x06qdrant\"\x83\x03\n\x0cVectorParams\x12\x0c\n\x04size\x18\x01 \x01(\x04\x12\"\n\x08\x64istance\x18\x02 \x01(\x0e\x32\x10.qdrant.Distance\x12\x30\n\x0bhnsw_config\x18\x03 \x01(\x0b\x32\x16.qdrant.HnswConfigDiffH\x00\x88\x01\x01\x12<\n\x13quantization_config\x18\x04 \x01(\x0b\x32\x1a.qdrant.QuantizationConfigH\x01\x88\x01\x01\x12\x14\n\x07on_disk\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\'\n\x08\x64\x61tatype\x18\x06 \x01(\x0e\x32\x10.qdrant.DatatypeH\x03\x88\x01\x01\x12:\n\x12multivector_config\x18\x07 \x01(\x0b\x32\x19.qdrant.MultiVectorConfigH\x04\x88\x01\x01\x42\x0e\n\x0c_hnsw_configB\x16\n\x14_quantization_configB\n\n\x08_on_diskB\x0b\n\t_datatypeB\x15\n\x13_multivector_config\"\xd0\x01\n\x10VectorParamsDiff\x12\x30\n\x0bhnsw_config\x18\x01 \x01(\x0b\x32\x16.qdrant.HnswConfigDiffH\x00\x88\x01\x01\x12@\n\x13quantization_config\x18\x02 \x01(\x0b\x32\x1e.qdrant.QuantizationConfigDiffH\x01\x88\x01\x01\x12\x14\n\x07on_disk\x18\x03 \x01(\x08H\x02\x88\x01\x01\x42\x0e\n\x0c_hnsw_configB\x16\n\x14_quantization_configB\n\n\x08_on_disk\"\x82\x01\n\x0fVectorParamsMap\x12-\n\x03map\x18\x01 \x03(\x0b\x32 .qdrant.VectorParamsMap.MapEntry\x1a@\n\x08MapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.qdrant.VectorParams:\x02\x38\x01\"\x8e\x01\n\x13VectorParamsDiffMap\x12\x31\n\x03map\x18\x01 \x03(\x0b\x32$.qdrant.VectorParamsDiffMap.MapEntry\x1a\x44\n\x08MapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.qdrant.VectorParamsDiff:\x02\x38\x01\"p\n\rVectorsConfig\x12&\n\x06params\x18\x01 \x01(\x0b\x32\x14.qdrant.VectorParamsH\x00\x12-\n\nparams_map\x18\x02 \x01(\x0b\x32\x17.qdrant.VectorParamsMapH\x00\x42\x08\n\x06\x63onfig\"|\n\x11VectorsConfigDiff\x12*\n\x06params\x18\x01 \x01(\x0b\x32\x18.qdrant.VectorParamsDiffH\x00\x12\x31\n\nparams_map\x18\x02 \x01(\x0b\x32\x1b.qdrant.VectorParamsDiffMapH\x00\x42\x08\n\x06\x63onfig\"\x83\x01\n\x12SparseVectorParams\x12-\n\x05index\x18\x01 \x01(\x0b\x32\x19.qdrant.SparseIndexConfigH\x00\x88\x01\x01\x12\'\n\x08modifier\x18\x02 \x01(\x0e\x32\x10.qdrant.ModifierH\x01\x88\x01\x01\x42\x08\n\x06_indexB\x0b\n\t_modifier\"\x8e\x01\n\x12SparseVectorConfig\x12\x30\n\x03map\x18\x01 \x03(\x0b\x32#.qdrant.SparseVectorConfig.MapEntry\x1a\x46\n\x08MapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.qdrant.SparseVectorParams:\x02\x38\x01\"F\n\x11MultiVectorConfig\x12\x31\n\ncomparator\x18\x01 \x01(\x0e\x32\x1d.qdrant.MultiVectorComparator\"3\n\x18GetCollectionInfoRequest\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\"2\n\x17\x43ollectionExistsRequest\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\"\"\n\x10\x43ollectionExists\x12\x0e\n\x06\x65xists\x18\x01 \x01(\x08\"R\n\x18\x43ollectionExistsResponse\x12(\n\x06result\x18\x01 \x01(\x0b\x32\x18.qdrant.CollectionExists\x12\x0c\n\x04time\x18\x02 \x01(\x01\"\x18\n\x16ListCollectionsRequest\"%\n\x15\x43ollectionDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\"Q\n\x19GetCollectionInfoResponse\x12&\n\x06result\x18\x01 \x01(\x0b\x32\x16.qdrant.CollectionInfo\x12\x0c\n\x04time\x18\x02 \x01(\x01\"[\n\x17ListCollectionsResponse\x12\x32\n\x0b\x63ollections\x18\x01 \x03(\x0b\x32\x1d.qdrant.CollectionDescription\x12\x0c\n\x04time\x18\x02 \x01(\x01\",\n\x0fOptimizerStatus\x12\n\n\x02ok\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x90\x02\n\x0eHnswConfigDiff\x12\x0e\n\x01m\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x19\n\x0c\x65\x66_construct\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12 \n\x13\x66ull_scan_threshold\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12!\n\x14max_indexing_threads\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x14\n\x07on_disk\x18\x05 \x01(\x08H\x04\x88\x01\x01\x12\x16\n\tpayload_m\x18\x06 \x01(\x04H\x05\x88\x01\x01\x42\x04\n\x02_mB\x0f\n\r_ef_constructB\x16\n\x14_full_scan_thresholdB\x17\n\x15_max_indexing_threadsB\n\n\x08_on_diskB\x0c\n\n_payload_m\"\xa5\x01\n\x11SparseIndexConfig\x12 \n\x13\x66ull_scan_threshold\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07on_disk\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\'\n\x08\x64\x61tatype\x18\x03 \x01(\x0e\x32\x10.qdrant.DatatypeH\x02\x88\x01\x01\x42\x16\n\x14_full_scan_thresholdB\n\n\x08_on_diskB\x0b\n\t_datatype\"y\n\rWalConfigDiff\x12\x1c\n\x0fwal_capacity_mb\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x1f\n\x12wal_segments_ahead\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\x12\n\x10_wal_capacity_mbB\x15\n\x13_wal_segments_ahead\"\xec\x03\n\x14OptimizersConfigDiff\x12\x1e\n\x11\x64\x65leted_threshold\x18\x01 \x01(\x01H\x00\x88\x01\x01\x12%\n\x18vacuum_min_vector_number\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12#\n\x16\x64\x65\x66\x61ult_segment_number\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x1d\n\x10max_segment_size\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x1d\n\x10memmap_threshold\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x1f\n\x12indexing_threshold\x18\x06 \x01(\x04H\x05\x88\x01\x01\x12\x1f\n\x12\x66lush_interval_sec\x18\x07 \x01(\x04H\x06\x88\x01\x01\x12%\n\x18max_optimization_threads\x18\x08 \x01(\x04H\x07\x88\x01\x01\x42\x14\n\x12_deleted_thresholdB\x1b\n\x19_vacuum_min_vector_numberB\x19\n\x17_default_segment_numberB\x13\n\x11_max_segment_sizeB\x13\n\x11_memmap_thresholdB\x15\n\x13_indexing_thresholdB\x15\n\x13_flush_interval_secB\x1b\n\x19_max_optimization_threads\"\x88\x01\n\x12ScalarQuantization\x12&\n\x04type\x18\x01 \x01(\x0e\x32\x18.qdrant.QuantizationType\x12\x15\n\x08quantile\x18\x02 \x01(\x02H\x00\x88\x01\x01\x12\x17\n\nalways_ram\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_quantileB\r\n\x0b_always_ram\"l\n\x13ProductQuantization\x12-\n\x0b\x63ompression\x18\x01 \x01(\x0e\x32\x18.qdrant.CompressionRatio\x12\x17\n\nalways_ram\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_always_ram\"<\n\x12\x42inaryQuantization\x12\x17\n\nalways_ram\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_always_ram\"\xb0\x01\n\x12QuantizationConfig\x12,\n\x06scalar\x18\x01 \x01(\x0b\x32\x1a.qdrant.ScalarQuantizationH\x00\x12.\n\x07product\x18\x02 \x01(\x0b\x32\x1b.qdrant.ProductQuantizationH\x00\x12,\n\x06\x62inary\x18\x03 \x01(\x0b\x32\x1a.qdrant.BinaryQuantizationH\x00\x42\x0e\n\x0cquantization\"\n\n\x08\x44isabled\"\xda\x01\n\x16QuantizationConfigDiff\x12,\n\x06scalar\x18\x01 \x01(\x0b\x32\x1a.qdrant.ScalarQuantizationH\x00\x12.\n\x07product\x18\x02 \x01(\x0b\x32\x1b.qdrant.ProductQuantizationH\x00\x12$\n\x08\x64isabled\x18\x03 \x01(\x0b\x32\x10.qdrant.DisabledH\x00\x12,\n\x06\x62inary\x18\x04 \x01(\x0b\x32\x1a.qdrant.BinaryQuantizationH\x00\x42\x0e\n\x0cquantization\"\x85\x07\n\x10\x43reateCollection\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x30\n\x0bhnsw_config\x18\x04 \x01(\x0b\x32\x16.qdrant.HnswConfigDiffH\x00\x88\x01\x01\x12.\n\nwal_config\x18\x05 \x01(\x0b\x32\x15.qdrant.WalConfigDiffH\x01\x88\x01\x01\x12<\n\x11optimizers_config\x18\x06 \x01(\x0b\x32\x1c.qdrant.OptimizersConfigDiffH\x02\x88\x01\x01\x12\x19\n\x0cshard_number\x18\x07 \x01(\rH\x03\x88\x01\x01\x12\x1c\n\x0fon_disk_payload\x18\x08 \x01(\x08H\x04\x88\x01\x01\x12\x14\n\x07timeout\x18\t \x01(\x04H\x05\x88\x01\x01\x12\x32\n\x0evectors_config\x18\n \x01(\x0b\x32\x15.qdrant.VectorsConfigH\x06\x88\x01\x01\x12\x1f\n\x12replication_factor\x18\x0b \x01(\rH\x07\x88\x01\x01\x12%\n\x18write_consistency_factor\x18\x0c \x01(\rH\x08\x88\x01\x01\x12!\n\x14init_from_collection\x18\r \x01(\tH\t\x88\x01\x01\x12<\n\x13quantization_config\x18\x0e \x01(\x0b\x32\x1a.qdrant.QuantizationConfigH\n\x88\x01\x01\x12\x34\n\x0fsharding_method\x18\x0f \x01(\x0e\x32\x16.qdrant.ShardingMethodH\x0b\x88\x01\x01\x12>\n\x15sparse_vectors_config\x18\x10 \x01(\x0b\x32\x1a.qdrant.SparseVectorConfigH\x0c\x88\x01\x01\x42\x0e\n\x0c_hnsw_configB\r\n\x0b_wal_configB\x14\n\x12_optimizers_configB\x0f\n\r_shard_numberB\x12\n\x10_on_disk_payloadB\n\n\x08_timeoutB\x11\n\x0f_vectors_configB\x15\n\x13_replication_factorB\x1b\n\x19_write_consistency_factorB\x17\n\x15_init_from_collectionB\x16\n\x14_quantization_configB\x12\n\x10_sharding_methodB\x18\n\x16_sparse_vectors_configJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\"\xa0\x04\n\x10UpdateCollection\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12<\n\x11optimizers_config\x18\x02 \x01(\x0b\x32\x1c.qdrant.OptimizersConfigDiffH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x31\n\x06params\x18\x04 \x01(\x0b\x32\x1c.qdrant.CollectionParamsDiffH\x02\x88\x01\x01\x12\x30\n\x0bhnsw_config\x18\x05 \x01(\x0b\x32\x16.qdrant.HnswConfigDiffH\x03\x88\x01\x01\x12\x36\n\x0evectors_config\x18\x06 \x01(\x0b\x32\x19.qdrant.VectorsConfigDiffH\x04\x88\x01\x01\x12@\n\x13quantization_config\x18\x07 \x01(\x0b\x32\x1e.qdrant.QuantizationConfigDiffH\x05\x88\x01\x01\x12>\n\x15sparse_vectors_config\x18\x08 \x01(\x0b\x32\x1a.qdrant.SparseVectorConfigH\x06\x88\x01\x01\x42\x14\n\x12_optimizers_configB\n\n\x08_timeoutB\t\n\x07_paramsB\x0e\n\x0c_hnsw_configB\x11\n\x0f_vectors_configB\x16\n\x14_quantization_configB\x18\n\x16_sparse_vectors_config\"M\n\x10\x44\x65leteCollection\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x14\n\x07timeout\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_timeout\";\n\x1b\x43ollectionOperationResponse\x12\x0e\n\x06result\x18\x01 \x01(\x08\x12\x0c\n\x04time\x18\x02 \x01(\x01\"\xee\x03\n\x10\x43ollectionParams\x12\x14\n\x0cshard_number\x18\x03 \x01(\r\x12\x17\n\x0fon_disk_payload\x18\x04 \x01(\x08\x12\x32\n\x0evectors_config\x18\x05 \x01(\x0b\x32\x15.qdrant.VectorsConfigH\x00\x88\x01\x01\x12\x1f\n\x12replication_factor\x18\x06 \x01(\rH\x01\x88\x01\x01\x12%\n\x18write_consistency_factor\x18\x07 \x01(\rH\x02\x88\x01\x01\x12 \n\x13read_fan_out_factor\x18\x08 \x01(\rH\x03\x88\x01\x01\x12\x34\n\x0fsharding_method\x18\t \x01(\x0e\x32\x16.qdrant.ShardingMethodH\x04\x88\x01\x01\x12>\n\x15sparse_vectors_config\x18\n \x01(\x0b\x32\x1a.qdrant.SparseVectorConfigH\x05\x88\x01\x01\x42\x11\n\x0f_vectors_configB\x15\n\x13_replication_factorB\x1b\n\x19_write_consistency_factorB\x16\n\x14_read_fan_out_factorB\x12\n\x10_sharding_methodB\x18\n\x16_sparse_vectors_configJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\"\xfe\x01\n\x14\x43ollectionParamsDiff\x12\x1f\n\x12replication_factor\x18\x01 \x01(\rH\x00\x88\x01\x01\x12%\n\x18write_consistency_factor\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x0fon_disk_payload\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12 \n\x13read_fan_out_factor\x18\x04 \x01(\rH\x03\x88\x01\x01\x42\x15\n\x13_replication_factorB\x1b\n\x19_write_consistency_factorB\x12\n\x10_on_disk_payloadB\x16\n\x14_read_fan_out_factor\"\xa2\x02\n\x10\x43ollectionConfig\x12(\n\x06params\x18\x01 \x01(\x0b\x32\x18.qdrant.CollectionParams\x12+\n\x0bhnsw_config\x18\x02 \x01(\x0b\x32\x16.qdrant.HnswConfigDiff\x12\x36\n\x10optimizer_config\x18\x03 \x01(\x0b\x32\x1c.qdrant.OptimizersConfigDiff\x12)\n\nwal_config\x18\x04 \x01(\x0b\x32\x15.qdrant.WalConfigDiff\x12<\n\x13quantization_config\x18\x05 \x01(\x0b\x32\x1a.qdrant.QuantizationConfigH\x00\x88\x01\x01\x42\x16\n\x14_quantization_config\"\\\n\x12KeywordIndexParams\x12\x16\n\tis_tenant\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07on_disk\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0c\n\n_is_tenantB\n\n\x08_on_disk\"\xa0\x01\n\x12IntegerIndexParams\x12\x13\n\x06lookup\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x12\n\x05range\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x19\n\x0cis_principal\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12\x14\n\x07on_disk\x18\x04 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_lookupB\x08\n\x06_rangeB\x0f\n\r_is_principalB\n\n\x08_on_disk\"`\n\x10\x46loatIndexParams\x12\x14\n\x07on_disk\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x19\n\x0cis_principal\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\n\n\x08_on_diskB\x0f\n\r_is_principal\"\x10\n\x0eGeoIndexParams\"\xbd\x01\n\x0fTextIndexParams\x12(\n\ttokenizer\x18\x01 \x01(\x0e\x32\x15.qdrant.TokenizerType\x12\x16\n\tlowercase\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1a\n\rmin_token_len\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x1a\n\rmax_token_len\x18\x04 \x01(\x04H\x02\x88\x01\x01\x42\x0c\n\n_lowercaseB\x10\n\x0e_min_token_lenB\x10\n\x0e_max_token_len\"\x11\n\x0f\x42oolIndexParams\"c\n\x13\x44\x61tetimeIndexParams\x12\x14\n\x07on_disk\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x19\n\x0cis_principal\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\n\n\x08_on_diskB\x0f\n\r_is_principal\"Y\n\x0fUuidIndexParams\x12\x16\n\tis_tenant\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07on_disk\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0c\n\n_is_tenantB\n\n\x08_on_disk\"\xe8\x03\n\x12PayloadIndexParams\x12:\n\x14keyword_index_params\x18\x03 \x01(\x0b\x32\x1a.qdrant.KeywordIndexParamsH\x00\x12:\n\x14integer_index_params\x18\x02 \x01(\x0b\x32\x1a.qdrant.IntegerIndexParamsH\x00\x12\x36\n\x12\x66loat_index_params\x18\x04 \x01(\x0b\x32\x18.qdrant.FloatIndexParamsH\x00\x12\x32\n\x10geo_index_params\x18\x05 \x01(\x0b\x32\x16.qdrant.GeoIndexParamsH\x00\x12\x34\n\x11text_index_params\x18\x01 \x01(\x0b\x32\x17.qdrant.TextIndexParamsH\x00\x12\x34\n\x11\x62ool_index_params\x18\x06 \x01(\x0b\x32\x17.qdrant.BoolIndexParamsH\x00\x12<\n\x15\x64\x61tetime_index_params\x18\x07 \x01(\x0b\x32\x1b.qdrant.DatetimeIndexParamsH\x00\x12\x34\n\x11uuid_index_params\x18\x08 \x01(\x0b\x32\x17.qdrant.UuidIndexParamsH\x00\x42\x0e\n\x0cindex_params\"\x9d\x01\n\x11PayloadSchemaInfo\x12,\n\tdata_type\x18\x01 \x01(\x0e\x32\x19.qdrant.PayloadSchemaType\x12/\n\x06params\x18\x02 \x01(\x0b\x32\x1a.qdrant.PayloadIndexParamsH\x00\x88\x01\x01\x12\x13\n\x06points\x18\x03 \x01(\x04H\x01\x88\x01\x01\x42\t\n\x07_paramsB\t\n\x07_points\"\xe7\x03\n\x0e\x43ollectionInfo\x12(\n\x06status\x18\x01 \x01(\x0e\x32\x18.qdrant.CollectionStatus\x12\x31\n\x10optimizer_status\x18\x02 \x01(\x0b\x32\x17.qdrant.OptimizerStatus\x12\x1a\n\rvectors_count\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x16\n\x0esegments_count\x18\x04 \x01(\x04\x12(\n\x06\x63onfig\x18\x07 \x01(\x0b\x32\x18.qdrant.CollectionConfig\x12\x41\n\x0epayload_schema\x18\x08 \x03(\x0b\x32).qdrant.CollectionInfo.PayloadSchemaEntry\x12\x19\n\x0cpoints_count\x18\t \x01(\x04H\x01\x88\x01\x01\x12\"\n\x15indexed_vectors_count\x18\n \x01(\x04H\x02\x88\x01\x01\x1aO\n\x12PayloadSchemaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.qdrant.PayloadSchemaInfo:\x02\x38\x01\x42\x10\n\x0e_vectors_countB\x0f\n\r_points_countB\x18\n\x16_indexed_vectors_countJ\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07\"[\n\rChangeAliases\x12(\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x17.qdrant.AliasOperations\x12\x14\n\x07timeout\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_timeout\"\xa2\x01\n\x0f\x41liasOperations\x12+\n\x0c\x63reate_alias\x18\x01 \x01(\x0b\x32\x13.qdrant.CreateAliasH\x00\x12+\n\x0crename_alias\x18\x02 \x01(\x0b\x32\x13.qdrant.RenameAliasH\x00\x12+\n\x0c\x64\x65lete_alias\x18\x03 \x01(\x0b\x32\x13.qdrant.DeleteAliasH\x00\x42\x08\n\x06\x61\x63tion\":\n\x0b\x43reateAlias\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x12\n\nalias_name\x18\x02 \x01(\t\"=\n\x0bRenameAlias\x12\x16\n\x0eold_alias_name\x18\x01 \x01(\t\x12\x16\n\x0enew_alias_name\x18\x02 \x01(\t\"!\n\x0b\x44\x65leteAlias\x12\x12\n\nalias_name\x18\x01 \x01(\t\"\x14\n\x12ListAliasesRequest\"7\n\x1cListCollectionAliasesRequest\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\"?\n\x10\x41liasDescription\x12\x12\n\nalias_name\x18\x01 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x02 \x01(\t\"N\n\x13ListAliasesResponse\x12)\n\x07\x61liases\x18\x01 \x03(\x0b\x32\x18.qdrant.AliasDescription\x12\x0c\n\x04time\x18\x02 \x01(\x01\"7\n\x1c\x43ollectionClusterInfoRequest\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\"6\n\x08ShardKey\x12\x11\n\x07keyword\x18\x01 \x01(\tH\x00\x12\x10\n\x06number\x18\x02 \x01(\x04H\x00\x42\x05\n\x03key\"\x95\x01\n\x0eLocalShardInfo\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x14\n\x0cpoints_count\x18\x02 \x01(\x04\x12#\n\x05state\x18\x03 \x01(\x0e\x32\x14.qdrant.ReplicaState\x12(\n\tshard_key\x18\x04 \x01(\x0b\x32\x10.qdrant.ShardKeyH\x00\x88\x01\x01\x42\x0c\n\n_shard_key\"\x91\x01\n\x0fRemoteShardInfo\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x0f\n\x07peer_id\x18\x02 \x01(\x04\x12#\n\x05state\x18\x03 \x01(\x0e\x32\x14.qdrant.ReplicaState\x12(\n\tshard_key\x18\x04 \x01(\x0b\x32\x10.qdrant.ShardKeyH\x00\x88\x01\x01\x42\x0c\n\n_shard_key\"w\n\x11ShardTransferInfo\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x18\n\x0bto_shard_id\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x0c\n\x04\x66rom\x18\x02 \x01(\x04\x12\n\n\x02to\x18\x03 \x01(\x04\x12\x0c\n\x04sync\x18\x04 \x01(\x08\x42\x0e\n\x0c_to_shard_id\"k\n\x0eReshardingInfo\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x0f\n\x07peer_id\x18\x02 \x01(\x04\x12(\n\tshard_key\x18\x03 \x01(\x0b\x32\x10.qdrant.ShardKeyH\x00\x88\x01\x01\x42\x0c\n\n_shard_key\"\xd7\x01\n\x1d\x43ollectionClusterInfoResponse\x12\x0f\n\x07peer_id\x18\x01 \x01(\x04\x12\x13\n\x0bshard_count\x18\x02 \x01(\x04\x12,\n\x0clocal_shards\x18\x03 \x03(\x0b\x32\x16.qdrant.LocalShardInfo\x12.\n\rremote_shards\x18\x04 \x03(\x0b\x32\x17.qdrant.RemoteShardInfo\x12\x32\n\x0fshard_transfers\x18\x05 \x03(\x0b\x32\x19.qdrant.ShardTransferInfo\"\xae\x01\n\tMoveShard\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x18\n\x0bto_shard_id\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x0c\x66rom_peer_id\x18\x02 \x01(\x04\x12\x12\n\nto_peer_id\x18\x03 \x01(\x04\x12\x30\n\x06method\x18\x04 \x01(\x0e\x32\x1b.qdrant.ShardTransferMethodH\x01\x88\x01\x01\x42\x0e\n\x0c_to_shard_idB\t\n\x07_method\"\xb3\x01\n\x0eReplicateShard\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x18\n\x0bto_shard_id\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x0c\x66rom_peer_id\x18\x02 \x01(\x04\x12\x12\n\nto_peer_id\x18\x03 \x01(\x04\x12\x30\n\x06method\x18\x04 \x01(\x0e\x32\x1b.qdrant.ShardTransferMethodH\x01\x88\x01\x01\x42\x0e\n\x0c_to_shard_idB\t\n\x07_method\"z\n\x12\x41\x62ortShardTransfer\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x18\n\x0bto_shard_id\x18\x04 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x0c\x66rom_peer_id\x18\x02 \x01(\x04\x12\x12\n\nto_peer_id\x18\x03 \x01(\x04\x42\x0e\n\x0c_to_shard_id\"\xa4\x01\n\x0fRestartTransfer\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x18\n\x0bto_shard_id\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x0c\x66rom_peer_id\x18\x02 \x01(\x04\x12\x12\n\nto_peer_id\x18\x03 \x01(\x04\x12+\n\x06method\x18\x04 \x01(\x0e\x32\x1b.qdrant.ShardTransferMethodB\x0e\n\x0c_to_shard_id\",\n\x07Replica\x12\x10\n\x08shard_id\x18\x01 \x01(\r\x12\x0f\n\x07peer_id\x18\x02 \x01(\x04\"\xae\x01\n\x0e\x43reateShardKey\x12#\n\tshard_key\x18\x01 \x01(\x0b\x32\x10.qdrant.ShardKey\x12\x1a\n\rshards_number\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x1f\n\x12replication_factor\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x11\n\tplacement\x18\x04 \x03(\x04\x42\x10\n\x0e_shards_numberB\x15\n\x13_replication_factor\"5\n\x0e\x44\x65leteShardKey\x12#\n\tshard_key\x18\x01 \x01(\x0b\x32\x10.qdrant.ShardKey\"\xc5\x03\n#UpdateCollectionClusterSetupRequest\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\'\n\nmove_shard\x18\x02 \x01(\x0b\x32\x11.qdrant.MoveShardH\x00\x12\x31\n\x0freplicate_shard\x18\x03 \x01(\x0b\x32\x16.qdrant.ReplicateShardH\x00\x12\x34\n\x0e\x61\x62ort_transfer\x18\x04 \x01(\x0b\x32\x1a.qdrant.AbortShardTransferH\x00\x12\'\n\x0c\x64rop_replica\x18\x05 \x01(\x0b\x32\x0f.qdrant.ReplicaH\x00\x12\x32\n\x10\x63reate_shard_key\x18\x07 \x01(\x0b\x32\x16.qdrant.CreateShardKeyH\x00\x12\x32\n\x10\x64\x65lete_shard_key\x18\x08 \x01(\x0b\x32\x16.qdrant.DeleteShardKeyH\x00\x12\x33\n\x10restart_transfer\x18\t \x01(\x0b\x32\x17.qdrant.RestartTransferH\x00\x12\x14\n\x07timeout\x18\x06 \x01(\x04H\x01\x88\x01\x01\x42\x0b\n\toperationB\n\n\x08_timeout\"6\n$UpdateCollectionClusterSetupResponse\x12\x0e\n\x06result\x18\x01 \x01(\x08\"{\n\x15\x43reateShardKeyRequest\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\'\n\x07request\x18\x02 \x01(\x0b\x32\x16.qdrant.CreateShardKey\x12\x14\n\x07timeout\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_timeout\"{\n\x15\x44\x65leteShardKeyRequest\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\'\n\x07request\x18\x02 \x01(\x0b\x32\x16.qdrant.DeleteShardKey\x12\x14\n\x07timeout\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_timeout\"(\n\x16\x43reateShardKeyResponse\x12\x0e\n\x06result\x18\x01 \x01(\x08\"(\n\x16\x44\x65leteShardKeyResponse\x12\x0e\n\x06result\x18\x01 \x01(\x08*<\n\x08\x44\x61tatype\x12\x0b\n\x07\x44\x65\x66\x61ult\x10\x00\x12\x0b\n\x07\x46loat32\x10\x01\x12\t\n\x05Uint8\x10\x02\x12\x0b\n\x07\x46loat16\x10\x03*\x1d\n\x08Modifier\x12\x08\n\x04None\x10\x00\x12\x07\n\x03Idf\x10\x01*#\n\x15MultiVectorComparator\x12\n\n\x06MaxSim\x10\x00*O\n\x08\x44istance\x12\x13\n\x0fUnknownDistance\x10\x00\x12\n\n\x06\x43osine\x10\x01\x12\n\n\x06\x45uclid\x10\x02\x12\x07\n\x03\x44ot\x10\x03\x12\r\n\tManhattan\x10\x04*Y\n\x10\x43ollectionStatus\x12\x1b\n\x17UnknownCollectionStatus\x10\x00\x12\t\n\x05Green\x10\x01\x12\n\n\x06Yellow\x10\x02\x12\x07\n\x03Red\x10\x03\x12\x08\n\x04Grey\x10\x04*~\n\x11PayloadSchemaType\x12\x0f\n\x0bUnknownType\x10\x00\x12\x0b\n\x07Keyword\x10\x01\x12\x0b\n\x07Integer\x10\x02\x12\t\n\x05\x46loat\x10\x03\x12\x07\n\x03Geo\x10\x04\x12\x08\n\x04Text\x10\x05\x12\x08\n\x04\x42ool\x10\x06\x12\x0c\n\x08\x44\x61tetime\x10\x07\x12\x08\n\x04Uuid\x10\x08*5\n\x10QuantizationType\x12\x17\n\x13UnknownQuantization\x10\x00\x12\x08\n\x04Int8\x10\x01*=\n\x10\x43ompressionRatio\x12\x06\n\x02x4\x10\x00\x12\x06\n\x02x8\x10\x01\x12\x07\n\x03x16\x10\x02\x12\x07\n\x03x32\x10\x03\x12\x07\n\x03x64\x10\x04*&\n\x0eShardingMethod\x12\x08\n\x04\x41uto\x10\x00\x12\n\n\x06\x43ustom\x10\x01*T\n\rTokenizerType\x12\x0b\n\x07Unknown\x10\x00\x12\n\n\x06Prefix\x10\x01\x12\x0e\n\nWhitespace\x10\x02\x12\x08\n\x04Word\x10\x03\x12\x10\n\x0cMultilingual\x10\x04*\x84\x01\n\x0cReplicaState\x12\n\n\x06\x41\x63tive\x10\x00\x12\x08\n\x04\x44\x65\x61\x64\x10\x01\x12\x0b\n\x07Partial\x10\x02\x12\x10\n\x0cInitializing\x10\x03\x12\x0c\n\x08Listener\x10\x04\x12\x13\n\x0fPartialSnapshot\x10\x05\x12\x0c\n\x08Recovery\x10\x06\x12\x0e\n\nResharding\x10\x07*a\n\x13ShardTransferMethod\x12\x11\n\rStreamRecords\x10\x00\x12\x0c\n\x08Snapshot\x10\x01\x12\x0c\n\x08WalDelta\x10\x02\x12\x1b\n\x17ReshardingStreamRecords\x10\x03\x42\x15\xaa\x02\x12Qdrant.Client.Grpcb\x06proto3') _DATATYPE = DESCRIPTOR.enum_types_by_name['Datatype'] Datatype = enum_type_wrapper.EnumTypeWrapper(_DATATYPE) @@ -743,30 +743,30 @@ _SPARSEVECTORCONFIG_MAPENTRY._serialized_options = b'8\001' _COLLECTIONINFO_PAYLOADSCHEMAENTRY._options = None _COLLECTIONINFO_PAYLOADSCHEMAENTRY._serialized_options = b'8\001' - _DATATYPE._serialized_start=11594 - _DATATYPE._serialized_end=11654 - _MODIFIER._serialized_start=11656 - _MODIFIER._serialized_end=11685 - _MULTIVECTORCOMPARATOR._serialized_start=11687 - _MULTIVECTORCOMPARATOR._serialized_end=11722 - _DISTANCE._serialized_start=11724 - _DISTANCE._serialized_end=11803 - _COLLECTIONSTATUS._serialized_start=11805 - _COLLECTIONSTATUS._serialized_end=11894 - _PAYLOADSCHEMATYPE._serialized_start=11896 - _PAYLOADSCHEMATYPE._serialized_end=12022 - _QUANTIZATIONTYPE._serialized_start=12024 - _QUANTIZATIONTYPE._serialized_end=12077 - _COMPRESSIONRATIO._serialized_start=12079 - _COMPRESSIONRATIO._serialized_end=12140 - _SHARDINGMETHOD._serialized_start=12142 - _SHARDINGMETHOD._serialized_end=12180 - _TOKENIZERTYPE._serialized_start=12182 - _TOKENIZERTYPE._serialized_end=12266 - _REPLICASTATE._serialized_start=12269 - _REPLICASTATE._serialized_end=12401 - _SHARDTRANSFERMETHOD._serialized_start=12403 - _SHARDTRANSFERMETHOD._serialized_end=12500 + _DATATYPE._serialized_start=11625 + _DATATYPE._serialized_end=11685 + _MODIFIER._serialized_start=11687 + _MODIFIER._serialized_end=11716 + _MULTIVECTORCOMPARATOR._serialized_start=11718 + _MULTIVECTORCOMPARATOR._serialized_end=11753 + _DISTANCE._serialized_start=11755 + _DISTANCE._serialized_end=11834 + _COLLECTIONSTATUS._serialized_start=11836 + _COLLECTIONSTATUS._serialized_end=11925 + _PAYLOADSCHEMATYPE._serialized_start=11927 + _PAYLOADSCHEMATYPE._serialized_end=12053 + _QUANTIZATIONTYPE._serialized_start=12055 + _QUANTIZATIONTYPE._serialized_end=12108 + _COMPRESSIONRATIO._serialized_start=12110 + _COMPRESSIONRATIO._serialized_end=12171 + _SHARDINGMETHOD._serialized_start=12173 + _SHARDINGMETHOD._serialized_end=12211 + _TOKENIZERTYPE._serialized_start=12213 + _TOKENIZERTYPE._serialized_end=12297 + _REPLICASTATE._serialized_start=12300 + _REPLICASTATE._serialized_end=12432 + _SHARDTRANSFERMETHOD._serialized_start=12434 + _SHARDTRANSFERMETHOD._serialized_end=12531 _VECTORPARAMS._serialized_start=30 _VECTORPARAMS._serialized_end=417 _VECTORPARAMSDIFF._serialized_start=420 @@ -846,83 +846,83 @@ _KEYWORDINDEXPARAMS._serialized_start=6433 _KEYWORDINDEXPARAMS._serialized_end=6525 _INTEGERINDEXPARAMS._serialized_start=6528 - _INTEGERINDEXPARAMS._serialized_end=6657 - _FLOATINDEXPARAMS._serialized_start=6659 - _FLOATINDEXPARAMS._serialized_end=6755 - _GEOINDEXPARAMS._serialized_start=6757 - _GEOINDEXPARAMS._serialized_end=6773 - _TEXTINDEXPARAMS._serialized_start=6776 - _TEXTINDEXPARAMS._serialized_end=6965 - _BOOLINDEXPARAMS._serialized_start=6967 - _BOOLINDEXPARAMS._serialized_end=6984 - _DATETIMEINDEXPARAMS._serialized_start=6986 - _DATETIMEINDEXPARAMS._serialized_end=7085 - _UUIDINDEXPARAMS._serialized_start=7087 - _UUIDINDEXPARAMS._serialized_end=7176 - _PAYLOADINDEXPARAMS._serialized_start=7179 - _PAYLOADINDEXPARAMS._serialized_end=7667 - _PAYLOADSCHEMAINFO._serialized_start=7670 - _PAYLOADSCHEMAINFO._serialized_end=7827 - _COLLECTIONINFO._serialized_start=7830 - _COLLECTIONINFO._serialized_end=8317 - _COLLECTIONINFO_PAYLOADSCHEMAENTRY._serialized_start=8165 - _COLLECTIONINFO_PAYLOADSCHEMAENTRY._serialized_end=8244 - _CHANGEALIASES._serialized_start=8319 - _CHANGEALIASES._serialized_end=8410 - _ALIASOPERATIONS._serialized_start=8413 - _ALIASOPERATIONS._serialized_end=8575 - _CREATEALIAS._serialized_start=8577 - _CREATEALIAS._serialized_end=8635 - _RENAMEALIAS._serialized_start=8637 - _RENAMEALIAS._serialized_end=8698 - _DELETEALIAS._serialized_start=8700 - _DELETEALIAS._serialized_end=8733 - _LISTALIASESREQUEST._serialized_start=8735 - _LISTALIASESREQUEST._serialized_end=8755 - _LISTCOLLECTIONALIASESREQUEST._serialized_start=8757 - _LISTCOLLECTIONALIASESREQUEST._serialized_end=8812 - _ALIASDESCRIPTION._serialized_start=8814 - _ALIASDESCRIPTION._serialized_end=8877 - _LISTALIASESRESPONSE._serialized_start=8879 - _LISTALIASESRESPONSE._serialized_end=8957 - _COLLECTIONCLUSTERINFOREQUEST._serialized_start=8959 - _COLLECTIONCLUSTERINFOREQUEST._serialized_end=9014 - _SHARDKEY._serialized_start=9016 - _SHARDKEY._serialized_end=9070 - _LOCALSHARDINFO._serialized_start=9073 - _LOCALSHARDINFO._serialized_end=9222 - _REMOTESHARDINFO._serialized_start=9225 - _REMOTESHARDINFO._serialized_end=9370 - _SHARDTRANSFERINFO._serialized_start=9372 - _SHARDTRANSFERINFO._serialized_end=9491 - _RESHARDINGINFO._serialized_start=9493 - _RESHARDINGINFO._serialized_end=9600 - _COLLECTIONCLUSTERINFORESPONSE._serialized_start=9603 - _COLLECTIONCLUSTERINFORESPONSE._serialized_end=9818 - _MOVESHARD._serialized_start=9821 - _MOVESHARD._serialized_end=9995 - _REPLICATESHARD._serialized_start=9998 - _REPLICATESHARD._serialized_end=10177 - _ABORTSHARDTRANSFER._serialized_start=10179 - _ABORTSHARDTRANSFER._serialized_end=10301 - _RESTARTTRANSFER._serialized_start=10304 - _RESTARTTRANSFER._serialized_end=10468 - _REPLICA._serialized_start=10470 - _REPLICA._serialized_end=10514 - _CREATESHARDKEY._serialized_start=10517 - _CREATESHARDKEY._serialized_end=10691 - _DELETESHARDKEY._serialized_start=10693 - _DELETESHARDKEY._serialized_end=10746 - _UPDATECOLLECTIONCLUSTERSETUPREQUEST._serialized_start=10749 - _UPDATECOLLECTIONCLUSTERSETUPREQUEST._serialized_end=11202 - _UPDATECOLLECTIONCLUSTERSETUPRESPONSE._serialized_start=11204 - _UPDATECOLLECTIONCLUSTERSETUPRESPONSE._serialized_end=11258 - _CREATESHARDKEYREQUEST._serialized_start=11260 - _CREATESHARDKEYREQUEST._serialized_end=11383 - _DELETESHARDKEYREQUEST._serialized_start=11385 - _DELETESHARDKEYREQUEST._serialized_end=11508 - _CREATESHARDKEYRESPONSE._serialized_start=11510 - _CREATESHARDKEYRESPONSE._serialized_end=11550 - _DELETESHARDKEYRESPONSE._serialized_start=11552 - _DELETESHARDKEYRESPONSE._serialized_end=11592 + _INTEGERINDEXPARAMS._serialized_end=6688 + _FLOATINDEXPARAMS._serialized_start=6690 + _FLOATINDEXPARAMS._serialized_end=6786 + _GEOINDEXPARAMS._serialized_start=6788 + _GEOINDEXPARAMS._serialized_end=6804 + _TEXTINDEXPARAMS._serialized_start=6807 + _TEXTINDEXPARAMS._serialized_end=6996 + _BOOLINDEXPARAMS._serialized_start=6998 + _BOOLINDEXPARAMS._serialized_end=7015 + _DATETIMEINDEXPARAMS._serialized_start=7017 + _DATETIMEINDEXPARAMS._serialized_end=7116 + _UUIDINDEXPARAMS._serialized_start=7118 + _UUIDINDEXPARAMS._serialized_end=7207 + _PAYLOADINDEXPARAMS._serialized_start=7210 + _PAYLOADINDEXPARAMS._serialized_end=7698 + _PAYLOADSCHEMAINFO._serialized_start=7701 + _PAYLOADSCHEMAINFO._serialized_end=7858 + _COLLECTIONINFO._serialized_start=7861 + _COLLECTIONINFO._serialized_end=8348 + _COLLECTIONINFO_PAYLOADSCHEMAENTRY._serialized_start=8196 + _COLLECTIONINFO_PAYLOADSCHEMAENTRY._serialized_end=8275 + _CHANGEALIASES._serialized_start=8350 + _CHANGEALIASES._serialized_end=8441 + _ALIASOPERATIONS._serialized_start=8444 + _ALIASOPERATIONS._serialized_end=8606 + _CREATEALIAS._serialized_start=8608 + _CREATEALIAS._serialized_end=8666 + _RENAMEALIAS._serialized_start=8668 + _RENAMEALIAS._serialized_end=8729 + _DELETEALIAS._serialized_start=8731 + _DELETEALIAS._serialized_end=8764 + _LISTALIASESREQUEST._serialized_start=8766 + _LISTALIASESREQUEST._serialized_end=8786 + _LISTCOLLECTIONALIASESREQUEST._serialized_start=8788 + _LISTCOLLECTIONALIASESREQUEST._serialized_end=8843 + _ALIASDESCRIPTION._serialized_start=8845 + _ALIASDESCRIPTION._serialized_end=8908 + _LISTALIASESRESPONSE._serialized_start=8910 + _LISTALIASESRESPONSE._serialized_end=8988 + _COLLECTIONCLUSTERINFOREQUEST._serialized_start=8990 + _COLLECTIONCLUSTERINFOREQUEST._serialized_end=9045 + _SHARDKEY._serialized_start=9047 + _SHARDKEY._serialized_end=9101 + _LOCALSHARDINFO._serialized_start=9104 + _LOCALSHARDINFO._serialized_end=9253 + _REMOTESHARDINFO._serialized_start=9256 + _REMOTESHARDINFO._serialized_end=9401 + _SHARDTRANSFERINFO._serialized_start=9403 + _SHARDTRANSFERINFO._serialized_end=9522 + _RESHARDINGINFO._serialized_start=9524 + _RESHARDINGINFO._serialized_end=9631 + _COLLECTIONCLUSTERINFORESPONSE._serialized_start=9634 + _COLLECTIONCLUSTERINFORESPONSE._serialized_end=9849 + _MOVESHARD._serialized_start=9852 + _MOVESHARD._serialized_end=10026 + _REPLICATESHARD._serialized_start=10029 + _REPLICATESHARD._serialized_end=10208 + _ABORTSHARDTRANSFER._serialized_start=10210 + _ABORTSHARDTRANSFER._serialized_end=10332 + _RESTARTTRANSFER._serialized_start=10335 + _RESTARTTRANSFER._serialized_end=10499 + _REPLICA._serialized_start=10501 + _REPLICA._serialized_end=10545 + _CREATESHARDKEY._serialized_start=10548 + _CREATESHARDKEY._serialized_end=10722 + _DELETESHARDKEY._serialized_start=10724 + _DELETESHARDKEY._serialized_end=10777 + _UPDATECOLLECTIONCLUSTERSETUPREQUEST._serialized_start=10780 + _UPDATECOLLECTIONCLUSTERSETUPREQUEST._serialized_end=11233 + _UPDATECOLLECTIONCLUSTERSETUPRESPONSE._serialized_start=11235 + _UPDATECOLLECTIONCLUSTERSETUPRESPONSE._serialized_end=11289 + _CREATESHARDKEYREQUEST._serialized_start=11291 + _CREATESHARDKEYREQUEST._serialized_end=11414 + _DELETESHARDKEYREQUEST._serialized_start=11416 + _DELETESHARDKEYREQUEST._serialized_end=11539 + _CREATESHARDKEYRESPONSE._serialized_start=11541 + _CREATESHARDKEYRESPONSE._serialized_end=11581 + _DELETESHARDKEYRESPONSE._serialized_start=11583 + _DELETESHARDKEYRESPONSE._serialized_end=11623 # @@protoc_insertion_point(module_scope) diff --git a/qdrant_client/grpc/collections_pb2.pyi b/qdrant_client/grpc/collections_pb2.pyi index c48e8ec95..37d02d14a 100644 --- a/qdrant_client/grpc/collections_pb2.pyi +++ b/qdrant_client/grpc/collections_pb2.pyi @@ -18,6 +18,53 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +class _Datatype: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _DatatypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Datatype.ValueType], builtins.type): # noqa: F821 + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + Default: _Datatype.ValueType # 0 + Float32: _Datatype.ValueType # 1 + Uint8: _Datatype.ValueType # 2 + Float16: _Datatype.ValueType # 3 + +class Datatype(_Datatype, metaclass=_DatatypeEnumTypeWrapper): ... + +Default: Datatype.ValueType # 0 +Float32: Datatype.ValueType # 1 +Uint8: Datatype.ValueType # 2 +Float16: Datatype.ValueType # 3 +global___Datatype = Datatype + +class _Modifier: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _ModifierEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Modifier.ValueType], builtins.type): # noqa: F821 + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + Idf: _Modifier.ValueType # 1 + """Apply Inverse Document Frequency""" + +class Modifier(_Modifier, metaclass=_ModifierEnumTypeWrapper): ... + +Idf: Modifier.ValueType # 1 +"""Apply Inverse Document Frequency""" +global___Modifier = Modifier + +class _MultiVectorComparator: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _MultiVectorComparatorEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MultiVectorComparator.ValueType], builtins.type): # noqa: F821 + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + MaxSim: _MultiVectorComparator.ValueType # 0 + +class MultiVectorComparator(_MultiVectorComparator, metaclass=_MultiVectorComparatorEnumTypeWrapper): ... + +MaxSim: MultiVectorComparator.ValueType # 0 +global___MultiVectorComparator = MultiVectorComparator + class _Distance: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType @@ -52,6 +99,8 @@ class _CollectionStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrappe """Optimization in process""" Red: _CollectionStatus.ValueType # 3 """Something went wrong""" + Grey: _CollectionStatus.ValueType # 4 + """Optimization is pending""" class CollectionStatus(_CollectionStatus, metaclass=_CollectionStatusEnumTypeWrapper): ... @@ -62,6 +111,8 @@ Yellow: CollectionStatus.ValueType # 2 """Optimization in process""" Red: CollectionStatus.ValueType # 3 """Something went wrong""" +Grey: CollectionStatus.ValueType # 4 +"""Optimization is pending""" global___CollectionStatus = CollectionStatus class _PayloadSchemaType: @@ -78,6 +129,7 @@ class _PayloadSchemaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapp Text: _PayloadSchemaType.ValueType # 5 Bool: _PayloadSchemaType.ValueType # 6 Datetime: _PayloadSchemaType.ValueType # 7 + Uuid: _PayloadSchemaType.ValueType # 8 class PayloadSchemaType(_PayloadSchemaType, metaclass=_PayloadSchemaTypeEnumTypeWrapper): ... @@ -89,6 +141,7 @@ Geo: PayloadSchemaType.ValueType # 4 Text: PayloadSchemaType.ValueType # 5 Bool: PayloadSchemaType.ValueType # 6 Datetime: PayloadSchemaType.ValueType # 7 +Uuid: PayloadSchemaType.ValueType # 8 global___PayloadSchemaType = PayloadSchemaType class _QuantizationType: @@ -184,9 +237,11 @@ class _ReplicaStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._E Listener: _ReplicaState.ValueType # 4 """A shard which receives data, but is not used for search; Useful for backup shards""" PartialSnapshot: _ReplicaState.ValueType # 5 - """Snapshot shard transfer is in progress; Updates should not be sent to (and are ignored by) the shard""" + """Deprecated: snapshot shard transfer is in progress; Updates should not be sent to (and are ignored by) the shard""" Recovery: _ReplicaState.ValueType # 6 """Shard is undergoing recovered by an external node; Normally rejects updates, accepts updates if force is true""" + Resharding: _ReplicaState.ValueType # 7 + """Points are being migrated to this shard as part of resharding""" class ReplicaState(_ReplicaState, metaclass=_ReplicaStateEnumTypeWrapper): ... @@ -201,9 +256,11 @@ Initializing: ReplicaState.ValueType # 3 Listener: ReplicaState.ValueType # 4 """A shard which receives data, but is not used for search; Useful for backup shards""" PartialSnapshot: ReplicaState.ValueType # 5 -"""Snapshot shard transfer is in progress; Updates should not be sent to (and are ignored by) the shard""" +"""Deprecated: snapshot shard transfer is in progress; Updates should not be sent to (and are ignored by) the shard""" Recovery: ReplicaState.ValueType # 6 """Shard is undergoing recovered by an external node; Normally rejects updates, accepts updates if force is true""" +Resharding: ReplicaState.ValueType # 7 +"""Points are being migrated to this shard as part of resharding""" global___ReplicaState = ReplicaState class _ShardTransferMethod: @@ -218,6 +275,8 @@ class _ShardTransferMethodEnumTypeWrapper(google.protobuf.internal.enum_type_wra """Snapshot the shard and recover it on the target peer""" WalDelta: _ShardTransferMethod.ValueType # 2 """Resolve WAL delta between peers and transfer the difference""" + ReshardingStreamRecords: _ShardTransferMethod.ValueType # 3 + """Stream shard records in batches for resharding""" class ShardTransferMethod(_ShardTransferMethod, metaclass=_ShardTransferMethodEnumTypeWrapper): ... @@ -227,6 +286,8 @@ Snapshot: ShardTransferMethod.ValueType # 1 """Snapshot the shard and recover it on the target peer""" WalDelta: ShardTransferMethod.ValueType # 2 """Resolve WAL delta between peers and transfer the difference""" +ReshardingStreamRecords: ShardTransferMethod.ValueType # 3 +"""Stream shard records in batches for resharding""" global___ShardTransferMethod = ShardTransferMethod class VectorParams(google.protobuf.message.Message): @@ -237,6 +298,8 @@ class VectorParams(google.protobuf.message.Message): HNSW_CONFIG_FIELD_NUMBER: builtins.int QUANTIZATION_CONFIG_FIELD_NUMBER: builtins.int ON_DISK_FIELD_NUMBER: builtins.int + DATATYPE_FIELD_NUMBER: builtins.int + MULTIVECTOR_CONFIG_FIELD_NUMBER: builtins.int size: builtins.int """Size of the vectors""" distance: global___Distance.ValueType @@ -249,6 +312,11 @@ class VectorParams(google.protobuf.message.Message): """Configuration of vector quantization config. If omitted - the collection configuration will be used""" on_disk: builtins.bool """If true - serve vectors from disk. If set to false, the vectors will be loaded in RAM.""" + datatype: global___Datatype.ValueType + """Data type of the vectors""" + @property + def multivector_config(self) -> global___MultiVectorConfig: + """Configuration for multi-vector search""" def __init__( self, *, @@ -257,12 +325,18 @@ class VectorParams(google.protobuf.message.Message): hnsw_config: global___HnswConfigDiff | None = ..., quantization_config: global___QuantizationConfig | None = ..., on_disk: builtins.bool | None = ..., + datatype: global___Datatype.ValueType | None = ..., + multivector_config: global___MultiVectorConfig | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_hnsw_config", b"_hnsw_config", "_on_disk", b"_on_disk", "_quantization_config", b"_quantization_config", "hnsw_config", b"hnsw_config", "on_disk", b"on_disk", "quantization_config", b"quantization_config"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_hnsw_config", b"_hnsw_config", "_on_disk", b"_on_disk", "_quantization_config", b"_quantization_config", "distance", b"distance", "hnsw_config", b"hnsw_config", "on_disk", b"on_disk", "quantization_config", b"quantization_config", "size", b"size"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_datatype", b"_datatype", "_hnsw_config", b"_hnsw_config", "_multivector_config", b"_multivector_config", "_on_disk", b"_on_disk", "_quantization_config", b"_quantization_config", "datatype", b"datatype", "hnsw_config", b"hnsw_config", "multivector_config", b"multivector_config", "on_disk", b"on_disk", "quantization_config", b"quantization_config"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_datatype", b"_datatype", "_hnsw_config", b"_hnsw_config", "_multivector_config", b"_multivector_config", "_on_disk", b"_on_disk", "_quantization_config", b"_quantization_config", "datatype", b"datatype", "distance", b"distance", "hnsw_config", b"hnsw_config", "multivector_config", b"multivector_config", "on_disk", b"on_disk", "quantization_config", b"quantization_config", "size", b"size"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_datatype", b"_datatype"]) -> typing_extensions.Literal["datatype"] | None: ... @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_hnsw_config", b"_hnsw_config"]) -> typing_extensions.Literal["hnsw_config"] | None: ... @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_multivector_config", b"_multivector_config"]) -> typing_extensions.Literal["multivector_config"] | None: ... + @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_on_disk", b"_on_disk"]) -> typing_extensions.Literal["on_disk"] | None: ... @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_quantization_config", b"_quantization_config"]) -> typing_extensions.Literal["quantization_config"] | None: ... @@ -411,17 +485,24 @@ class SparseVectorParams(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor INDEX_FIELD_NUMBER: builtins.int + MODIFIER_FIELD_NUMBER: builtins.int @property def index(self) -> global___SparseIndexConfig: """Configuration of sparse index""" + modifier: global___Modifier.ValueType + """If set - apply modifier to the vector values""" def __init__( self, *, index: global___SparseIndexConfig | None = ..., + modifier: global___Modifier.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_index", b"_index", "index", b"index"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_index", b"_index", "index", b"index"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_index", b"_index", "_modifier", b"_modifier", "index", b"index", "modifier", b"modifier"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_index", b"_index", "_modifier", b"_modifier", "index", b"index", "modifier", b"modifier"]) -> None: ... + @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_index", b"_index"]) -> typing_extensions.Literal["index"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_modifier", b"_modifier"]) -> typing_extensions.Literal["modifier"] | None: ... global___SparseVectorParams = SparseVectorParams @@ -457,6 +538,21 @@ class SparseVectorConfig(google.protobuf.message.Message): global___SparseVectorConfig = SparseVectorConfig +class MultiVectorConfig(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COMPARATOR_FIELD_NUMBER: builtins.int + comparator: global___MultiVectorComparator.ValueType + """Comparator for multi-vector search""" + def __init__( + self, + *, + comparator: global___MultiVectorComparator.ValueType = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["comparator", b"comparator"]) -> None: ... + +global___MultiVectorConfig = MultiVectorConfig + class GetCollectionInfoRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -671,6 +767,7 @@ class SparseIndexConfig(google.protobuf.message.Message): FULL_SCAN_THRESHOLD_FIELD_NUMBER: builtins.int ON_DISK_FIELD_NUMBER: builtins.int + DATATYPE_FIELD_NUMBER: builtins.int full_scan_threshold: builtins.int """ Prefer a full scan search upto (excluding) this number of vectors. @@ -680,14 +777,21 @@ class SparseIndexConfig(google.protobuf.message.Message): """ Store inverted index on disk. If set to false, the index will be stored in RAM. """ + datatype: global___Datatype.ValueType + """ + Datatype used to store weights in the index. + """ def __init__( self, *, full_scan_threshold: builtins.int | None = ..., on_disk: builtins.bool | None = ..., + datatype: global___Datatype.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_full_scan_threshold", b"_full_scan_threshold", "_on_disk", b"_on_disk", "full_scan_threshold", b"full_scan_threshold", "on_disk", b"on_disk"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_full_scan_threshold", b"_full_scan_threshold", "_on_disk", b"_on_disk", "full_scan_threshold", b"full_scan_threshold", "on_disk", b"on_disk"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_datatype", b"_datatype", "_full_scan_threshold", b"_full_scan_threshold", "_on_disk", b"_on_disk", "datatype", b"datatype", "full_scan_threshold", b"full_scan_threshold", "on_disk", b"on_disk"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_datatype", b"_datatype", "_full_scan_threshold", b"_full_scan_threshold", "_on_disk", b"_on_disk", "datatype", b"datatype", "full_scan_threshold", b"full_scan_threshold", "on_disk", b"on_disk"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_datatype", b"_datatype"]) -> typing_extensions.Literal["datatype"] | None: ... @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_full_scan_threshold", b"_full_scan_threshold"]) -> typing_extensions.Literal["full_scan_threshold"] | None: ... @typing.overload @@ -1290,6 +1394,99 @@ class CollectionConfig(google.protobuf.message.Message): global___CollectionConfig = CollectionConfig +class KeywordIndexParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + IS_TENANT_FIELD_NUMBER: builtins.int + ON_DISK_FIELD_NUMBER: builtins.int + is_tenant: builtins.bool + """If true - used for tenant optimization.""" + on_disk: builtins.bool + """If true - store index on disk.""" + def __init__( + self, + *, + is_tenant: builtins.bool | None = ..., + on_disk: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_is_tenant", b"_is_tenant", "_on_disk", b"_on_disk", "is_tenant", b"is_tenant", "on_disk", b"on_disk"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_is_tenant", b"_is_tenant", "_on_disk", b"_on_disk", "is_tenant", b"is_tenant", "on_disk", b"on_disk"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_is_tenant", b"_is_tenant"]) -> typing_extensions.Literal["is_tenant"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_on_disk", b"_on_disk"]) -> typing_extensions.Literal["on_disk"] | None: ... + +global___KeywordIndexParams = KeywordIndexParams + +class IntegerIndexParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LOOKUP_FIELD_NUMBER: builtins.int + RANGE_FIELD_NUMBER: builtins.int + IS_PRINCIPAL_FIELD_NUMBER: builtins.int + ON_DISK_FIELD_NUMBER: builtins.int + lookup: builtins.bool + """If true - support direct lookups.""" + range: builtins.bool + """If true - support ranges filters.""" + is_principal: builtins.bool + """If true - use this key to organize storage of the collection data. This option assumes that this key will be used in majority of filtered requests.""" + on_disk: builtins.bool + """If true - store index on disk.""" + def __init__( + self, + *, + lookup: builtins.bool | None = ..., + range: builtins.bool | None = ..., + is_principal: builtins.bool | None = ..., + on_disk: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_is_principal", b"_is_principal", "_lookup", b"_lookup", "_on_disk", b"_on_disk", "_range", b"_range", "is_principal", b"is_principal", "lookup", b"lookup", "on_disk", b"on_disk", "range", b"range"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_is_principal", b"_is_principal", "_lookup", b"_lookup", "_on_disk", b"_on_disk", "_range", b"_range", "is_principal", b"is_principal", "lookup", b"lookup", "on_disk", b"on_disk", "range", b"range"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_is_principal", b"_is_principal"]) -> typing_extensions.Literal["is_principal"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_lookup", b"_lookup"]) -> typing_extensions.Literal["lookup"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_on_disk", b"_on_disk"]) -> typing_extensions.Literal["on_disk"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_range", b"_range"]) -> typing_extensions.Literal["range"] | None: ... + +global___IntegerIndexParams = IntegerIndexParams + +class FloatIndexParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ON_DISK_FIELD_NUMBER: builtins.int + IS_PRINCIPAL_FIELD_NUMBER: builtins.int + on_disk: builtins.bool + """If true - store index on disk.""" + is_principal: builtins.bool + """If true - use this key to organize storage of the collection data. This option assumes that this key will be used in majority of filtered requests.""" + def __init__( + self, + *, + on_disk: builtins.bool | None = ..., + is_principal: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_is_principal", b"_is_principal", "_on_disk", b"_on_disk", "is_principal", b"is_principal", "on_disk", b"on_disk"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_is_principal", b"_is_principal", "_on_disk", b"_on_disk", "is_principal", b"is_principal", "on_disk", b"on_disk"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_is_principal", b"_is_principal"]) -> typing_extensions.Literal["is_principal"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_on_disk", b"_on_disk"]) -> typing_extensions.Literal["on_disk"] | None: ... + +global___FloatIndexParams = FloatIndexParams + +class GeoIndexParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___GeoIndexParams = GeoIndexParams + class TextIndexParams(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1324,45 +1521,113 @@ class TextIndexParams(google.protobuf.message.Message): global___TextIndexParams = TextIndexParams -class IntegerIndexParams(google.protobuf.message.Message): +class BoolIndexParams(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - LOOKUP_FIELD_NUMBER: builtins.int - RANGE_FIELD_NUMBER: builtins.int - lookup: builtins.bool - """If true - support direct lookups.""" - range: builtins.bool - """If true - support ranges filters.""" + def __init__( + self, + ) -> None: ... + +global___BoolIndexParams = BoolIndexParams + +class DatetimeIndexParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ON_DISK_FIELD_NUMBER: builtins.int + IS_PRINCIPAL_FIELD_NUMBER: builtins.int + on_disk: builtins.bool + """If true - store index on disk.""" + is_principal: builtins.bool + """If true - use this key to organize storage of the collection data. This option assumes that this key will be used in majority of filtered requests.""" def __init__( self, *, - lookup: builtins.bool = ..., - range: builtins.bool = ..., + on_disk: builtins.bool | None = ..., + is_principal: builtins.bool | None = ..., ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["lookup", b"lookup", "range", b"range"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_is_principal", b"_is_principal", "_on_disk", b"_on_disk", "is_principal", b"is_principal", "on_disk", b"on_disk"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_is_principal", b"_is_principal", "_on_disk", b"_on_disk", "is_principal", b"is_principal", "on_disk", b"on_disk"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_is_principal", b"_is_principal"]) -> typing_extensions.Literal["is_principal"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_on_disk", b"_on_disk"]) -> typing_extensions.Literal["on_disk"] | None: ... -global___IntegerIndexParams = IntegerIndexParams +global___DatetimeIndexParams = DatetimeIndexParams + +class UuidIndexParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + IS_TENANT_FIELD_NUMBER: builtins.int + ON_DISK_FIELD_NUMBER: builtins.int + is_tenant: builtins.bool + """If true - used for tenant optimization.""" + on_disk: builtins.bool + """If true - store index on disk.""" + def __init__( + self, + *, + is_tenant: builtins.bool | None = ..., + on_disk: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_is_tenant", b"_is_tenant", "_on_disk", b"_on_disk", "is_tenant", b"is_tenant", "on_disk", b"on_disk"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_is_tenant", b"_is_tenant", "_on_disk", b"_on_disk", "is_tenant", b"is_tenant", "on_disk", b"on_disk"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_is_tenant", b"_is_tenant"]) -> typing_extensions.Literal["is_tenant"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_on_disk", b"_on_disk"]) -> typing_extensions.Literal["on_disk"] | None: ... + +global___UuidIndexParams = UuidIndexParams class PayloadIndexParams(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - TEXT_INDEX_PARAMS_FIELD_NUMBER: builtins.int + KEYWORD_INDEX_PARAMS_FIELD_NUMBER: builtins.int INTEGER_INDEX_PARAMS_FIELD_NUMBER: builtins.int + FLOAT_INDEX_PARAMS_FIELD_NUMBER: builtins.int + GEO_INDEX_PARAMS_FIELD_NUMBER: builtins.int + TEXT_INDEX_PARAMS_FIELD_NUMBER: builtins.int + BOOL_INDEX_PARAMS_FIELD_NUMBER: builtins.int + DATETIME_INDEX_PARAMS_FIELD_NUMBER: builtins.int + UUID_INDEX_PARAMS_FIELD_NUMBER: builtins.int @property - def text_index_params(self) -> global___TextIndexParams: - """Parameters for text index""" + def keyword_index_params(self) -> global___KeywordIndexParams: + """Parameters for keyword index""" @property def integer_index_params(self) -> global___IntegerIndexParams: """Parameters for integer index""" + @property + def float_index_params(self) -> global___FloatIndexParams: + """Parameters for float index""" + @property + def geo_index_params(self) -> global___GeoIndexParams: + """Parameters for geo index""" + @property + def text_index_params(self) -> global___TextIndexParams: + """Parameters for text index""" + @property + def bool_index_params(self) -> global___BoolIndexParams: + """Parameters for bool index""" + @property + def datetime_index_params(self) -> global___DatetimeIndexParams: + """Parameters for datetime index""" + @property + def uuid_index_params(self) -> global___UuidIndexParams: + """Parameters for uuid index""" def __init__( self, *, - text_index_params: global___TextIndexParams | None = ..., + keyword_index_params: global___KeywordIndexParams | None = ..., integer_index_params: global___IntegerIndexParams | None = ..., + float_index_params: global___FloatIndexParams | None = ..., + geo_index_params: global___GeoIndexParams | None = ..., + text_index_params: global___TextIndexParams | None = ..., + bool_index_params: global___BoolIndexParams | None = ..., + datetime_index_params: global___DatetimeIndexParams | None = ..., + uuid_index_params: global___UuidIndexParams | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["index_params", b"index_params", "integer_index_params", b"integer_index_params", "text_index_params", b"text_index_params"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["index_params", b"index_params", "integer_index_params", b"integer_index_params", "text_index_params", b"text_index_params"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["index_params", b"index_params"]) -> typing_extensions.Literal["text_index_params", "integer_index_params"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["bool_index_params", b"bool_index_params", "datetime_index_params", b"datetime_index_params", "float_index_params", b"float_index_params", "geo_index_params", b"geo_index_params", "index_params", b"index_params", "integer_index_params", b"integer_index_params", "keyword_index_params", b"keyword_index_params", "text_index_params", b"text_index_params", "uuid_index_params", b"uuid_index_params"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["bool_index_params", b"bool_index_params", "datetime_index_params", b"datetime_index_params", "float_index_params", b"float_index_params", "geo_index_params", b"geo_index_params", "index_params", b"index_params", "integer_index_params", b"integer_index_params", "keyword_index_params", b"keyword_index_params", "text_index_params", b"text_index_params", "uuid_index_params", b"uuid_index_params"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["index_params", b"index_params"]) -> typing_extensions.Literal["keyword_index_params", "integer_index_params", "float_index_params", "geo_index_params", "text_index_params", "bool_index_params", "datetime_index_params", "uuid_index_params"] | None: ... global___PayloadIndexParams = PayloadIndexParams @@ -1727,11 +1992,13 @@ class ShardTransferInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor SHARD_ID_FIELD_NUMBER: builtins.int + TO_SHARD_ID_FIELD_NUMBER: builtins.int FROM_FIELD_NUMBER: builtins.int TO_FIELD_NUMBER: builtins.int SYNC_FIELD_NUMBER: builtins.int shard_id: builtins.int """Local shard id""" + to_shard_id: builtins.int to: builtins.int sync: builtins.bool """If `true` transfer is a synchronization of a replicas; If `false` transfer is a moving of a shard from one peer to another""" @@ -1739,13 +2006,39 @@ class ShardTransferInfo(google.protobuf.message.Message): self, *, shard_id: builtins.int = ..., + to_shard_id: builtins.int | None = ..., to: builtins.int = ..., sync: builtins.bool = ..., ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["from", b"from", "shard_id", b"shard_id", "sync", b"sync", "to", b"to"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_to_shard_id", b"_to_shard_id", "to_shard_id", b"to_shard_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_to_shard_id", b"_to_shard_id", "from", b"from", "shard_id", b"shard_id", "sync", b"sync", "to", b"to", "to_shard_id", b"to_shard_id"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_to_shard_id", b"_to_shard_id"]) -> typing_extensions.Literal["to_shard_id"] | None: ... global___ShardTransferInfo = ShardTransferInfo +class ReshardingInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SHARD_ID_FIELD_NUMBER: builtins.int + PEER_ID_FIELD_NUMBER: builtins.int + SHARD_KEY_FIELD_NUMBER: builtins.int + shard_id: builtins.int + peer_id: builtins.int + @property + def shard_key(self) -> global___ShardKey: ... + def __init__( + self, + *, + shard_id: builtins.int = ..., + peer_id: builtins.int = ..., + shard_key: global___ShardKey | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_shard_key", b"_shard_key", "shard_key", b"shard_key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_shard_key", b"_shard_key", "peer_id", b"peer_id", "shard_id", b"shard_id", "shard_key", b"shard_key"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key", b"_shard_key"]) -> typing_extensions.Literal["shard_key"] | None: ... + +global___ReshardingInfo = ReshardingInfo + class CollectionClusterInfoResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1784,11 +2077,13 @@ class MoveShard(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor SHARD_ID_FIELD_NUMBER: builtins.int + TO_SHARD_ID_FIELD_NUMBER: builtins.int FROM_PEER_ID_FIELD_NUMBER: builtins.int TO_PEER_ID_FIELD_NUMBER: builtins.int METHOD_FIELD_NUMBER: builtins.int shard_id: builtins.int """Local shard id""" + to_shard_id: builtins.int from_peer_id: builtins.int to_peer_id: builtins.int method: global___ShardTransferMethod.ValueType @@ -1796,25 +2091,89 @@ class MoveShard(google.protobuf.message.Message): self, *, shard_id: builtins.int = ..., + to_shard_id: builtins.int | None = ..., from_peer_id: builtins.int = ..., to_peer_id: builtins.int = ..., method: global___ShardTransferMethod.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_method", b"_method", "method", b"method"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_method", b"_method", "from_peer_id", b"from_peer_id", "method", b"method", "shard_id", b"shard_id", "to_peer_id", b"to_peer_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_method", b"_method", "_to_shard_id", b"_to_shard_id", "method", b"method", "to_shard_id", b"to_shard_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_method", b"_method", "_to_shard_id", b"_to_shard_id", "from_peer_id", b"from_peer_id", "method", b"method", "shard_id", b"shard_id", "to_peer_id", b"to_peer_id", "to_shard_id", b"to_shard_id"]) -> None: ... + @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_method", b"_method"]) -> typing_extensions.Literal["method"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_to_shard_id", b"_to_shard_id"]) -> typing_extensions.Literal["to_shard_id"] | None: ... global___MoveShard = MoveShard +class ReplicateShard(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SHARD_ID_FIELD_NUMBER: builtins.int + TO_SHARD_ID_FIELD_NUMBER: builtins.int + FROM_PEER_ID_FIELD_NUMBER: builtins.int + TO_PEER_ID_FIELD_NUMBER: builtins.int + METHOD_FIELD_NUMBER: builtins.int + shard_id: builtins.int + """Local shard id""" + to_shard_id: builtins.int + from_peer_id: builtins.int + to_peer_id: builtins.int + method: global___ShardTransferMethod.ValueType + def __init__( + self, + *, + shard_id: builtins.int = ..., + to_shard_id: builtins.int | None = ..., + from_peer_id: builtins.int = ..., + to_peer_id: builtins.int = ..., + method: global___ShardTransferMethod.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_method", b"_method", "_to_shard_id", b"_to_shard_id", "method", b"method", "to_shard_id", b"to_shard_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_method", b"_method", "_to_shard_id", b"_to_shard_id", "from_peer_id", b"from_peer_id", "method", b"method", "shard_id", b"shard_id", "to_peer_id", b"to_peer_id", "to_shard_id", b"to_shard_id"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_method", b"_method"]) -> typing_extensions.Literal["method"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_to_shard_id", b"_to_shard_id"]) -> typing_extensions.Literal["to_shard_id"] | None: ... + +global___ReplicateShard = ReplicateShard + +class AbortShardTransfer(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SHARD_ID_FIELD_NUMBER: builtins.int + TO_SHARD_ID_FIELD_NUMBER: builtins.int + FROM_PEER_ID_FIELD_NUMBER: builtins.int + TO_PEER_ID_FIELD_NUMBER: builtins.int + shard_id: builtins.int + """Local shard id""" + to_shard_id: builtins.int + from_peer_id: builtins.int + to_peer_id: builtins.int + def __init__( + self, + *, + shard_id: builtins.int = ..., + to_shard_id: builtins.int | None = ..., + from_peer_id: builtins.int = ..., + to_peer_id: builtins.int = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_to_shard_id", b"_to_shard_id", "to_shard_id", b"to_shard_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_to_shard_id", b"_to_shard_id", "from_peer_id", b"from_peer_id", "shard_id", b"shard_id", "to_peer_id", b"to_peer_id", "to_shard_id", b"to_shard_id"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_to_shard_id", b"_to_shard_id"]) -> typing_extensions.Literal["to_shard_id"] | None: ... + +global___AbortShardTransfer = AbortShardTransfer + class RestartTransfer(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor SHARD_ID_FIELD_NUMBER: builtins.int + TO_SHARD_ID_FIELD_NUMBER: builtins.int FROM_PEER_ID_FIELD_NUMBER: builtins.int TO_PEER_ID_FIELD_NUMBER: builtins.int METHOD_FIELD_NUMBER: builtins.int shard_id: builtins.int """Local shard id""" + to_shard_id: builtins.int from_peer_id: builtins.int to_peer_id: builtins.int method: global___ShardTransferMethod.ValueType @@ -1822,11 +2181,14 @@ class RestartTransfer(google.protobuf.message.Message): self, *, shard_id: builtins.int = ..., + to_shard_id: builtins.int | None = ..., from_peer_id: builtins.int = ..., to_peer_id: builtins.int = ..., method: global___ShardTransferMethod.ValueType = ..., ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["from_peer_id", b"from_peer_id", "method", b"method", "shard_id", b"shard_id", "to_peer_id", b"to_peer_id"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_to_shard_id", b"_to_shard_id", "to_shard_id", b"to_shard_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_to_shard_id", b"_to_shard_id", "from_peer_id", b"from_peer_id", "method", b"method", "shard_id", b"shard_id", "to_peer_id", b"to_peer_id", "to_shard_id", b"to_shard_id"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_to_shard_id", b"_to_shard_id"]) -> typing_extensions.Literal["to_shard_id"] | None: ... global___RestartTransfer = RestartTransfer @@ -1915,9 +2277,9 @@ class UpdateCollectionClusterSetupRequest(google.protobuf.message.Message): @property def move_shard(self) -> global___MoveShard: ... @property - def replicate_shard(self) -> global___MoveShard: ... + def replicate_shard(self) -> global___ReplicateShard: ... @property - def abort_transfer(self) -> global___MoveShard: ... + def abort_transfer(self) -> global___AbortShardTransfer: ... @property def drop_replica(self) -> global___Replica: ... @property @@ -1933,8 +2295,8 @@ class UpdateCollectionClusterSetupRequest(google.protobuf.message.Message): *, collection_name: builtins.str = ..., move_shard: global___MoveShard | None = ..., - replicate_shard: global___MoveShard | None = ..., - abort_transfer: global___MoveShard | None = ..., + replicate_shard: global___ReplicateShard | None = ..., + abort_transfer: global___AbortShardTransfer | None = ..., drop_replica: global___Replica | None = ..., create_shard_key: global___CreateShardKey | None = ..., delete_shard_key: global___DeleteShardKey | None = ..., diff --git a/qdrant_client/grpc/points_pb2.py b/qdrant_client/grpc/points_pb2.py index cde943019..c8e1f155b 100644 --- a/qdrant_client/grpc/points_pb2.py +++ b/qdrant_client/grpc/points_pb2.py @@ -18,7 +18,7 @@ from . import json_with_int_pb2 as json__with__int__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cpoints.proto\x12\x06qdrant\x1a\x11\x63ollections.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x13json_with_int.proto\"8\n\rWriteOrdering\x12\'\n\x04type\x18\x01 \x01(\x0e\x32\x19.qdrant.WriteOrderingType\"Y\n\x0fReadConsistency\x12+\n\x04type\x18\x01 \x01(\x0e\x32\x1b.qdrant.ReadConsistencyTypeH\x00\x12\x10\n\x06\x66\x61\x63tor\x18\x02 \x01(\x04H\x00\x42\x07\n\x05value\"<\n\x07PointId\x12\r\n\x03num\x18\x01 \x01(\x04H\x00\x12\x0e\n\x04uuid\x18\x02 \x01(\tH\x00\x42\x12\n\x10point_id_options\"\x1d\n\rSparseIndices\x12\x0c\n\x04\x64\x61ta\x18\x01 \x03(\r\"}\n\x06Vector\x12\x0c\n\x04\x64\x61ta\x18\x01 \x03(\x02\x12+\n\x07indices\x18\x02 \x01(\x0b\x32\x15.qdrant.SparseIndicesH\x00\x88\x01\x01\x12\x1a\n\rvectors_count\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\n\n\x08_indicesB\x10\n\x0e_vectors_count\"\x1b\n\x0b\x44\x65nseVector\x12\x0c\n\x04\x64\x61ta\x18\x01 \x03(\x02\"/\n\x0cSparseVector\x12\x0e\n\x06values\x18\x01 \x03(\x02\x12\x0f\n\x07indices\x18\x02 \x03(\r\"8\n\x10MultiDenseVector\x12$\n\x07vectors\x18\x01 \x03(\x0b\x32\x13.qdrant.DenseVector\"\xb6\x01\n\x0bVectorInput\x12\x1d\n\x02id\x18\x01 \x01(\x0b\x32\x0f.qdrant.PointIdH\x00\x12$\n\x05\x64\x65nse\x18\x02 \x01(\x0b\x32\x13.qdrant.DenseVectorH\x00\x12&\n\x06sparse\x18\x03 \x01(\x0b\x32\x14.qdrant.SparseVectorH\x00\x12/\n\x0bmulti_dense\x18\x04 \x01(\x0b\x32\x18.qdrant.MultiDenseVectorH\x00\x42\t\n\x07variant\"8\n\x10ShardKeySelector\x12$\n\nshard_keys\x18\x01 \x03(\x0b\x32\x10.qdrant.ShardKey\"\xf5\x01\n\x0cUpsertPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12#\n\x06points\x18\x03 \x03(\x0b\x32\x13.qdrant.PointStruct\x12,\n\x08ordering\x18\x04 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x01\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x05 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x02\x88\x01\x01\x42\x07\n\x05_waitB\x0b\n\t_orderingB\x15\n\x13_shard_key_selector\"\xf8\x01\n\x0c\x44\x65letePoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12&\n\x06points\x18\x03 \x01(\x0b\x32\x16.qdrant.PointsSelector\x12,\n\x08ordering\x18\x04 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x01\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x05 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x02\x88\x01\x01\x42\x07\n\x05_waitB\x0b\n\t_orderingB\x15\n\x13_shard_key_selector\"\x85\x03\n\tGetPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x1c\n\x03ids\x18\x02 \x03(\x0b\x32\x0f.qdrant.PointId\x12\x31\n\x0cwith_payload\x18\x04 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12\x36\n\x0cwith_vectors\x18\x05 \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x00\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x06 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x01\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x07 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x02\x88\x01\x01\x12\x14\n\x07timeout\x18\x08 \x01(\x04H\x03\x88\x01\x01\x42\x0f\n\r_with_vectorsB\x13\n\x11_read_consistencyB\x15\n\x13_shard_key_selectorB\n\n\x08_timeoutJ\x04\x08\x03\x10\x04\"\xfc\x01\n\x12UpdatePointVectors\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12$\n\x06points\x18\x03 \x03(\x0b\x32\x14.qdrant.PointVectors\x12,\n\x08ordering\x18\x04 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x01\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x05 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x02\x88\x01\x01\x42\x07\n\x05_waitB\x0b\n\t_orderingB\x15\n\x13_shard_key_selector\"M\n\x0cPointVectors\x12\x1b\n\x02id\x18\x01 \x01(\x0b\x32\x0f.qdrant.PointId\x12 \n\x07vectors\x18\x02 \x01(\x0b\x32\x0f.qdrant.Vectors\"\xb1\x02\n\x12\x44\x65letePointVectors\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12/\n\x0fpoints_selector\x18\x03 \x01(\x0b\x32\x16.qdrant.PointsSelector\x12(\n\x07vectors\x18\x04 \x01(\x0b\x32\x17.qdrant.VectorsSelector\x12,\n\x08ordering\x18\x05 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x01\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x06 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x02\x88\x01\x01\x42\x07\n\x05_waitB\x0b\n\t_orderingB\x15\n\x13_shard_key_selector\"\xb5\x03\n\x10SetPayloadPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x36\n\x07payload\x18\x03 \x03(\x0b\x32%.qdrant.SetPayloadPoints.PayloadEntry\x12\x34\n\x0fpoints_selector\x18\x05 \x01(\x0b\x32\x16.qdrant.PointsSelectorH\x01\x88\x01\x01\x12,\n\x08ordering\x18\x06 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x02\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x07 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x03\x88\x01\x01\x12\x10\n\x03key\x18\x08 \x01(\tH\x04\x88\x01\x01\x1a=\n\x0cPayloadEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.qdrant.Value:\x02\x38\x01\x42\x07\n\x05_waitB\x12\n\x10_points_selectorB\x0b\n\t_orderingB\x15\n\x13_shard_key_selectorB\x06\n\x04_keyJ\x04\x08\x04\x10\x05\"\xb5\x02\n\x13\x44\x65letePayloadPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x0c\n\x04keys\x18\x03 \x03(\t\x12\x34\n\x0fpoints_selector\x18\x05 \x01(\x0b\x32\x16.qdrant.PointsSelectorH\x01\x88\x01\x01\x12,\n\x08ordering\x18\x06 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x02\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x07 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x03\x88\x01\x01\x42\x07\n\x05_waitB\x12\n\x10_points_selectorB\x0b\n\t_orderingB\x15\n\x13_shard_key_selectorJ\x04\x08\x04\x10\x05\"\xfe\x01\n\x12\x43learPayloadPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12&\n\x06points\x18\x03 \x01(\x0b\x32\x16.qdrant.PointsSelector\x12,\n\x08ordering\x18\x04 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x01\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x05 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x02\x88\x01\x01\x42\x07\n\x05_waitB\x0b\n\t_orderingB\x15\n\x13_shard_key_selector\"\xaf\x02\n\x1a\x43reateFieldIndexCollection\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x12\n\nfield_name\x18\x03 \x01(\t\x12*\n\nfield_type\x18\x04 \x01(\x0e\x32\x11.qdrant.FieldTypeH\x01\x88\x01\x01\x12;\n\x12\x66ield_index_params\x18\x05 \x01(\x0b\x32\x1a.qdrant.PayloadIndexParamsH\x02\x88\x01\x01\x12,\n\x08ordering\x18\x06 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x03\x88\x01\x01\x42\x07\n\x05_waitB\r\n\x0b_field_typeB\x15\n\x13_field_index_paramsB\x0b\n\t_ordering\"\xa0\x01\n\x1a\x44\x65leteFieldIndexCollection\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x12\n\nfield_name\x18\x03 \x01(\t\x12,\n\x08ordering\x18\x04 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x01\x88\x01\x01\x42\x07\n\x05_waitB\x0b\n\t_ordering\"(\n\x16PayloadIncludeSelector\x12\x0e\n\x06\x66ields\x18\x01 \x03(\t\"(\n\x16PayloadExcludeSelector\x12\x0e\n\x06\x66ields\x18\x01 \x03(\t\"\xa1\x01\n\x13WithPayloadSelector\x12\x10\n\x06\x65nable\x18\x01 \x01(\x08H\x00\x12\x31\n\x07include\x18\x02 \x01(\x0b\x32\x1e.qdrant.PayloadIncludeSelectorH\x00\x12\x31\n\x07\x65xclude\x18\x03 \x01(\x0b\x32\x1e.qdrant.PayloadExcludeSelectorH\x00\x42\x12\n\x10selector_options\"\x82\x01\n\x0cNamedVectors\x12\x32\n\x07vectors\x18\x01 \x03(\x0b\x32!.qdrant.NamedVectors.VectorsEntry\x1a>\n\x0cVectorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.qdrant.Vector:\x02\x38\x01\"g\n\x07Vectors\x12 \n\x06vector\x18\x01 \x01(\x0b\x32\x0e.qdrant.VectorH\x00\x12\'\n\x07vectors\x18\x02 \x01(\x0b\x32\x14.qdrant.NamedVectorsH\x00\x42\x11\n\x0fvectors_options\" \n\x0fVectorsSelector\x12\r\n\x05names\x18\x01 \x03(\t\"g\n\x13WithVectorsSelector\x12\x10\n\x06\x65nable\x18\x01 \x01(\x08H\x00\x12*\n\x07include\x18\x02 \x01(\x0b\x32\x17.qdrant.VectorsSelectorH\x00\x42\x12\n\x10selector_options\"\x88\x01\n\x18QuantizationSearchParams\x12\x13\n\x06ignore\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07rescore\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x19\n\x0coversampling\x18\x03 \x01(\x01H\x02\x88\x01\x01\x42\t\n\x07_ignoreB\n\n\x08_rescoreB\x0f\n\r_oversampling\"\xc8\x01\n\x0cSearchParams\x12\x14\n\x07hnsw_ef\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x12\n\x05\x65xact\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12;\n\x0cquantization\x18\x03 \x01(\x0b\x32 .qdrant.QuantizationSearchParamsH\x02\x88\x01\x01\x12\x19\n\x0cindexed_only\x18\x04 \x01(\x08H\x03\x88\x01\x01\x42\n\n\x08_hnsw_efB\x08\n\x06_exactB\x0f\n\r_quantizationB\x0f\n\r_indexed_only\"\x92\x05\n\x0cSearchPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x0e\n\x06vector\x18\x02 \x03(\x02\x12\x1e\n\x06\x66ilter\x18\x03 \x01(\x0b\x32\x0e.qdrant.Filter\x12\r\n\x05limit\x18\x04 \x01(\x04\x12\x31\n\x0cwith_payload\x18\x06 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12$\n\x06params\x18\x07 \x01(\x0b\x32\x14.qdrant.SearchParams\x12\x1c\n\x0fscore_threshold\x18\x08 \x01(\x02H\x00\x88\x01\x01\x12\x13\n\x06offset\x18\t \x01(\x04H\x01\x88\x01\x01\x12\x18\n\x0bvector_name\x18\n \x01(\tH\x02\x88\x01\x01\x12\x36\n\x0cwith_vectors\x18\x0b \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x03\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x0c \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x04\x88\x01\x01\x12\x14\n\x07timeout\x18\r \x01(\x04H\x05\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x0e \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x06\x88\x01\x01\x12\x32\n\x0esparse_indices\x18\x0f \x01(\x0b\x32\x15.qdrant.SparseIndicesH\x07\x88\x01\x01\x42\x12\n\x10_score_thresholdB\t\n\x07_offsetB\x0e\n\x0c_vector_nameB\x0f\n\r_with_vectorsB\x13\n\x11_read_consistencyB\n\n\x08_timeoutB\x15\n\x13_shard_key_selectorB\x11\n\x0f_sparse_indicesJ\x04\x08\x05\x10\x06\"\xc8\x01\n\x11SearchBatchPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12+\n\rsearch_points\x18\x02 \x03(\x0b\x32\x14.qdrant.SearchPoints\x12\x36\n\x10read_consistency\x18\x03 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x13\n\x11_read_consistencyB\n\n\x08_timeout\"\xb2\x01\n\nWithLookup\x12\x12\n\ncollection\x18\x01 \x01(\t\x12\x36\n\x0cwith_payload\x18\x02 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelectorH\x00\x88\x01\x01\x12\x36\n\x0cwith_vectors\x18\x03 \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x01\x88\x01\x01\x42\x0f\n\r_with_payloadB\x0f\n\r_with_vectors\"\xd5\x05\n\x11SearchPointGroups\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x0e\n\x06vector\x18\x02 \x03(\x02\x12\x1e\n\x06\x66ilter\x18\x03 \x01(\x0b\x32\x0e.qdrant.Filter\x12\r\n\x05limit\x18\x04 \x01(\r\x12\x31\n\x0cwith_payload\x18\x05 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12$\n\x06params\x18\x06 \x01(\x0b\x32\x14.qdrant.SearchParams\x12\x1c\n\x0fscore_threshold\x18\x07 \x01(\x02H\x00\x88\x01\x01\x12\x18\n\x0bvector_name\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x36\n\x0cwith_vectors\x18\t \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x02\x88\x01\x01\x12\x10\n\x08group_by\x18\n \x01(\t\x12\x12\n\ngroup_size\x18\x0b \x01(\r\x12\x36\n\x10read_consistency\x18\x0c \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x03\x88\x01\x01\x12,\n\x0bwith_lookup\x18\r \x01(\x0b\x32\x12.qdrant.WithLookupH\x04\x88\x01\x01\x12\x14\n\x07timeout\x18\x0e \x01(\x04H\x05\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x0f \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x06\x88\x01\x01\x12\x32\n\x0esparse_indices\x18\x10 \x01(\x0b\x32\x15.qdrant.SparseIndicesH\x07\x88\x01\x01\x42\x12\n\x10_score_thresholdB\x0e\n\x0c_vector_nameB\x0f\n\r_with_vectorsB\x13\n\x11_read_consistencyB\x0e\n\x0c_with_lookupB\n\n\x08_timeoutB\x15\n\x13_shard_key_selectorB\x11\n\x0f_sparse_indices\"}\n\tStartFrom\x12\x0f\n\x05\x66loat\x18\x01 \x01(\x01H\x00\x12\x11\n\x07integer\x18\x02 \x01(\x03H\x00\x12/\n\ttimestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x12\n\x08\x64\x61tetime\x18\x04 \x01(\tH\x00\x42\x07\n\x05value\"\x8a\x01\n\x07OrderBy\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\tdirection\x18\x02 \x01(\x0e\x32\x11.qdrant.DirectionH\x00\x88\x01\x01\x12*\n\nstart_from\x18\x03 \x01(\x0b\x32\x11.qdrant.StartFromH\x01\x88\x01\x01\x42\x0c\n\n_directionB\r\n\x0b_start_from\"\x8e\x04\n\x0cScrollPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x1e\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x0e.qdrant.Filter\x12$\n\x06offset\x18\x03 \x01(\x0b\x32\x0f.qdrant.PointIdH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x31\n\x0cwith_payload\x18\x06 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12\x36\n\x0cwith_vectors\x18\x07 \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x02\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x08 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x03\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\t \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x04\x88\x01\x01\x12&\n\x08order_by\x18\n \x01(\x0b\x32\x0f.qdrant.OrderByH\x05\x88\x01\x01\x12\x14\n\x07timeout\x18\x0b \x01(\x04H\x06\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_limitB\x0f\n\r_with_vectorsB\x13\n\x11_read_consistencyB\x15\n\x13_shard_key_selectorB\x0b\n\t_order_byB\n\n\x08_timeoutJ\x04\x08\x05\x10\x06\"\xa5\x01\n\x0eLookupLocation\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x18\n\x0bvector_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x03 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x01\x88\x01\x01\x42\x0e\n\x0c_vector_nameB\x15\n\x13_shard_key_selector\"\xcd\x06\n\x0fRecommendPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12!\n\x08positive\x18\x02 \x03(\x0b\x32\x0f.qdrant.PointId\x12!\n\x08negative\x18\x03 \x03(\x0b\x32\x0f.qdrant.PointId\x12\x1e\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x0e.qdrant.Filter\x12\r\n\x05limit\x18\x05 \x01(\x04\x12\x31\n\x0cwith_payload\x18\x07 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12$\n\x06params\x18\x08 \x01(\x0b\x32\x14.qdrant.SearchParams\x12\x1c\n\x0fscore_threshold\x18\t \x01(\x02H\x00\x88\x01\x01\x12\x13\n\x06offset\x18\n \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05using\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x36\n\x0cwith_vectors\x18\x0c \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x03\x88\x01\x01\x12\x30\n\x0blookup_from\x18\r \x01(\x0b\x32\x16.qdrant.LookupLocationH\x04\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x0e \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x05\x88\x01\x01\x12\x30\n\x08strategy\x18\x10 \x01(\x0e\x32\x19.qdrant.RecommendStrategyH\x06\x88\x01\x01\x12(\n\x10positive_vectors\x18\x11 \x03(\x0b\x32\x0e.qdrant.Vector\x12(\n\x10negative_vectors\x18\x12 \x03(\x0b\x32\x0e.qdrant.Vector\x12\x14\n\x07timeout\x18\x13 \x01(\x04H\x07\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x14 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x08\x88\x01\x01\x42\x12\n\x10_score_thresholdB\t\n\x07_offsetB\x08\n\x06_usingB\x0f\n\r_with_vectorsB\x0e\n\x0c_lookup_fromB\x13\n\x11_read_consistencyB\x0b\n\t_strategyB\n\n\x08_timeoutB\x15\n\x13_shard_key_selectorJ\x04\x08\x06\x10\x07\"\xd1\x01\n\x14RecommendBatchPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x31\n\x10recommend_points\x18\x02 \x03(\x0b\x32\x17.qdrant.RecommendPoints\x12\x36\n\x10read_consistency\x18\x03 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x13\n\x11_read_consistencyB\n\n\x08_timeout\"\x90\x07\n\x14RecommendPointGroups\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12!\n\x08positive\x18\x02 \x03(\x0b\x32\x0f.qdrant.PointId\x12!\n\x08negative\x18\x03 \x03(\x0b\x32\x0f.qdrant.PointId\x12\x1e\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x0e.qdrant.Filter\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x31\n\x0cwith_payload\x18\x06 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12$\n\x06params\x18\x07 \x01(\x0b\x32\x14.qdrant.SearchParams\x12\x1c\n\x0fscore_threshold\x18\x08 \x01(\x02H\x00\x88\x01\x01\x12\x12\n\x05using\x18\t \x01(\tH\x01\x88\x01\x01\x12\x36\n\x0cwith_vectors\x18\n \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x02\x88\x01\x01\x12\x30\n\x0blookup_from\x18\x0b \x01(\x0b\x32\x16.qdrant.LookupLocationH\x03\x88\x01\x01\x12\x10\n\x08group_by\x18\x0c \x01(\t\x12\x12\n\ngroup_size\x18\r \x01(\r\x12\x36\n\x10read_consistency\x18\x0e \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x04\x88\x01\x01\x12,\n\x0bwith_lookup\x18\x0f \x01(\x0b\x32\x12.qdrant.WithLookupH\x05\x88\x01\x01\x12\x30\n\x08strategy\x18\x11 \x01(\x0e\x32\x19.qdrant.RecommendStrategyH\x06\x88\x01\x01\x12(\n\x10positive_vectors\x18\x12 \x03(\x0b\x32\x0e.qdrant.Vector\x12(\n\x10negative_vectors\x18\x13 \x03(\x0b\x32\x0e.qdrant.Vector\x12\x14\n\x07timeout\x18\x14 \x01(\x04H\x07\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x15 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x08\x88\x01\x01\x42\x12\n\x10_score_thresholdB\x08\n\x06_usingB\x0f\n\r_with_vectorsB\x0e\n\x0c_lookup_fromB\x13\n\x11_read_consistencyB\x0e\n\x0c_with_lookupB\x0b\n\t_strategyB\n\n\x08_timeoutB\x15\n\x13_shard_key_selector\"A\n\x0cTargetVector\x12\'\n\x06single\x18\x01 \x01(\x0b\x32\x15.qdrant.VectorExampleH\x00\x42\x08\n\x06target\"[\n\rVectorExample\x12\x1d\n\x02id\x18\x01 \x01(\x0b\x32\x0f.qdrant.PointIdH\x00\x12 \n\x06vector\x18\x02 \x01(\x0b\x32\x0e.qdrant.VectorH\x00\x42\t\n\x07\x65xample\"f\n\x12\x43ontextExamplePair\x12\'\n\x08positive\x18\x01 \x01(\x0b\x32\x15.qdrant.VectorExample\x12\'\n\x08negative\x18\x02 \x01(\x0b\x32\x15.qdrant.VectorExample\"\x8e\x05\n\x0e\x44iscoverPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12$\n\x06target\x18\x02 \x01(\x0b\x32\x14.qdrant.TargetVector\x12+\n\x07\x63ontext\x18\x03 \x03(\x0b\x32\x1a.qdrant.ContextExamplePair\x12\x1e\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x0e.qdrant.Filter\x12\r\n\x05limit\x18\x05 \x01(\x04\x12\x31\n\x0cwith_payload\x18\x06 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12$\n\x06params\x18\x07 \x01(\x0b\x32\x14.qdrant.SearchParams\x12\x13\n\x06offset\x18\x08 \x01(\x04H\x00\x88\x01\x01\x12\x12\n\x05using\x18\t \x01(\tH\x01\x88\x01\x01\x12\x36\n\x0cwith_vectors\x18\n \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x02\x88\x01\x01\x12\x30\n\x0blookup_from\x18\x0b \x01(\x0b\x32\x16.qdrant.LookupLocationH\x03\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x0c \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x04\x88\x01\x01\x12\x14\n\x07timeout\x18\r \x01(\x04H\x05\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x0e \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x06\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_usingB\x0f\n\r_with_vectorsB\x0e\n\x0c_lookup_fromB\x13\n\x11_read_consistencyB\n\n\x08_timeoutB\x15\n\x13_shard_key_selector\"\xce\x01\n\x13\x44iscoverBatchPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12/\n\x0f\x64iscover_points\x18\x02 \x03(\x0b\x32\x16.qdrant.DiscoverPoints\x12\x36\n\x10read_consistency\x18\x03 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x13\n\x11_read_consistencyB\n\n\x08_timeout\"\xa5\x02\n\x0b\x43ountPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x1e\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x0e.qdrant.Filter\x12\x12\n\x05\x65xact\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x04 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x01\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x05 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x02\x88\x01\x01\x12\x14\n\x07timeout\x18\x06 \x01(\x04H\x03\x88\x01\x01\x42\x08\n\x06_exactB\x13\n\x11_read_consistencyB\x15\n\x13_shard_key_selectorB\n\n\x08_timeout\"\x9d\x01\n\x0eRecommendInput\x12%\n\x08positive\x18\x01 \x03(\x0b\x32\x13.qdrant.VectorInput\x12%\n\x08negative\x18\x02 \x03(\x0b\x32\x13.qdrant.VectorInput\x12\x30\n\x08strategy\x18\x03 \x01(\x0e\x32\x19.qdrant.RecommendStrategyH\x00\x88\x01\x01\x42\x0b\n\t_strategy\"`\n\x10\x43ontextInputPair\x12%\n\x08positive\x18\x01 \x01(\x0b\x32\x13.qdrant.VectorInput\x12%\n\x08negative\x18\x02 \x01(\x0b\x32\x13.qdrant.VectorInput\"[\n\rDiscoverInput\x12#\n\x06target\x18\x01 \x01(\x0b\x32\x13.qdrant.VectorInput\x12%\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x14.qdrant.ContextInput\"7\n\x0c\x43ontextInput\x12\'\n\x05pairs\x18\x01 \x03(\x0b\x32\x18.qdrant.ContextInputPair\"\xa4\x02\n\x05Query\x12&\n\x07nearest\x18\x01 \x01(\x0b\x32\x13.qdrant.VectorInputH\x00\x12+\n\trecommend\x18\x02 \x01(\x0b\x32\x16.qdrant.RecommendInputH\x00\x12)\n\x08\x64iscover\x18\x03 \x01(\x0b\x32\x15.qdrant.DiscoverInputH\x00\x12\'\n\x07\x63ontext\x18\x04 \x01(\x0b\x32\x14.qdrant.ContextInputH\x00\x12#\n\x08order_by\x18\x05 \x01(\x0b\x32\x0f.qdrant.OrderByH\x00\x12 \n\x06\x66usion\x18\x06 \x01(\x0e\x32\x0e.qdrant.FusionH\x00\x12 \n\x06sample\x18\x07 \x01(\x0e\x32\x0e.qdrant.SampleH\x00\x42\t\n\x07variant\"\xfb\x02\n\rPrefetchQuery\x12\'\n\x08prefetch\x18\x01 \x03(\x0b\x32\x15.qdrant.PrefetchQuery\x12!\n\x05query\x18\x02 \x01(\x0b\x32\r.qdrant.QueryH\x00\x88\x01\x01\x12\x12\n\x05using\x18\x03 \x01(\tH\x01\x88\x01\x01\x12#\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x0e.qdrant.FilterH\x02\x88\x01\x01\x12)\n\x06params\x18\x05 \x01(\x0b\x32\x14.qdrant.SearchParamsH\x03\x88\x01\x01\x12\x1c\n\x0fscore_threshold\x18\x06 \x01(\x02H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x07 \x01(\x04H\x05\x88\x01\x01\x12\x30\n\x0blookup_from\x18\x08 \x01(\x0b\x32\x16.qdrant.LookupLocationH\x06\x88\x01\x01\x42\x08\n\x06_queryB\x08\n\x06_usingB\t\n\x07_filterB\t\n\x07_paramsB\x12\n\x10_score_thresholdB\x08\n\x06_limitB\x0e\n\x0c_lookup_from\"\x85\x06\n\x0bQueryPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\'\n\x08prefetch\x18\x02 \x03(\x0b\x32\x15.qdrant.PrefetchQuery\x12!\n\x05query\x18\x03 \x01(\x0b\x32\r.qdrant.QueryH\x00\x88\x01\x01\x12\x12\n\x05using\x18\x04 \x01(\tH\x01\x88\x01\x01\x12#\n\x06\x66ilter\x18\x05 \x01(\x0b\x32\x0e.qdrant.FilterH\x02\x88\x01\x01\x12)\n\x06params\x18\x06 \x01(\x0b\x32\x14.qdrant.SearchParamsH\x03\x88\x01\x01\x12\x1c\n\x0fscore_threshold\x18\x07 \x01(\x02H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x08 \x01(\x04H\x05\x88\x01\x01\x12\x13\n\x06offset\x18\t \x01(\x04H\x06\x88\x01\x01\x12\x36\n\x0cwith_vectors\x18\n \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x07\x88\x01\x01\x12\x36\n\x0cwith_payload\x18\x0b \x01(\x0b\x32\x1b.qdrant.WithPayloadSelectorH\x08\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x0c \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\t\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\r \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\n\x88\x01\x01\x12\x30\n\x0blookup_from\x18\x0e \x01(\x0b\x32\x16.qdrant.LookupLocationH\x0b\x88\x01\x01\x12\x14\n\x07timeout\x18\x0f \x01(\x04H\x0c\x88\x01\x01\x42\x08\n\x06_queryB\x08\n\x06_usingB\t\n\x07_filterB\t\n\x07_paramsB\x12\n\x10_score_thresholdB\x08\n\x06_limitB\t\n\x07_offsetB\x0f\n\r_with_vectorsB\x0f\n\r_with_payloadB\x13\n\x11_read_consistencyB\x15\n\x13_shard_key_selectorB\x0e\n\x0c_lookup_fromB\n\n\x08_timeout\"\xc5\x01\n\x10QueryBatchPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12)\n\x0cquery_points\x18\x02 \x03(\x0b\x32\x13.qdrant.QueryPoints\x12\x36\n\x10read_consistency\x18\x03 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x13\n\x11_read_consistencyB\n\n\x08_timeout\"\xcc\x06\n\x10QueryPointGroups\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\'\n\x08prefetch\x18\x02 \x03(\x0b\x32\x15.qdrant.PrefetchQuery\x12!\n\x05query\x18\x03 \x01(\x0b\x32\r.qdrant.QueryH\x00\x88\x01\x01\x12\x12\n\x05using\x18\x04 \x01(\tH\x01\x88\x01\x01\x12#\n\x06\x66ilter\x18\x05 \x01(\x0b\x32\x0e.qdrant.FilterH\x02\x88\x01\x01\x12)\n\x06params\x18\x06 \x01(\x0b\x32\x14.qdrant.SearchParamsH\x03\x88\x01\x01\x12\x1c\n\x0fscore_threshold\x18\x07 \x01(\x02H\x04\x88\x01\x01\x12\x31\n\x0cwith_payload\x18\x08 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12\x36\n\x0cwith_vectors\x18\t \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x05\x88\x01\x01\x12\x30\n\x0blookup_from\x18\n \x01(\x0b\x32\x16.qdrant.LookupLocationH\x06\x88\x01\x01\x12\x12\n\x05limit\x18\x0b \x01(\x04H\x07\x88\x01\x01\x12\x17\n\ngroup_size\x18\x0c \x01(\x04H\x08\x88\x01\x01\x12\x10\n\x08group_by\x18\r \x01(\t\x12\x36\n\x10read_consistency\x18\x0e \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\t\x88\x01\x01\x12,\n\x0bwith_lookup\x18\x0f \x01(\x0b\x32\x12.qdrant.WithLookupH\n\x88\x01\x01\x12\x14\n\x07timeout\x18\x10 \x01(\x04H\x0b\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x11 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x0c\x88\x01\x01\x42\x08\n\x06_queryB\x08\n\x06_usingB\t\n\x07_filterB\t\n\x07_paramsB\x12\n\x10_score_thresholdB\x0f\n\r_with_vectorsB\x0e\n\x0c_lookup_fromB\x08\n\x06_limitB\r\n\x0b_group_sizeB\x13\n\x11_read_consistencyB\x0e\n\x0c_with_lookupB\n\n\x08_timeoutB\x15\n\x13_shard_key_selector\"/\n\nFacetValue\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x42\t\n\x07variant\"A\n\rFacetValueHit\x12!\n\x05value\x18\x01 \x01(\x0b\x32\x12.qdrant.FacetValue\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\"\x95\x12\n\x15PointsUpdateOperation\x12?\n\x06upsert\x18\x01 \x01(\x0b\x32-.qdrant.PointsUpdateOperation.PointStructListH\x00\x12\x37\n\x11\x64\x65lete_deprecated\x18\x02 \x01(\x0b\x32\x16.qdrant.PointsSelectorB\x02\x18\x01H\x00\x12?\n\x0bset_payload\x18\x03 \x01(\x0b\x32(.qdrant.PointsUpdateOperation.SetPayloadH\x00\x12K\n\x11overwrite_payload\x18\x04 \x01(\x0b\x32..qdrant.PointsUpdateOperation.OverwritePayloadH\x00\x12\x45\n\x0e\x64\x65lete_payload\x18\x05 \x01(\x0b\x32+.qdrant.PointsUpdateOperation.DeletePayloadH\x00\x12>\n\x18\x63lear_payload_deprecated\x18\x06 \x01(\x0b\x32\x16.qdrant.PointsSelectorB\x02\x18\x01H\x00\x12\x45\n\x0eupdate_vectors\x18\x07 \x01(\x0b\x32+.qdrant.PointsUpdateOperation.UpdateVectorsH\x00\x12\x45\n\x0e\x64\x65lete_vectors\x18\x08 \x01(\x0b\x32+.qdrant.PointsUpdateOperation.DeleteVectorsH\x00\x12\x43\n\rdelete_points\x18\t \x01(\x0b\x32*.qdrant.PointsUpdateOperation.DeletePointsH\x00\x12\x43\n\rclear_payload\x18\n \x01(\x0b\x32*.qdrant.PointsUpdateOperation.ClearPayloadH\x00\x1a\x88\x01\n\x0fPointStructList\x12#\n\x06points\x18\x01 \x03(\x0b\x32\x13.qdrant.PointStruct\x12\x39\n\x12shard_key_selector\x18\x02 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x00\x88\x01\x01\x42\x15\n\x13_shard_key_selector\x1a\xc9\x02\n\nSetPayload\x12\x46\n\x07payload\x18\x01 \x03(\x0b\x32\x35.qdrant.PointsUpdateOperation.SetPayload.PayloadEntry\x12\x34\n\x0fpoints_selector\x18\x02 \x01(\x0b\x32\x16.qdrant.PointsSelectorH\x00\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x03 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x01\x88\x01\x01\x12\x10\n\x03key\x18\x04 \x01(\tH\x02\x88\x01\x01\x1a=\n\x0cPayloadEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.qdrant.Value:\x02\x38\x01\x42\x12\n\x10_points_selectorB\x15\n\x13_shard_key_selectorB\x06\n\x04_key\x1a\xd5\x02\n\x10OverwritePayload\x12L\n\x07payload\x18\x01 \x03(\x0b\x32;.qdrant.PointsUpdateOperation.OverwritePayload.PayloadEntry\x12\x34\n\x0fpoints_selector\x18\x02 \x01(\x0b\x32\x16.qdrant.PointsSelectorH\x00\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x03 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x01\x88\x01\x01\x12\x10\n\x03key\x18\x04 \x01(\tH\x02\x88\x01\x01\x1a=\n\x0cPayloadEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.qdrant.Value:\x02\x38\x01\x42\x12\n\x10_points_selectorB\x15\n\x13_shard_key_selectorB\x06\n\x04_key\x1a\xb9\x01\n\rDeletePayload\x12\x0c\n\x04keys\x18\x01 \x03(\t\x12\x34\n\x0fpoints_selector\x18\x02 \x01(\x0b\x32\x16.qdrant.PointsSelectorH\x00\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x03 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x01\x88\x01\x01\x42\x12\n\x10_points_selectorB\x15\n\x13_shard_key_selector\x1a\x87\x01\n\rUpdateVectors\x12$\n\x06points\x18\x01 \x03(\x0b\x32\x14.qdrant.PointVectors\x12\x39\n\x12shard_key_selector\x18\x02 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x00\x88\x01\x01\x42\x15\n\x13_shard_key_selector\x1a\xbc\x01\n\rDeleteVectors\x12/\n\x0fpoints_selector\x18\x01 \x01(\x0b\x32\x16.qdrant.PointsSelector\x12(\n\x07vectors\x18\x02 \x01(\x0b\x32\x17.qdrant.VectorsSelector\x12\x39\n\x12shard_key_selector\x18\x03 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x00\x88\x01\x01\x42\x15\n\x13_shard_key_selector\x1a\x88\x01\n\x0c\x44\x65letePoints\x12&\n\x06points\x18\x01 \x01(\x0b\x32\x16.qdrant.PointsSelector\x12\x39\n\x12shard_key_selector\x18\x02 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x00\x88\x01\x01\x42\x15\n\x13_shard_key_selector\x1a\x88\x01\n\x0c\x43learPayload\x12&\n\x06points\x18\x01 \x01(\x0b\x32\x16.qdrant.PointsSelector\x12\x39\n\x12shard_key_selector\x18\x02 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x00\x88\x01\x01\x42\x15\n\x13_shard_key_selectorB\x0b\n\toperation\"\xb6\x01\n\x11UpdateBatchPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x31\n\noperations\x18\x03 \x03(\x0b\x32\x1d.qdrant.PointsUpdateOperation\x12,\n\x08ordering\x18\x04 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x01\x88\x01\x01\x42\x07\n\x05_waitB\x0b\n\t_ordering\"M\n\x17PointsOperationResponse\x12$\n\x06result\x18\x01 \x01(\x0b\x32\x14.qdrant.UpdateResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"`\n\x0cUpdateResult\x12\x19\n\x0coperation_id\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12$\n\x06status\x18\x02 \x01(\x0e\x32\x14.qdrant.UpdateStatusB\x0f\n\r_operation_id\"7\n\nOrderValue\x12\r\n\x03int\x18\x01 \x01(\x03H\x00\x12\x0f\n\x05\x66loat\x18\x02 \x01(\x01H\x00\x42\t\n\x07variant\"\xeb\x02\n\x0bScoredPoint\x12\x1b\n\x02id\x18\x01 \x01(\x0b\x32\x0f.qdrant.PointId\x12\x31\n\x07payload\x18\x02 \x03(\x0b\x32 .qdrant.ScoredPoint.PayloadEntry\x12\r\n\x05score\x18\x03 \x01(\x02\x12\x0f\n\x07version\x18\x05 \x01(\x04\x12%\n\x07vectors\x18\x06 \x01(\x0b\x32\x0f.qdrant.VectorsH\x00\x88\x01\x01\x12(\n\tshard_key\x18\x07 \x01(\x0b\x32\x10.qdrant.ShardKeyH\x01\x88\x01\x01\x12,\n\x0border_value\x18\x08 \x01(\x0b\x32\x12.qdrant.OrderValueH\x02\x88\x01\x01\x1a=\n\x0cPayloadEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.qdrant.Value:\x02\x38\x01\x42\n\n\x08_vectorsB\x0c\n\n_shard_keyB\x0e\n\x0c_order_valueJ\x04\x08\x04\x10\x05\"\\\n\x07GroupId\x12\x18\n\x0eunsigned_value\x18\x01 \x01(\x04H\x00\x12\x17\n\rinteger_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0cstring_value\x18\x03 \x01(\tH\x00\x42\x06\n\x04kind\"t\n\nPointGroup\x12\x1b\n\x02id\x18\x01 \x01(\x0b\x32\x0f.qdrant.GroupId\x12!\n\x04hits\x18\x02 \x03(\x0b\x32\x13.qdrant.ScoredPoint\x12&\n\x06lookup\x18\x03 \x01(\x0b\x32\x16.qdrant.RetrievedPoint\"2\n\x0cGroupsResult\x12\"\n\x06groups\x18\x01 \x03(\x0b\x32\x12.qdrant.PointGroup\"C\n\x0eSearchResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.ScoredPoint\x12\x0c\n\x04time\x18\x02 \x01(\x01\"B\n\rQueryResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.ScoredPoint\x12\x0c\n\x04time\x18\x02 \x01(\x01\"G\n\x12QueryBatchResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.BatchResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"I\n\x13QueryGroupsResponse\x12$\n\x06result\x18\x01 \x01(\x0b\x32\x14.qdrant.GroupsResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"2\n\x0b\x42\x61tchResult\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.ScoredPoint\"H\n\x13SearchBatchResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.BatchResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"J\n\x14SearchGroupsResponse\x12$\n\x06result\x18\x01 \x01(\x0b\x32\x14.qdrant.GroupsResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"B\n\rCountResponse\x12#\n\x06result\x18\x01 \x01(\x0b\x32\x13.qdrant.CountResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"\x8b\x01\n\x0eScrollResponse\x12.\n\x10next_page_offset\x18\x01 \x01(\x0b\x32\x0f.qdrant.PointIdH\x00\x88\x01\x01\x12&\n\x06result\x18\x02 \x03(\x0b\x32\x16.qdrant.RetrievedPoint\x12\x0c\n\x04time\x18\x03 \x01(\x01\x42\x13\n\x11_next_page_offset\"\x1c\n\x0b\x43ountResult\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\"\xd1\x02\n\x0eRetrievedPoint\x12\x1b\n\x02id\x18\x01 \x01(\x0b\x32\x0f.qdrant.PointId\x12\x34\n\x07payload\x18\x02 \x03(\x0b\x32#.qdrant.RetrievedPoint.PayloadEntry\x12%\n\x07vectors\x18\x04 \x01(\x0b\x32\x0f.qdrant.VectorsH\x00\x88\x01\x01\x12(\n\tshard_key\x18\x05 \x01(\x0b\x32\x10.qdrant.ShardKeyH\x01\x88\x01\x01\x12,\n\x0border_value\x18\x06 \x01(\x0b\x32\x12.qdrant.OrderValueH\x02\x88\x01\x01\x1a=\n\x0cPayloadEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.qdrant.Value:\x02\x38\x01\x42\n\n\x08_vectorsB\x0c\n\n_shard_keyB\x0e\n\x0c_order_valueJ\x04\x08\x03\x10\x04\"C\n\x0bGetResponse\x12&\n\x06result\x18\x01 \x03(\x0b\x32\x16.qdrant.RetrievedPoint\x12\x0c\n\x04time\x18\x02 \x01(\x01\"F\n\x11RecommendResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.ScoredPoint\x12\x0c\n\x04time\x18\x02 \x01(\x01\"K\n\x16RecommendBatchResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.BatchResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"E\n\x10\x44iscoverResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.ScoredPoint\x12\x0c\n\x04time\x18\x02 \x01(\x01\"J\n\x15\x44iscoverBatchResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.BatchResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"M\n\x17RecommendGroupsResponse\x12$\n\x06result\x18\x01 \x01(\x0b\x32\x14.qdrant.GroupsResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"I\n\x13UpdateBatchResponse\x12$\n\x06result\x18\x01 \x03(\x0b\x32\x14.qdrant.UpdateResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"\xac\x01\n\x06\x46ilter\x12!\n\x06should\x18\x01 \x03(\x0b\x32\x11.qdrant.Condition\x12\x1f\n\x04must\x18\x02 \x03(\x0b\x32\x11.qdrant.Condition\x12#\n\x08must_not\x18\x03 \x03(\x0b\x32\x11.qdrant.Condition\x12*\n\nmin_should\x18\x04 \x01(\x0b\x32\x11.qdrant.MinShouldH\x00\x88\x01\x01\x42\r\n\x0b_min_should\"E\n\tMinShould\x12%\n\nconditions\x18\x01 \x03(\x0b\x32\x11.qdrant.Condition\x12\x11\n\tmin_count\x18\x02 \x01(\x04\"\x99\x02\n\tCondition\x12\'\n\x05\x66ield\x18\x01 \x01(\x0b\x32\x16.qdrant.FieldConditionH\x00\x12,\n\x08is_empty\x18\x02 \x01(\x0b\x32\x18.qdrant.IsEmptyConditionH\x00\x12(\n\x06has_id\x18\x03 \x01(\x0b\x32\x16.qdrant.HasIdConditionH\x00\x12 \n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x0e.qdrant.FilterH\x00\x12*\n\x07is_null\x18\x05 \x01(\x0b\x32\x17.qdrant.IsNullConditionH\x00\x12)\n\x06nested\x18\x06 \x01(\x0b\x32\x17.qdrant.NestedConditionH\x00\x42\x12\n\x10\x63ondition_one_of\"\x1f\n\x10IsEmptyCondition\x12\x0b\n\x03key\x18\x01 \x01(\t\"\x1e\n\x0fIsNullCondition\x12\x0b\n\x03key\x18\x01 \x01(\t\"1\n\x0eHasIdCondition\x12\x1f\n\x06has_id\x18\x01 \x03(\x0b\x32\x0f.qdrant.PointId\">\n\x0fNestedCondition\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1e\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x0e.qdrant.Filter\"\xb5\x02\n\x0e\x46ieldCondition\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05match\x18\x02 \x01(\x0b\x32\r.qdrant.Match\x12\x1c\n\x05range\x18\x03 \x01(\x0b\x32\r.qdrant.Range\x12\x30\n\x10geo_bounding_box\x18\x04 \x01(\x0b\x32\x16.qdrant.GeoBoundingBox\x12%\n\ngeo_radius\x18\x05 \x01(\x0b\x32\x11.qdrant.GeoRadius\x12)\n\x0cvalues_count\x18\x06 \x01(\x0b\x32\x13.qdrant.ValuesCount\x12\'\n\x0bgeo_polygon\x18\x07 \x01(\x0b\x32\x12.qdrant.GeoPolygon\x12-\n\x0e\x64\x61tetime_range\x18\x08 \x01(\x0b\x32\x15.qdrant.DatetimeRange\"\xa3\x02\n\x05Match\x12\x11\n\x07keyword\x18\x01 \x01(\tH\x00\x12\x11\n\x07integer\x18\x02 \x01(\x03H\x00\x12\x11\n\x07\x62oolean\x18\x03 \x01(\x08H\x00\x12\x0e\n\x04text\x18\x04 \x01(\tH\x00\x12+\n\x08keywords\x18\x05 \x01(\x0b\x32\x17.qdrant.RepeatedStringsH\x00\x12,\n\x08integers\x18\x06 \x01(\x0b\x32\x18.qdrant.RepeatedIntegersH\x00\x12\x33\n\x0f\x65xcept_integers\x18\x07 \x01(\x0b\x32\x18.qdrant.RepeatedIntegersH\x00\x12\x32\n\x0f\x65xcept_keywords\x18\x08 \x01(\x0b\x32\x17.qdrant.RepeatedStringsH\x00\x42\r\n\x0bmatch_value\"\"\n\x0fRepeatedStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\"$\n\x10RepeatedIntegers\x12\x10\n\x08integers\x18\x01 \x03(\x03\"k\n\x05Range\x12\x0f\n\x02lt\x18\x01 \x01(\x01H\x00\x88\x01\x01\x12\x0f\n\x02gt\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12\x10\n\x03gte\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12\x10\n\x03lte\x18\x04 \x01(\x01H\x03\x88\x01\x01\x42\x05\n\x03_ltB\x05\n\x03_gtB\x06\n\x04_gteB\x06\n\x04_lte\"\xe3\x01\n\rDatetimeRange\x12+\n\x02lt\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12+\n\x02gt\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12,\n\x03gte\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x12,\n\x03lte\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03\x88\x01\x01\x42\x05\n\x03_ltB\x05\n\x03_gtB\x06\n\x04_gteB\x06\n\x04_lte\"\\\n\x0eGeoBoundingBox\x12\"\n\x08top_left\x18\x01 \x01(\x0b\x32\x10.qdrant.GeoPoint\x12&\n\x0c\x62ottom_right\x18\x02 \x01(\x0b\x32\x10.qdrant.GeoPoint\"=\n\tGeoRadius\x12 \n\x06\x63\x65nter\x18\x01 \x01(\x0b\x32\x10.qdrant.GeoPoint\x12\x0e\n\x06radius\x18\x02 \x01(\x02\"1\n\rGeoLineString\x12 \n\x06points\x18\x01 \x03(\x0b\x32\x10.qdrant.GeoPoint\"_\n\nGeoPolygon\x12\'\n\x08\x65xterior\x18\x01 \x01(\x0b\x32\x15.qdrant.GeoLineString\x12(\n\tinteriors\x18\x02 \x03(\x0b\x32\x15.qdrant.GeoLineString\"q\n\x0bValuesCount\x12\x0f\n\x02lt\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x0f\n\x02gt\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x10\n\x03gte\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x10\n\x03lte\x18\x04 \x01(\x04H\x03\x88\x01\x01\x42\x05\n\x03_ltB\x05\n\x03_gtB\x06\n\x04_gteB\x06\n\x04_lte\"u\n\x0ePointsSelector\x12\'\n\x06points\x18\x01 \x01(\x0b\x32\x15.qdrant.PointsIdsListH\x00\x12 \n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x0e.qdrant.FilterH\x00\x42\x18\n\x16points_selector_one_of\"-\n\rPointsIdsList\x12\x1c\n\x03ids\x18\x01 \x03(\x0b\x32\x0f.qdrant.PointId\"\xd5\x01\n\x0bPointStruct\x12\x1b\n\x02id\x18\x01 \x01(\x0b\x32\x0f.qdrant.PointId\x12\x31\n\x07payload\x18\x03 \x03(\x0b\x32 .qdrant.PointStruct.PayloadEntry\x12%\n\x07vectors\x18\x04 \x01(\x0b\x32\x0f.qdrant.VectorsH\x00\x88\x01\x01\x1a=\n\x0cPayloadEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.qdrant.Value:\x02\x38\x01\x42\n\n\x08_vectorsJ\x04\x08\x02\x10\x03\"$\n\x08GeoPoint\x12\x0b\n\x03lon\x18\x01 \x01(\x01\x12\x0b\n\x03lat\x18\x02 \x01(\x01*5\n\x11WriteOrderingType\x12\x08\n\x04Weak\x10\x00\x12\n\n\x06Medium\x10\x01\x12\n\n\x06Strong\x10\x02*8\n\x13ReadConsistencyType\x12\x07\n\x03\x41ll\x10\x00\x12\x0c\n\x08Majority\x10\x01\x12\n\n\x06Quorum\x10\x02*\xad\x01\n\tFieldType\x12\x14\n\x10\x46ieldTypeKeyword\x10\x00\x12\x14\n\x10\x46ieldTypeInteger\x10\x01\x12\x12\n\x0e\x46ieldTypeFloat\x10\x02\x12\x10\n\x0c\x46ieldTypeGeo\x10\x03\x12\x11\n\rFieldTypeText\x10\x04\x12\x11\n\rFieldTypeBool\x10\x05\x12\x15\n\x11\x46ieldTypeDatetime\x10\x06\x12\x11\n\rFieldTypeUuid\x10\x07*\x1e\n\tDirection\x12\x07\n\x03\x41sc\x10\x00\x12\x08\n\x04\x44\x65sc\x10\x01*5\n\x11RecommendStrategy\x12\x11\n\rAverageVector\x10\x00\x12\r\n\tBestScore\x10\x01*\x1b\n\x06\x46usion\x12\x07\n\x03RRF\x10\x00\x12\x08\n\x04\x44\x42SF\x10\x01*\x14\n\x06Sample\x12\n\n\x06Random\x10\x00*[\n\x0cUpdateStatus\x12\x17\n\x13UnknownUpdateStatus\x10\x00\x12\x10\n\x0c\x41\x63knowledged\x10\x01\x12\r\n\tCompleted\x10\x02\x12\x11\n\rClockRejected\x10\x03\x42\x15\xaa\x02\x12Qdrant.Client.Grpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cpoints.proto\x12\x06qdrant\x1a\x11\x63ollections.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x13json_with_int.proto\"8\n\rWriteOrdering\x12\'\n\x04type\x18\x01 \x01(\x0e\x32\x19.qdrant.WriteOrderingType\"Y\n\x0fReadConsistency\x12+\n\x04type\x18\x01 \x01(\x0e\x32\x1b.qdrant.ReadConsistencyTypeH\x00\x12\x10\n\x06\x66\x61\x63tor\x18\x02 \x01(\x04H\x00\x42\x07\n\x05value\"<\n\x07PointId\x12\r\n\x03num\x18\x01 \x01(\x04H\x00\x12\x0e\n\x04uuid\x18\x02 \x01(\tH\x00\x42\x12\n\x10point_id_options\"\x1d\n\rSparseIndices\x12\x0c\n\x04\x64\x61ta\x18\x01 \x03(\r\"}\n\x06Vector\x12\x0c\n\x04\x64\x61ta\x18\x01 \x03(\x02\x12+\n\x07indices\x18\x02 \x01(\x0b\x32\x15.qdrant.SparseIndicesH\x00\x88\x01\x01\x12\x1a\n\rvectors_count\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\n\n\x08_indicesB\x10\n\x0e_vectors_count\"\x1b\n\x0b\x44\x65nseVector\x12\x0c\n\x04\x64\x61ta\x18\x01 \x03(\x02\"/\n\x0cSparseVector\x12\x0e\n\x06values\x18\x01 \x03(\x02\x12\x0f\n\x07indices\x18\x02 \x03(\r\"8\n\x10MultiDenseVector\x12$\n\x07vectors\x18\x01 \x03(\x0b\x32\x13.qdrant.DenseVector\"\xb6\x01\n\x0bVectorInput\x12\x1d\n\x02id\x18\x01 \x01(\x0b\x32\x0f.qdrant.PointIdH\x00\x12$\n\x05\x64\x65nse\x18\x02 \x01(\x0b\x32\x13.qdrant.DenseVectorH\x00\x12&\n\x06sparse\x18\x03 \x01(\x0b\x32\x14.qdrant.SparseVectorH\x00\x12/\n\x0bmulti_dense\x18\x04 \x01(\x0b\x32\x18.qdrant.MultiDenseVectorH\x00\x42\t\n\x07variant\"8\n\x10ShardKeySelector\x12$\n\nshard_keys\x18\x01 \x03(\x0b\x32\x10.qdrant.ShardKey\"\xf5\x01\n\x0cUpsertPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12#\n\x06points\x18\x03 \x03(\x0b\x32\x13.qdrant.PointStruct\x12,\n\x08ordering\x18\x04 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x01\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x05 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x02\x88\x01\x01\x42\x07\n\x05_waitB\x0b\n\t_orderingB\x15\n\x13_shard_key_selector\"\xf8\x01\n\x0c\x44\x65letePoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12&\n\x06points\x18\x03 \x01(\x0b\x32\x16.qdrant.PointsSelector\x12,\n\x08ordering\x18\x04 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x01\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x05 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x02\x88\x01\x01\x42\x07\n\x05_waitB\x0b\n\t_orderingB\x15\n\x13_shard_key_selector\"\x85\x03\n\tGetPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x1c\n\x03ids\x18\x02 \x03(\x0b\x32\x0f.qdrant.PointId\x12\x31\n\x0cwith_payload\x18\x04 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12\x36\n\x0cwith_vectors\x18\x05 \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x00\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x06 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x01\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x07 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x02\x88\x01\x01\x12\x14\n\x07timeout\x18\x08 \x01(\x04H\x03\x88\x01\x01\x42\x0f\n\r_with_vectorsB\x13\n\x11_read_consistencyB\x15\n\x13_shard_key_selectorB\n\n\x08_timeoutJ\x04\x08\x03\x10\x04\"\xfc\x01\n\x12UpdatePointVectors\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12$\n\x06points\x18\x03 \x03(\x0b\x32\x14.qdrant.PointVectors\x12,\n\x08ordering\x18\x04 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x01\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x05 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x02\x88\x01\x01\x42\x07\n\x05_waitB\x0b\n\t_orderingB\x15\n\x13_shard_key_selector\"M\n\x0cPointVectors\x12\x1b\n\x02id\x18\x01 \x01(\x0b\x32\x0f.qdrant.PointId\x12 \n\x07vectors\x18\x02 \x01(\x0b\x32\x0f.qdrant.Vectors\"\xb1\x02\n\x12\x44\x65letePointVectors\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12/\n\x0fpoints_selector\x18\x03 \x01(\x0b\x32\x16.qdrant.PointsSelector\x12(\n\x07vectors\x18\x04 \x01(\x0b\x32\x17.qdrant.VectorsSelector\x12,\n\x08ordering\x18\x05 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x01\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x06 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x02\x88\x01\x01\x42\x07\n\x05_waitB\x0b\n\t_orderingB\x15\n\x13_shard_key_selector\"\xb5\x03\n\x10SetPayloadPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x36\n\x07payload\x18\x03 \x03(\x0b\x32%.qdrant.SetPayloadPoints.PayloadEntry\x12\x34\n\x0fpoints_selector\x18\x05 \x01(\x0b\x32\x16.qdrant.PointsSelectorH\x01\x88\x01\x01\x12,\n\x08ordering\x18\x06 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x02\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x07 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x03\x88\x01\x01\x12\x10\n\x03key\x18\x08 \x01(\tH\x04\x88\x01\x01\x1a=\n\x0cPayloadEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.qdrant.Value:\x02\x38\x01\x42\x07\n\x05_waitB\x12\n\x10_points_selectorB\x0b\n\t_orderingB\x15\n\x13_shard_key_selectorB\x06\n\x04_keyJ\x04\x08\x04\x10\x05\"\xb5\x02\n\x13\x44\x65letePayloadPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x0c\n\x04keys\x18\x03 \x03(\t\x12\x34\n\x0fpoints_selector\x18\x05 \x01(\x0b\x32\x16.qdrant.PointsSelectorH\x01\x88\x01\x01\x12,\n\x08ordering\x18\x06 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x02\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x07 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x03\x88\x01\x01\x42\x07\n\x05_waitB\x12\n\x10_points_selectorB\x0b\n\t_orderingB\x15\n\x13_shard_key_selectorJ\x04\x08\x04\x10\x05\"\xfe\x01\n\x12\x43learPayloadPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12&\n\x06points\x18\x03 \x01(\x0b\x32\x16.qdrant.PointsSelector\x12,\n\x08ordering\x18\x04 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x01\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x05 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x02\x88\x01\x01\x42\x07\n\x05_waitB\x0b\n\t_orderingB\x15\n\x13_shard_key_selector\"\xaf\x02\n\x1a\x43reateFieldIndexCollection\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x12\n\nfield_name\x18\x03 \x01(\t\x12*\n\nfield_type\x18\x04 \x01(\x0e\x32\x11.qdrant.FieldTypeH\x01\x88\x01\x01\x12;\n\x12\x66ield_index_params\x18\x05 \x01(\x0b\x32\x1a.qdrant.PayloadIndexParamsH\x02\x88\x01\x01\x12,\n\x08ordering\x18\x06 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x03\x88\x01\x01\x42\x07\n\x05_waitB\r\n\x0b_field_typeB\x15\n\x13_field_index_paramsB\x0b\n\t_ordering\"\xa0\x01\n\x1a\x44\x65leteFieldIndexCollection\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x12\n\nfield_name\x18\x03 \x01(\t\x12,\n\x08ordering\x18\x04 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x01\x88\x01\x01\x42\x07\n\x05_waitB\x0b\n\t_ordering\"(\n\x16PayloadIncludeSelector\x12\x0e\n\x06\x66ields\x18\x01 \x03(\t\"(\n\x16PayloadExcludeSelector\x12\x0e\n\x06\x66ields\x18\x01 \x03(\t\"\xa1\x01\n\x13WithPayloadSelector\x12\x10\n\x06\x65nable\x18\x01 \x01(\x08H\x00\x12\x31\n\x07include\x18\x02 \x01(\x0b\x32\x1e.qdrant.PayloadIncludeSelectorH\x00\x12\x31\n\x07\x65xclude\x18\x03 \x01(\x0b\x32\x1e.qdrant.PayloadExcludeSelectorH\x00\x42\x12\n\x10selector_options\"\x82\x01\n\x0cNamedVectors\x12\x32\n\x07vectors\x18\x01 \x03(\x0b\x32!.qdrant.NamedVectors.VectorsEntry\x1a>\n\x0cVectorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.qdrant.Vector:\x02\x38\x01\"g\n\x07Vectors\x12 \n\x06vector\x18\x01 \x01(\x0b\x32\x0e.qdrant.VectorH\x00\x12\'\n\x07vectors\x18\x02 \x01(\x0b\x32\x14.qdrant.NamedVectorsH\x00\x42\x11\n\x0fvectors_options\" \n\x0fVectorsSelector\x12\r\n\x05names\x18\x01 \x03(\t\"g\n\x13WithVectorsSelector\x12\x10\n\x06\x65nable\x18\x01 \x01(\x08H\x00\x12*\n\x07include\x18\x02 \x01(\x0b\x32\x17.qdrant.VectorsSelectorH\x00\x42\x12\n\x10selector_options\"\x88\x01\n\x18QuantizationSearchParams\x12\x13\n\x06ignore\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07rescore\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x19\n\x0coversampling\x18\x03 \x01(\x01H\x02\x88\x01\x01\x42\t\n\x07_ignoreB\n\n\x08_rescoreB\x0f\n\r_oversampling\"\xc8\x01\n\x0cSearchParams\x12\x14\n\x07hnsw_ef\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x12\n\x05\x65xact\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12;\n\x0cquantization\x18\x03 \x01(\x0b\x32 .qdrant.QuantizationSearchParamsH\x02\x88\x01\x01\x12\x19\n\x0cindexed_only\x18\x04 \x01(\x08H\x03\x88\x01\x01\x42\n\n\x08_hnsw_efB\x08\n\x06_exactB\x0f\n\r_quantizationB\x0f\n\r_indexed_only\"\x92\x05\n\x0cSearchPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x0e\n\x06vector\x18\x02 \x03(\x02\x12\x1e\n\x06\x66ilter\x18\x03 \x01(\x0b\x32\x0e.qdrant.Filter\x12\r\n\x05limit\x18\x04 \x01(\x04\x12\x31\n\x0cwith_payload\x18\x06 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12$\n\x06params\x18\x07 \x01(\x0b\x32\x14.qdrant.SearchParams\x12\x1c\n\x0fscore_threshold\x18\x08 \x01(\x02H\x00\x88\x01\x01\x12\x13\n\x06offset\x18\t \x01(\x04H\x01\x88\x01\x01\x12\x18\n\x0bvector_name\x18\n \x01(\tH\x02\x88\x01\x01\x12\x36\n\x0cwith_vectors\x18\x0b \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x03\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x0c \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x04\x88\x01\x01\x12\x14\n\x07timeout\x18\r \x01(\x04H\x05\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x0e \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x06\x88\x01\x01\x12\x32\n\x0esparse_indices\x18\x0f \x01(\x0b\x32\x15.qdrant.SparseIndicesH\x07\x88\x01\x01\x42\x12\n\x10_score_thresholdB\t\n\x07_offsetB\x0e\n\x0c_vector_nameB\x0f\n\r_with_vectorsB\x13\n\x11_read_consistencyB\n\n\x08_timeoutB\x15\n\x13_shard_key_selectorB\x11\n\x0f_sparse_indicesJ\x04\x08\x05\x10\x06\"\xc8\x01\n\x11SearchBatchPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12+\n\rsearch_points\x18\x02 \x03(\x0b\x32\x14.qdrant.SearchPoints\x12\x36\n\x10read_consistency\x18\x03 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x13\n\x11_read_consistencyB\n\n\x08_timeout\"\xb2\x01\n\nWithLookup\x12\x12\n\ncollection\x18\x01 \x01(\t\x12\x36\n\x0cwith_payload\x18\x02 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelectorH\x00\x88\x01\x01\x12\x36\n\x0cwith_vectors\x18\x03 \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x01\x88\x01\x01\x42\x0f\n\r_with_payloadB\x0f\n\r_with_vectors\"\xd5\x05\n\x11SearchPointGroups\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x0e\n\x06vector\x18\x02 \x03(\x02\x12\x1e\n\x06\x66ilter\x18\x03 \x01(\x0b\x32\x0e.qdrant.Filter\x12\r\n\x05limit\x18\x04 \x01(\r\x12\x31\n\x0cwith_payload\x18\x05 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12$\n\x06params\x18\x06 \x01(\x0b\x32\x14.qdrant.SearchParams\x12\x1c\n\x0fscore_threshold\x18\x07 \x01(\x02H\x00\x88\x01\x01\x12\x18\n\x0bvector_name\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x36\n\x0cwith_vectors\x18\t \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x02\x88\x01\x01\x12\x10\n\x08group_by\x18\n \x01(\t\x12\x12\n\ngroup_size\x18\x0b \x01(\r\x12\x36\n\x10read_consistency\x18\x0c \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x03\x88\x01\x01\x12,\n\x0bwith_lookup\x18\r \x01(\x0b\x32\x12.qdrant.WithLookupH\x04\x88\x01\x01\x12\x14\n\x07timeout\x18\x0e \x01(\x04H\x05\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x0f \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x06\x88\x01\x01\x12\x32\n\x0esparse_indices\x18\x10 \x01(\x0b\x32\x15.qdrant.SparseIndicesH\x07\x88\x01\x01\x42\x12\n\x10_score_thresholdB\x0e\n\x0c_vector_nameB\x0f\n\r_with_vectorsB\x13\n\x11_read_consistencyB\x0e\n\x0c_with_lookupB\n\n\x08_timeoutB\x15\n\x13_shard_key_selectorB\x11\n\x0f_sparse_indices\"}\n\tStartFrom\x12\x0f\n\x05\x66loat\x18\x01 \x01(\x01H\x00\x12\x11\n\x07integer\x18\x02 \x01(\x03H\x00\x12/\n\ttimestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x12\n\x08\x64\x61tetime\x18\x04 \x01(\tH\x00\x42\x07\n\x05value\"\x8a\x01\n\x07OrderBy\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\tdirection\x18\x02 \x01(\x0e\x32\x11.qdrant.DirectionH\x00\x88\x01\x01\x12*\n\nstart_from\x18\x03 \x01(\x0b\x32\x11.qdrant.StartFromH\x01\x88\x01\x01\x42\x0c\n\n_directionB\r\n\x0b_start_from\"\x8e\x04\n\x0cScrollPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x1e\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x0e.qdrant.Filter\x12$\n\x06offset\x18\x03 \x01(\x0b\x32\x0f.qdrant.PointIdH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x31\n\x0cwith_payload\x18\x06 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12\x36\n\x0cwith_vectors\x18\x07 \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x02\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x08 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x03\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\t \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x04\x88\x01\x01\x12&\n\x08order_by\x18\n \x01(\x0b\x32\x0f.qdrant.OrderByH\x05\x88\x01\x01\x12\x14\n\x07timeout\x18\x0b \x01(\x04H\x06\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_limitB\x0f\n\r_with_vectorsB\x13\n\x11_read_consistencyB\x15\n\x13_shard_key_selectorB\x0b\n\t_order_byB\n\n\x08_timeoutJ\x04\x08\x05\x10\x06\"\xa5\x01\n\x0eLookupLocation\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x18\n\x0bvector_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x03 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x01\x88\x01\x01\x42\x0e\n\x0c_vector_nameB\x15\n\x13_shard_key_selector\"\xcd\x06\n\x0fRecommendPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12!\n\x08positive\x18\x02 \x03(\x0b\x32\x0f.qdrant.PointId\x12!\n\x08negative\x18\x03 \x03(\x0b\x32\x0f.qdrant.PointId\x12\x1e\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x0e.qdrant.Filter\x12\r\n\x05limit\x18\x05 \x01(\x04\x12\x31\n\x0cwith_payload\x18\x07 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12$\n\x06params\x18\x08 \x01(\x0b\x32\x14.qdrant.SearchParams\x12\x1c\n\x0fscore_threshold\x18\t \x01(\x02H\x00\x88\x01\x01\x12\x13\n\x06offset\x18\n \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05using\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x36\n\x0cwith_vectors\x18\x0c \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x03\x88\x01\x01\x12\x30\n\x0blookup_from\x18\r \x01(\x0b\x32\x16.qdrant.LookupLocationH\x04\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x0e \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x05\x88\x01\x01\x12\x30\n\x08strategy\x18\x10 \x01(\x0e\x32\x19.qdrant.RecommendStrategyH\x06\x88\x01\x01\x12(\n\x10positive_vectors\x18\x11 \x03(\x0b\x32\x0e.qdrant.Vector\x12(\n\x10negative_vectors\x18\x12 \x03(\x0b\x32\x0e.qdrant.Vector\x12\x14\n\x07timeout\x18\x13 \x01(\x04H\x07\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x14 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x08\x88\x01\x01\x42\x12\n\x10_score_thresholdB\t\n\x07_offsetB\x08\n\x06_usingB\x0f\n\r_with_vectorsB\x0e\n\x0c_lookup_fromB\x13\n\x11_read_consistencyB\x0b\n\t_strategyB\n\n\x08_timeoutB\x15\n\x13_shard_key_selectorJ\x04\x08\x06\x10\x07\"\xd1\x01\n\x14RecommendBatchPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x31\n\x10recommend_points\x18\x02 \x03(\x0b\x32\x17.qdrant.RecommendPoints\x12\x36\n\x10read_consistency\x18\x03 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x13\n\x11_read_consistencyB\n\n\x08_timeout\"\x90\x07\n\x14RecommendPointGroups\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12!\n\x08positive\x18\x02 \x03(\x0b\x32\x0f.qdrant.PointId\x12!\n\x08negative\x18\x03 \x03(\x0b\x32\x0f.qdrant.PointId\x12\x1e\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x0e.qdrant.Filter\x12\r\n\x05limit\x18\x05 \x01(\r\x12\x31\n\x0cwith_payload\x18\x06 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12$\n\x06params\x18\x07 \x01(\x0b\x32\x14.qdrant.SearchParams\x12\x1c\n\x0fscore_threshold\x18\x08 \x01(\x02H\x00\x88\x01\x01\x12\x12\n\x05using\x18\t \x01(\tH\x01\x88\x01\x01\x12\x36\n\x0cwith_vectors\x18\n \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x02\x88\x01\x01\x12\x30\n\x0blookup_from\x18\x0b \x01(\x0b\x32\x16.qdrant.LookupLocationH\x03\x88\x01\x01\x12\x10\n\x08group_by\x18\x0c \x01(\t\x12\x12\n\ngroup_size\x18\r \x01(\r\x12\x36\n\x10read_consistency\x18\x0e \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x04\x88\x01\x01\x12,\n\x0bwith_lookup\x18\x0f \x01(\x0b\x32\x12.qdrant.WithLookupH\x05\x88\x01\x01\x12\x30\n\x08strategy\x18\x11 \x01(\x0e\x32\x19.qdrant.RecommendStrategyH\x06\x88\x01\x01\x12(\n\x10positive_vectors\x18\x12 \x03(\x0b\x32\x0e.qdrant.Vector\x12(\n\x10negative_vectors\x18\x13 \x03(\x0b\x32\x0e.qdrant.Vector\x12\x14\n\x07timeout\x18\x14 \x01(\x04H\x07\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x15 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x08\x88\x01\x01\x42\x12\n\x10_score_thresholdB\x08\n\x06_usingB\x0f\n\r_with_vectorsB\x0e\n\x0c_lookup_fromB\x13\n\x11_read_consistencyB\x0e\n\x0c_with_lookupB\x0b\n\t_strategyB\n\n\x08_timeoutB\x15\n\x13_shard_key_selector\"A\n\x0cTargetVector\x12\'\n\x06single\x18\x01 \x01(\x0b\x32\x15.qdrant.VectorExampleH\x00\x42\x08\n\x06target\"[\n\rVectorExample\x12\x1d\n\x02id\x18\x01 \x01(\x0b\x32\x0f.qdrant.PointIdH\x00\x12 \n\x06vector\x18\x02 \x01(\x0b\x32\x0e.qdrant.VectorH\x00\x42\t\n\x07\x65xample\"f\n\x12\x43ontextExamplePair\x12\'\n\x08positive\x18\x01 \x01(\x0b\x32\x15.qdrant.VectorExample\x12\'\n\x08negative\x18\x02 \x01(\x0b\x32\x15.qdrant.VectorExample\"\x8e\x05\n\x0e\x44iscoverPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12$\n\x06target\x18\x02 \x01(\x0b\x32\x14.qdrant.TargetVector\x12+\n\x07\x63ontext\x18\x03 \x03(\x0b\x32\x1a.qdrant.ContextExamplePair\x12\x1e\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x0e.qdrant.Filter\x12\r\n\x05limit\x18\x05 \x01(\x04\x12\x31\n\x0cwith_payload\x18\x06 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12$\n\x06params\x18\x07 \x01(\x0b\x32\x14.qdrant.SearchParams\x12\x13\n\x06offset\x18\x08 \x01(\x04H\x00\x88\x01\x01\x12\x12\n\x05using\x18\t \x01(\tH\x01\x88\x01\x01\x12\x36\n\x0cwith_vectors\x18\n \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x02\x88\x01\x01\x12\x30\n\x0blookup_from\x18\x0b \x01(\x0b\x32\x16.qdrant.LookupLocationH\x03\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x0c \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x04\x88\x01\x01\x12\x14\n\x07timeout\x18\r \x01(\x04H\x05\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x0e \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x06\x88\x01\x01\x42\t\n\x07_offsetB\x08\n\x06_usingB\x0f\n\r_with_vectorsB\x0e\n\x0c_lookup_fromB\x13\n\x11_read_consistencyB\n\n\x08_timeoutB\x15\n\x13_shard_key_selector\"\xce\x01\n\x13\x44iscoverBatchPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12/\n\x0f\x64iscover_points\x18\x02 \x03(\x0b\x32\x16.qdrant.DiscoverPoints\x12\x36\n\x10read_consistency\x18\x03 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x13\n\x11_read_consistencyB\n\n\x08_timeout\"\xa5\x02\n\x0b\x43ountPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x1e\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x0e.qdrant.Filter\x12\x12\n\x05\x65xact\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x04 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x01\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x05 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x02\x88\x01\x01\x12\x14\n\x07timeout\x18\x06 \x01(\x04H\x03\x88\x01\x01\x42\x08\n\x06_exactB\x13\n\x11_read_consistencyB\x15\n\x13_shard_key_selectorB\n\n\x08_timeout\"\x9d\x01\n\x0eRecommendInput\x12%\n\x08positive\x18\x01 \x03(\x0b\x32\x13.qdrant.VectorInput\x12%\n\x08negative\x18\x02 \x03(\x0b\x32\x13.qdrant.VectorInput\x12\x30\n\x08strategy\x18\x03 \x01(\x0e\x32\x19.qdrant.RecommendStrategyH\x00\x88\x01\x01\x42\x0b\n\t_strategy\"`\n\x10\x43ontextInputPair\x12%\n\x08positive\x18\x01 \x01(\x0b\x32\x13.qdrant.VectorInput\x12%\n\x08negative\x18\x02 \x01(\x0b\x32\x13.qdrant.VectorInput\"[\n\rDiscoverInput\x12#\n\x06target\x18\x01 \x01(\x0b\x32\x13.qdrant.VectorInput\x12%\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x14.qdrant.ContextInput\"7\n\x0c\x43ontextInput\x12\'\n\x05pairs\x18\x01 \x03(\x0b\x32\x18.qdrant.ContextInputPair\"\xa4\x02\n\x05Query\x12&\n\x07nearest\x18\x01 \x01(\x0b\x32\x13.qdrant.VectorInputH\x00\x12+\n\trecommend\x18\x02 \x01(\x0b\x32\x16.qdrant.RecommendInputH\x00\x12)\n\x08\x64iscover\x18\x03 \x01(\x0b\x32\x15.qdrant.DiscoverInputH\x00\x12\'\n\x07\x63ontext\x18\x04 \x01(\x0b\x32\x14.qdrant.ContextInputH\x00\x12#\n\x08order_by\x18\x05 \x01(\x0b\x32\x0f.qdrant.OrderByH\x00\x12 \n\x06\x66usion\x18\x06 \x01(\x0e\x32\x0e.qdrant.FusionH\x00\x12 \n\x06sample\x18\x07 \x01(\x0e\x32\x0e.qdrant.SampleH\x00\x42\t\n\x07variant\"\xfb\x02\n\rPrefetchQuery\x12\'\n\x08prefetch\x18\x01 \x03(\x0b\x32\x15.qdrant.PrefetchQuery\x12!\n\x05query\x18\x02 \x01(\x0b\x32\r.qdrant.QueryH\x00\x88\x01\x01\x12\x12\n\x05using\x18\x03 \x01(\tH\x01\x88\x01\x01\x12#\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x0e.qdrant.FilterH\x02\x88\x01\x01\x12)\n\x06params\x18\x05 \x01(\x0b\x32\x14.qdrant.SearchParamsH\x03\x88\x01\x01\x12\x1c\n\x0fscore_threshold\x18\x06 \x01(\x02H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x07 \x01(\x04H\x05\x88\x01\x01\x12\x30\n\x0blookup_from\x18\x08 \x01(\x0b\x32\x16.qdrant.LookupLocationH\x06\x88\x01\x01\x42\x08\n\x06_queryB\x08\n\x06_usingB\t\n\x07_filterB\t\n\x07_paramsB\x12\n\x10_score_thresholdB\x08\n\x06_limitB\x0e\n\x0c_lookup_from\"\x85\x06\n\x0bQueryPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\'\n\x08prefetch\x18\x02 \x03(\x0b\x32\x15.qdrant.PrefetchQuery\x12!\n\x05query\x18\x03 \x01(\x0b\x32\r.qdrant.QueryH\x00\x88\x01\x01\x12\x12\n\x05using\x18\x04 \x01(\tH\x01\x88\x01\x01\x12#\n\x06\x66ilter\x18\x05 \x01(\x0b\x32\x0e.qdrant.FilterH\x02\x88\x01\x01\x12)\n\x06params\x18\x06 \x01(\x0b\x32\x14.qdrant.SearchParamsH\x03\x88\x01\x01\x12\x1c\n\x0fscore_threshold\x18\x07 \x01(\x02H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x08 \x01(\x04H\x05\x88\x01\x01\x12\x13\n\x06offset\x18\t \x01(\x04H\x06\x88\x01\x01\x12\x36\n\x0cwith_vectors\x18\n \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x07\x88\x01\x01\x12\x36\n\x0cwith_payload\x18\x0b \x01(\x0b\x32\x1b.qdrant.WithPayloadSelectorH\x08\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x0c \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\t\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\r \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\n\x88\x01\x01\x12\x30\n\x0blookup_from\x18\x0e \x01(\x0b\x32\x16.qdrant.LookupLocationH\x0b\x88\x01\x01\x12\x14\n\x07timeout\x18\x0f \x01(\x04H\x0c\x88\x01\x01\x42\x08\n\x06_queryB\x08\n\x06_usingB\t\n\x07_filterB\t\n\x07_paramsB\x12\n\x10_score_thresholdB\x08\n\x06_limitB\t\n\x07_offsetB\x0f\n\r_with_vectorsB\x0f\n\r_with_payloadB\x13\n\x11_read_consistencyB\x15\n\x13_shard_key_selectorB\x0e\n\x0c_lookup_fromB\n\n\x08_timeout\"\xc5\x01\n\x10QueryBatchPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12)\n\x0cquery_points\x18\x02 \x03(\x0b\x32\x13.qdrant.QueryPoints\x12\x36\n\x10read_consistency\x18\x03 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x13\n\x11_read_consistencyB\n\n\x08_timeout\"\xcc\x06\n\x10QueryPointGroups\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\'\n\x08prefetch\x18\x02 \x03(\x0b\x32\x15.qdrant.PrefetchQuery\x12!\n\x05query\x18\x03 \x01(\x0b\x32\r.qdrant.QueryH\x00\x88\x01\x01\x12\x12\n\x05using\x18\x04 \x01(\tH\x01\x88\x01\x01\x12#\n\x06\x66ilter\x18\x05 \x01(\x0b\x32\x0e.qdrant.FilterH\x02\x88\x01\x01\x12)\n\x06params\x18\x06 \x01(\x0b\x32\x14.qdrant.SearchParamsH\x03\x88\x01\x01\x12\x1c\n\x0fscore_threshold\x18\x07 \x01(\x02H\x04\x88\x01\x01\x12\x31\n\x0cwith_payload\x18\x08 \x01(\x0b\x32\x1b.qdrant.WithPayloadSelector\x12\x36\n\x0cwith_vectors\x18\t \x01(\x0b\x32\x1b.qdrant.WithVectorsSelectorH\x05\x88\x01\x01\x12\x30\n\x0blookup_from\x18\n \x01(\x0b\x32\x16.qdrant.LookupLocationH\x06\x88\x01\x01\x12\x12\n\x05limit\x18\x0b \x01(\x04H\x07\x88\x01\x01\x12\x17\n\ngroup_size\x18\x0c \x01(\x04H\x08\x88\x01\x01\x12\x10\n\x08group_by\x18\r \x01(\t\x12\x36\n\x10read_consistency\x18\x0e \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\t\x88\x01\x01\x12,\n\x0bwith_lookup\x18\x0f \x01(\x0b\x32\x12.qdrant.WithLookupH\n\x88\x01\x01\x12\x14\n\x07timeout\x18\x10 \x01(\x04H\x0b\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x11 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x0c\x88\x01\x01\x42\x08\n\x06_queryB\x08\n\x06_usingB\t\n\x07_filterB\t\n\x07_paramsB\x12\n\x10_score_thresholdB\x0f\n\r_with_vectorsB\x0e\n\x0c_lookup_fromB\x08\n\x06_limitB\r\n\x0b_group_sizeB\x13\n\x11_read_consistencyB\x0e\n\x0c_with_lookupB\n\n\x08_timeoutB\x15\n\x13_shard_key_selector\"\xe0\x02\n\x0b\x46\x61\x63\x65tCounts\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\t\x12#\n\x06\x66ilter\x18\x03 \x01(\x0b\x32\x0e.qdrant.FilterH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05\x65xact\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x14\n\x07timeout\x18\x06 \x01(\x04H\x03\x88\x01\x01\x12\x36\n\x10read_consistency\x18\x07 \x01(\x0b\x32\x17.qdrant.ReadConsistencyH\x04\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x08 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x05\x88\x01\x01\x42\t\n\x07_filterB\x08\n\x06_limitB\x08\n\x06_exactB\n\n\x08_timeoutB\x13\n\x11_read_consistencyB\x15\n\x13_shard_key_selector\"H\n\nFacetValue\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x17\n\rinteger_value\x18\x02 \x01(\x03H\x00\x42\t\n\x07variant\"<\n\x08\x46\x61\x63\x65tHit\x12!\n\x05value\x18\x01 \x01(\x0b\x32\x12.qdrant.FacetValue\x12\r\n\x05\x63ount\x18\x02 \x01(\x04\"\x95\x12\n\x15PointsUpdateOperation\x12?\n\x06upsert\x18\x01 \x01(\x0b\x32-.qdrant.PointsUpdateOperation.PointStructListH\x00\x12\x37\n\x11\x64\x65lete_deprecated\x18\x02 \x01(\x0b\x32\x16.qdrant.PointsSelectorB\x02\x18\x01H\x00\x12?\n\x0bset_payload\x18\x03 \x01(\x0b\x32(.qdrant.PointsUpdateOperation.SetPayloadH\x00\x12K\n\x11overwrite_payload\x18\x04 \x01(\x0b\x32..qdrant.PointsUpdateOperation.OverwritePayloadH\x00\x12\x45\n\x0e\x64\x65lete_payload\x18\x05 \x01(\x0b\x32+.qdrant.PointsUpdateOperation.DeletePayloadH\x00\x12>\n\x18\x63lear_payload_deprecated\x18\x06 \x01(\x0b\x32\x16.qdrant.PointsSelectorB\x02\x18\x01H\x00\x12\x45\n\x0eupdate_vectors\x18\x07 \x01(\x0b\x32+.qdrant.PointsUpdateOperation.UpdateVectorsH\x00\x12\x45\n\x0e\x64\x65lete_vectors\x18\x08 \x01(\x0b\x32+.qdrant.PointsUpdateOperation.DeleteVectorsH\x00\x12\x43\n\rdelete_points\x18\t \x01(\x0b\x32*.qdrant.PointsUpdateOperation.DeletePointsH\x00\x12\x43\n\rclear_payload\x18\n \x01(\x0b\x32*.qdrant.PointsUpdateOperation.ClearPayloadH\x00\x1a\x88\x01\n\x0fPointStructList\x12#\n\x06points\x18\x01 \x03(\x0b\x32\x13.qdrant.PointStruct\x12\x39\n\x12shard_key_selector\x18\x02 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x00\x88\x01\x01\x42\x15\n\x13_shard_key_selector\x1a\xc9\x02\n\nSetPayload\x12\x46\n\x07payload\x18\x01 \x03(\x0b\x32\x35.qdrant.PointsUpdateOperation.SetPayload.PayloadEntry\x12\x34\n\x0fpoints_selector\x18\x02 \x01(\x0b\x32\x16.qdrant.PointsSelectorH\x00\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x03 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x01\x88\x01\x01\x12\x10\n\x03key\x18\x04 \x01(\tH\x02\x88\x01\x01\x1a=\n\x0cPayloadEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.qdrant.Value:\x02\x38\x01\x42\x12\n\x10_points_selectorB\x15\n\x13_shard_key_selectorB\x06\n\x04_key\x1a\xd5\x02\n\x10OverwritePayload\x12L\n\x07payload\x18\x01 \x03(\x0b\x32;.qdrant.PointsUpdateOperation.OverwritePayload.PayloadEntry\x12\x34\n\x0fpoints_selector\x18\x02 \x01(\x0b\x32\x16.qdrant.PointsSelectorH\x00\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x03 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x01\x88\x01\x01\x12\x10\n\x03key\x18\x04 \x01(\tH\x02\x88\x01\x01\x1a=\n\x0cPayloadEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.qdrant.Value:\x02\x38\x01\x42\x12\n\x10_points_selectorB\x15\n\x13_shard_key_selectorB\x06\n\x04_key\x1a\xb9\x01\n\rDeletePayload\x12\x0c\n\x04keys\x18\x01 \x03(\t\x12\x34\n\x0fpoints_selector\x18\x02 \x01(\x0b\x32\x16.qdrant.PointsSelectorH\x00\x88\x01\x01\x12\x39\n\x12shard_key_selector\x18\x03 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x01\x88\x01\x01\x42\x12\n\x10_points_selectorB\x15\n\x13_shard_key_selector\x1a\x87\x01\n\rUpdateVectors\x12$\n\x06points\x18\x01 \x03(\x0b\x32\x14.qdrant.PointVectors\x12\x39\n\x12shard_key_selector\x18\x02 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x00\x88\x01\x01\x42\x15\n\x13_shard_key_selector\x1a\xbc\x01\n\rDeleteVectors\x12/\n\x0fpoints_selector\x18\x01 \x01(\x0b\x32\x16.qdrant.PointsSelector\x12(\n\x07vectors\x18\x02 \x01(\x0b\x32\x17.qdrant.VectorsSelector\x12\x39\n\x12shard_key_selector\x18\x03 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x00\x88\x01\x01\x42\x15\n\x13_shard_key_selector\x1a\x88\x01\n\x0c\x44\x65letePoints\x12&\n\x06points\x18\x01 \x01(\x0b\x32\x16.qdrant.PointsSelector\x12\x39\n\x12shard_key_selector\x18\x02 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x00\x88\x01\x01\x42\x15\n\x13_shard_key_selector\x1a\x88\x01\n\x0c\x43learPayload\x12&\n\x06points\x18\x01 \x01(\x0b\x32\x16.qdrant.PointsSelector\x12\x39\n\x12shard_key_selector\x18\x02 \x01(\x0b\x32\x18.qdrant.ShardKeySelectorH\x00\x88\x01\x01\x42\x15\n\x13_shard_key_selectorB\x0b\n\toperation\"\xb6\x01\n\x11UpdateBatchPoints\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x11\n\x04wait\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x31\n\noperations\x18\x03 \x03(\x0b\x32\x1d.qdrant.PointsUpdateOperation\x12,\n\x08ordering\x18\x04 \x01(\x0b\x32\x15.qdrant.WriteOrderingH\x01\x88\x01\x01\x42\x07\n\x05_waitB\x0b\n\t_ordering\"M\n\x17PointsOperationResponse\x12$\n\x06result\x18\x01 \x01(\x0b\x32\x14.qdrant.UpdateResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"`\n\x0cUpdateResult\x12\x19\n\x0coperation_id\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12$\n\x06status\x18\x02 \x01(\x0e\x32\x14.qdrant.UpdateStatusB\x0f\n\r_operation_id\"7\n\nOrderValue\x12\r\n\x03int\x18\x01 \x01(\x03H\x00\x12\x0f\n\x05\x66loat\x18\x02 \x01(\x01H\x00\x42\t\n\x07variant\"\xeb\x02\n\x0bScoredPoint\x12\x1b\n\x02id\x18\x01 \x01(\x0b\x32\x0f.qdrant.PointId\x12\x31\n\x07payload\x18\x02 \x03(\x0b\x32 .qdrant.ScoredPoint.PayloadEntry\x12\r\n\x05score\x18\x03 \x01(\x02\x12\x0f\n\x07version\x18\x05 \x01(\x04\x12%\n\x07vectors\x18\x06 \x01(\x0b\x32\x0f.qdrant.VectorsH\x00\x88\x01\x01\x12(\n\tshard_key\x18\x07 \x01(\x0b\x32\x10.qdrant.ShardKeyH\x01\x88\x01\x01\x12,\n\x0border_value\x18\x08 \x01(\x0b\x32\x12.qdrant.OrderValueH\x02\x88\x01\x01\x1a=\n\x0cPayloadEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.qdrant.Value:\x02\x38\x01\x42\n\n\x08_vectorsB\x0c\n\n_shard_keyB\x0e\n\x0c_order_valueJ\x04\x08\x04\x10\x05\"\\\n\x07GroupId\x12\x18\n\x0eunsigned_value\x18\x01 \x01(\x04H\x00\x12\x17\n\rinteger_value\x18\x02 \x01(\x03H\x00\x12\x16\n\x0cstring_value\x18\x03 \x01(\tH\x00\x42\x06\n\x04kind\"t\n\nPointGroup\x12\x1b\n\x02id\x18\x01 \x01(\x0b\x32\x0f.qdrant.GroupId\x12!\n\x04hits\x18\x02 \x03(\x0b\x32\x13.qdrant.ScoredPoint\x12&\n\x06lookup\x18\x03 \x01(\x0b\x32\x16.qdrant.RetrievedPoint\"2\n\x0cGroupsResult\x12\"\n\x06groups\x18\x01 \x03(\x0b\x32\x12.qdrant.PointGroup\"C\n\x0eSearchResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.ScoredPoint\x12\x0c\n\x04time\x18\x02 \x01(\x01\"B\n\rQueryResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.ScoredPoint\x12\x0c\n\x04time\x18\x02 \x01(\x01\"G\n\x12QueryBatchResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.BatchResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"I\n\x13QueryGroupsResponse\x12$\n\x06result\x18\x01 \x01(\x0b\x32\x14.qdrant.GroupsResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"2\n\x0b\x42\x61tchResult\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.ScoredPoint\"H\n\x13SearchBatchResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.BatchResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"J\n\x14SearchGroupsResponse\x12$\n\x06result\x18\x01 \x01(\x0b\x32\x14.qdrant.GroupsResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"B\n\rCountResponse\x12#\n\x06result\x18\x01 \x01(\x0b\x32\x13.qdrant.CountResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"\x8b\x01\n\x0eScrollResponse\x12.\n\x10next_page_offset\x18\x01 \x01(\x0b\x32\x0f.qdrant.PointIdH\x00\x88\x01\x01\x12&\n\x06result\x18\x02 \x03(\x0b\x32\x16.qdrant.RetrievedPoint\x12\x0c\n\x04time\x18\x03 \x01(\x01\x42\x13\n\x11_next_page_offset\"\x1c\n\x0b\x43ountResult\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\"\xd1\x02\n\x0eRetrievedPoint\x12\x1b\n\x02id\x18\x01 \x01(\x0b\x32\x0f.qdrant.PointId\x12\x34\n\x07payload\x18\x02 \x03(\x0b\x32#.qdrant.RetrievedPoint.PayloadEntry\x12%\n\x07vectors\x18\x04 \x01(\x0b\x32\x0f.qdrant.VectorsH\x00\x88\x01\x01\x12(\n\tshard_key\x18\x05 \x01(\x0b\x32\x10.qdrant.ShardKeyH\x01\x88\x01\x01\x12,\n\x0border_value\x18\x06 \x01(\x0b\x32\x12.qdrant.OrderValueH\x02\x88\x01\x01\x1a=\n\x0cPayloadEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.qdrant.Value:\x02\x38\x01\x42\n\n\x08_vectorsB\x0c\n\n_shard_keyB\x0e\n\x0c_order_valueJ\x04\x08\x03\x10\x04\"C\n\x0bGetResponse\x12&\n\x06result\x18\x01 \x03(\x0b\x32\x16.qdrant.RetrievedPoint\x12\x0c\n\x04time\x18\x02 \x01(\x01\"F\n\x11RecommendResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.ScoredPoint\x12\x0c\n\x04time\x18\x02 \x01(\x01\"K\n\x16RecommendBatchResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.BatchResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"E\n\x10\x44iscoverResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.ScoredPoint\x12\x0c\n\x04time\x18\x02 \x01(\x01\"J\n\x15\x44iscoverBatchResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.qdrant.BatchResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"M\n\x17RecommendGroupsResponse\x12$\n\x06result\x18\x01 \x01(\x0b\x32\x14.qdrant.GroupsResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"I\n\x13UpdateBatchResponse\x12$\n\x06result\x18\x01 \x03(\x0b\x32\x14.qdrant.UpdateResult\x12\x0c\n\x04time\x18\x02 \x01(\x01\"=\n\rFacetResponse\x12\x1e\n\x04hits\x18\x01 \x03(\x0b\x32\x10.qdrant.FacetHit\x12\x0c\n\x04time\x18\x02 \x01(\x01\"\xac\x01\n\x06\x46ilter\x12!\n\x06should\x18\x01 \x03(\x0b\x32\x11.qdrant.Condition\x12\x1f\n\x04must\x18\x02 \x03(\x0b\x32\x11.qdrant.Condition\x12#\n\x08must_not\x18\x03 \x03(\x0b\x32\x11.qdrant.Condition\x12*\n\nmin_should\x18\x04 \x01(\x0b\x32\x11.qdrant.MinShouldH\x00\x88\x01\x01\x42\r\n\x0b_min_should\"E\n\tMinShould\x12%\n\nconditions\x18\x01 \x03(\x0b\x32\x11.qdrant.Condition\x12\x11\n\tmin_count\x18\x02 \x01(\x04\"\x99\x02\n\tCondition\x12\'\n\x05\x66ield\x18\x01 \x01(\x0b\x32\x16.qdrant.FieldConditionH\x00\x12,\n\x08is_empty\x18\x02 \x01(\x0b\x32\x18.qdrant.IsEmptyConditionH\x00\x12(\n\x06has_id\x18\x03 \x01(\x0b\x32\x16.qdrant.HasIdConditionH\x00\x12 \n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x0e.qdrant.FilterH\x00\x12*\n\x07is_null\x18\x05 \x01(\x0b\x32\x17.qdrant.IsNullConditionH\x00\x12)\n\x06nested\x18\x06 \x01(\x0b\x32\x17.qdrant.NestedConditionH\x00\x42\x12\n\x10\x63ondition_one_of\"\x1f\n\x10IsEmptyCondition\x12\x0b\n\x03key\x18\x01 \x01(\t\"\x1e\n\x0fIsNullCondition\x12\x0b\n\x03key\x18\x01 \x01(\t\"1\n\x0eHasIdCondition\x12\x1f\n\x06has_id\x18\x01 \x03(\x0b\x32\x0f.qdrant.PointId\">\n\x0fNestedCondition\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1e\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x0e.qdrant.Filter\"\xb5\x02\n\x0e\x46ieldCondition\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05match\x18\x02 \x01(\x0b\x32\r.qdrant.Match\x12\x1c\n\x05range\x18\x03 \x01(\x0b\x32\r.qdrant.Range\x12\x30\n\x10geo_bounding_box\x18\x04 \x01(\x0b\x32\x16.qdrant.GeoBoundingBox\x12%\n\ngeo_radius\x18\x05 \x01(\x0b\x32\x11.qdrant.GeoRadius\x12)\n\x0cvalues_count\x18\x06 \x01(\x0b\x32\x13.qdrant.ValuesCount\x12\'\n\x0bgeo_polygon\x18\x07 \x01(\x0b\x32\x12.qdrant.GeoPolygon\x12-\n\x0e\x64\x61tetime_range\x18\x08 \x01(\x0b\x32\x15.qdrant.DatetimeRange\"\xa3\x02\n\x05Match\x12\x11\n\x07keyword\x18\x01 \x01(\tH\x00\x12\x11\n\x07integer\x18\x02 \x01(\x03H\x00\x12\x11\n\x07\x62oolean\x18\x03 \x01(\x08H\x00\x12\x0e\n\x04text\x18\x04 \x01(\tH\x00\x12+\n\x08keywords\x18\x05 \x01(\x0b\x32\x17.qdrant.RepeatedStringsH\x00\x12,\n\x08integers\x18\x06 \x01(\x0b\x32\x18.qdrant.RepeatedIntegersH\x00\x12\x33\n\x0f\x65xcept_integers\x18\x07 \x01(\x0b\x32\x18.qdrant.RepeatedIntegersH\x00\x12\x32\n\x0f\x65xcept_keywords\x18\x08 \x01(\x0b\x32\x17.qdrant.RepeatedStringsH\x00\x42\r\n\x0bmatch_value\"\"\n\x0fRepeatedStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\"$\n\x10RepeatedIntegers\x12\x10\n\x08integers\x18\x01 \x03(\x03\"k\n\x05Range\x12\x0f\n\x02lt\x18\x01 \x01(\x01H\x00\x88\x01\x01\x12\x0f\n\x02gt\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12\x10\n\x03gte\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12\x10\n\x03lte\x18\x04 \x01(\x01H\x03\x88\x01\x01\x42\x05\n\x03_ltB\x05\n\x03_gtB\x06\n\x04_gteB\x06\n\x04_lte\"\xe3\x01\n\rDatetimeRange\x12+\n\x02lt\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12+\n\x02gt\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12,\n\x03gte\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x12,\n\x03lte\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03\x88\x01\x01\x42\x05\n\x03_ltB\x05\n\x03_gtB\x06\n\x04_gteB\x06\n\x04_lte\"\\\n\x0eGeoBoundingBox\x12\"\n\x08top_left\x18\x01 \x01(\x0b\x32\x10.qdrant.GeoPoint\x12&\n\x0c\x62ottom_right\x18\x02 \x01(\x0b\x32\x10.qdrant.GeoPoint\"=\n\tGeoRadius\x12 \n\x06\x63\x65nter\x18\x01 \x01(\x0b\x32\x10.qdrant.GeoPoint\x12\x0e\n\x06radius\x18\x02 \x01(\x02\"1\n\rGeoLineString\x12 \n\x06points\x18\x01 \x03(\x0b\x32\x10.qdrant.GeoPoint\"_\n\nGeoPolygon\x12\'\n\x08\x65xterior\x18\x01 \x01(\x0b\x32\x15.qdrant.GeoLineString\x12(\n\tinteriors\x18\x02 \x03(\x0b\x32\x15.qdrant.GeoLineString\"q\n\x0bValuesCount\x12\x0f\n\x02lt\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x0f\n\x02gt\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x10\n\x03gte\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x10\n\x03lte\x18\x04 \x01(\x04H\x03\x88\x01\x01\x42\x05\n\x03_ltB\x05\n\x03_gtB\x06\n\x04_gteB\x06\n\x04_lte\"u\n\x0ePointsSelector\x12\'\n\x06points\x18\x01 \x01(\x0b\x32\x15.qdrant.PointsIdsListH\x00\x12 \n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x0e.qdrant.FilterH\x00\x42\x18\n\x16points_selector_one_of\"-\n\rPointsIdsList\x12\x1c\n\x03ids\x18\x01 \x03(\x0b\x32\x0f.qdrant.PointId\"\xd5\x01\n\x0bPointStruct\x12\x1b\n\x02id\x18\x01 \x01(\x0b\x32\x0f.qdrant.PointId\x12\x31\n\x07payload\x18\x03 \x03(\x0b\x32 .qdrant.PointStruct.PayloadEntry\x12%\n\x07vectors\x18\x04 \x01(\x0b\x32\x0f.qdrant.VectorsH\x00\x88\x01\x01\x1a=\n\x0cPayloadEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.qdrant.Value:\x02\x38\x01\x42\n\n\x08_vectorsJ\x04\x08\x02\x10\x03\"$\n\x08GeoPoint\x12\x0b\n\x03lon\x18\x01 \x01(\x01\x12\x0b\n\x03lat\x18\x02 \x01(\x01*5\n\x11WriteOrderingType\x12\x08\n\x04Weak\x10\x00\x12\n\n\x06Medium\x10\x01\x12\n\n\x06Strong\x10\x02*8\n\x13ReadConsistencyType\x12\x07\n\x03\x41ll\x10\x00\x12\x0c\n\x08Majority\x10\x01\x12\n\n\x06Quorum\x10\x02*\xad\x01\n\tFieldType\x12\x14\n\x10\x46ieldTypeKeyword\x10\x00\x12\x14\n\x10\x46ieldTypeInteger\x10\x01\x12\x12\n\x0e\x46ieldTypeFloat\x10\x02\x12\x10\n\x0c\x46ieldTypeGeo\x10\x03\x12\x11\n\rFieldTypeText\x10\x04\x12\x11\n\rFieldTypeBool\x10\x05\x12\x15\n\x11\x46ieldTypeDatetime\x10\x06\x12\x11\n\rFieldTypeUuid\x10\x07*\x1e\n\tDirection\x12\x07\n\x03\x41sc\x10\x00\x12\x08\n\x04\x44\x65sc\x10\x01*5\n\x11RecommendStrategy\x12\x11\n\rAverageVector\x10\x00\x12\r\n\tBestScore\x10\x01*\x1b\n\x06\x46usion\x12\x07\n\x03RRF\x10\x00\x12\x08\n\x04\x44\x42SF\x10\x01*\x14\n\x06Sample\x12\n\n\x06Random\x10\x00*[\n\x0cUpdateStatus\x12\x17\n\x13UnknownUpdateStatus\x10\x00\x12\x10\n\x0c\x41\x63knowledged\x10\x01\x12\r\n\tCompleted\x10\x02\x12\x11\n\rClockRejected\x10\x03\x42\x15\xaa\x02\x12Qdrant.Client.Grpcb\x06proto3') _WRITEORDERINGTYPE = DESCRIPTOR.enum_types_by_name['WriteOrderingType'] WriteOrderingType = enum_type_wrapper.EnumTypeWrapper(_WRITEORDERINGTYPE) @@ -121,8 +121,9 @@ _QUERYPOINTS = DESCRIPTOR.message_types_by_name['QueryPoints'] _QUERYBATCHPOINTS = DESCRIPTOR.message_types_by_name['QueryBatchPoints'] _QUERYPOINTGROUPS = DESCRIPTOR.message_types_by_name['QueryPointGroups'] +_FACETCOUNTS = DESCRIPTOR.message_types_by_name['FacetCounts'] _FACETVALUE = DESCRIPTOR.message_types_by_name['FacetValue'] -_FACETVALUEHIT = DESCRIPTOR.message_types_by_name['FacetValueHit'] +_FACETHIT = DESCRIPTOR.message_types_by_name['FacetHit'] _POINTSUPDATEOPERATION = DESCRIPTOR.message_types_by_name['PointsUpdateOperation'] _POINTSUPDATEOPERATION_POINTSTRUCTLIST = _POINTSUPDATEOPERATION.nested_types_by_name['PointStructList'] _POINTSUPDATEOPERATION_SETPAYLOAD = _POINTSUPDATEOPERATION.nested_types_by_name['SetPayload'] @@ -162,6 +163,7 @@ _DISCOVERBATCHRESPONSE = DESCRIPTOR.message_types_by_name['DiscoverBatchResponse'] _RECOMMENDGROUPSRESPONSE = DESCRIPTOR.message_types_by_name['RecommendGroupsResponse'] _UPDATEBATCHRESPONSE = DESCRIPTOR.message_types_by_name['UpdateBatchResponse'] +_FACETRESPONSE = DESCRIPTOR.message_types_by_name['FacetResponse'] _FILTER = DESCRIPTOR.message_types_by_name['Filter'] _MINSHOULD = DESCRIPTOR.message_types_by_name['MinShould'] _CONDITION = DESCRIPTOR.message_types_by_name['Condition'] @@ -593,6 +595,13 @@ }) _sym_db.RegisterMessage(QueryPointGroups) +FacetCounts = _reflection.GeneratedProtocolMessageType('FacetCounts', (_message.Message,), { + 'DESCRIPTOR' : _FACETCOUNTS, + '__module__' : 'points_pb2' + # @@protoc_insertion_point(class_scope:qdrant.FacetCounts) + }) +_sym_db.RegisterMessage(FacetCounts) + FacetValue = _reflection.GeneratedProtocolMessageType('FacetValue', (_message.Message,), { 'DESCRIPTOR' : _FACETVALUE, '__module__' : 'points_pb2' @@ -600,12 +609,12 @@ }) _sym_db.RegisterMessage(FacetValue) -FacetValueHit = _reflection.GeneratedProtocolMessageType('FacetValueHit', (_message.Message,), { - 'DESCRIPTOR' : _FACETVALUEHIT, +FacetHit = _reflection.GeneratedProtocolMessageType('FacetHit', (_message.Message,), { + 'DESCRIPTOR' : _FACETHIT, '__module__' : 'points_pb2' - # @@protoc_insertion_point(class_scope:qdrant.FacetValueHit) + # @@protoc_insertion_point(class_scope:qdrant.FacetHit) }) -_sym_db.RegisterMessage(FacetValueHit) +_sym_db.RegisterMessage(FacetHit) PointsUpdateOperation = _reflection.GeneratedProtocolMessageType('PointsUpdateOperation', (_message.Message,), { @@ -892,6 +901,13 @@ }) _sym_db.RegisterMessage(UpdateBatchResponse) +FacetResponse = _reflection.GeneratedProtocolMessageType('FacetResponse', (_message.Message,), { + 'DESCRIPTOR' : _FACETRESPONSE, + '__module__' : 'points_pb2' + # @@protoc_insertion_point(class_scope:qdrant.FacetResponse) + }) +_sym_db.RegisterMessage(FacetResponse) + Filter = _reflection.GeneratedProtocolMessageType('Filter', (_message.Message,), { 'DESCRIPTOR' : _FILTER, '__module__' : 'points_pb2' @@ -1076,22 +1092,22 @@ _RETRIEVEDPOINT_PAYLOADENTRY._serialized_options = b'8\001' _POINTSTRUCT_PAYLOADENTRY._options = None _POINTSTRUCT_PAYLOADENTRY._serialized_options = b'8\001' - _WRITEORDERINGTYPE._serialized_start=21518 - _WRITEORDERINGTYPE._serialized_end=21571 - _READCONSISTENCYTYPE._serialized_start=21573 - _READCONSISTENCYTYPE._serialized_end=21629 - _FIELDTYPE._serialized_start=21632 - _FIELDTYPE._serialized_end=21805 - _DIRECTION._serialized_start=21807 - _DIRECTION._serialized_end=21837 - _RECOMMENDSTRATEGY._serialized_start=21839 - _RECOMMENDSTRATEGY._serialized_end=21892 - _FUSION._serialized_start=21894 - _FUSION._serialized_end=21921 - _SAMPLE._serialized_start=21923 - _SAMPLE._serialized_end=21943 - _UPDATESTATUS._serialized_start=21945 - _UPDATESTATUS._serialized_end=22036 + _WRITEORDERINGTYPE._serialized_start=21956 + _WRITEORDERINGTYPE._serialized_end=22009 + _READCONSISTENCYTYPE._serialized_start=22011 + _READCONSISTENCYTYPE._serialized_end=22067 + _FIELDTYPE._serialized_start=22070 + _FIELDTYPE._serialized_end=22243 + _DIRECTION._serialized_start=22245 + _DIRECTION._serialized_end=22275 + _RECOMMENDSTRATEGY._serialized_start=22277 + _RECOMMENDSTRATEGY._serialized_end=22330 + _FUSION._serialized_start=22332 + _FUSION._serialized_end=22359 + _SAMPLE._serialized_start=22361 + _SAMPLE._serialized_end=22381 + _UPDATESTATUS._serialized_start=22383 + _UPDATESTATUS._serialized_end=22474 _WRITEORDERING._serialized_start=97 _WRITEORDERING._serialized_end=153 _READCONSISTENCY._serialized_start=155 @@ -1208,132 +1224,136 @@ _QUERYBATCHPOINTS._serialized_end=13021 _QUERYPOINTGROUPS._serialized_start=13024 _QUERYPOINTGROUPS._serialized_end=13868 - _FACETVALUE._serialized_start=13870 - _FACETVALUE._serialized_end=13917 - _FACETVALUEHIT._serialized_start=13919 - _FACETVALUEHIT._serialized_end=13984 - _POINTSUPDATEOPERATION._serialized_start=13987 - _POINTSUPDATEOPERATION._serialized_end=16312 - _POINTSUPDATEOPERATION_POINTSTRUCTLIST._serialized_start=14692 - _POINTSUPDATEOPERATION_POINTSTRUCTLIST._serialized_end=14828 - _POINTSUPDATEOPERATION_SETPAYLOAD._serialized_start=14831 - _POINTSUPDATEOPERATION_SETPAYLOAD._serialized_end=15160 + _FACETCOUNTS._serialized_start=13871 + _FACETCOUNTS._serialized_end=14223 + _FACETVALUE._serialized_start=14225 + _FACETVALUE._serialized_end=14297 + _FACETHIT._serialized_start=14299 + _FACETHIT._serialized_end=14359 + _POINTSUPDATEOPERATION._serialized_start=14362 + _POINTSUPDATEOPERATION._serialized_end=16687 + _POINTSUPDATEOPERATION_POINTSTRUCTLIST._serialized_start=15067 + _POINTSUPDATEOPERATION_POINTSTRUCTLIST._serialized_end=15203 + _POINTSUPDATEOPERATION_SETPAYLOAD._serialized_start=15206 + _POINTSUPDATEOPERATION_SETPAYLOAD._serialized_end=15535 _POINTSUPDATEOPERATION_SETPAYLOAD_PAYLOADENTRY._serialized_start=2676 _POINTSUPDATEOPERATION_SETPAYLOAD_PAYLOADENTRY._serialized_end=2737 - _POINTSUPDATEOPERATION_OVERWRITEPAYLOAD._serialized_start=15163 - _POINTSUPDATEOPERATION_OVERWRITEPAYLOAD._serialized_end=15504 + _POINTSUPDATEOPERATION_OVERWRITEPAYLOAD._serialized_start=15538 + _POINTSUPDATEOPERATION_OVERWRITEPAYLOAD._serialized_end=15879 _POINTSUPDATEOPERATION_OVERWRITEPAYLOAD_PAYLOADENTRY._serialized_start=2676 _POINTSUPDATEOPERATION_OVERWRITEPAYLOAD_PAYLOADENTRY._serialized_end=2737 - _POINTSUPDATEOPERATION_DELETEPAYLOAD._serialized_start=15507 - _POINTSUPDATEOPERATION_DELETEPAYLOAD._serialized_end=15692 - _POINTSUPDATEOPERATION_UPDATEVECTORS._serialized_start=15695 - _POINTSUPDATEOPERATION_UPDATEVECTORS._serialized_end=15830 - _POINTSUPDATEOPERATION_DELETEVECTORS._serialized_start=15833 - _POINTSUPDATEOPERATION_DELETEVECTORS._serialized_end=16021 - _POINTSUPDATEOPERATION_DELETEPOINTS._serialized_start=16024 - _POINTSUPDATEOPERATION_DELETEPOINTS._serialized_end=16160 - _POINTSUPDATEOPERATION_CLEARPAYLOAD._serialized_start=16163 - _POINTSUPDATEOPERATION_CLEARPAYLOAD._serialized_end=16299 - _UPDATEBATCHPOINTS._serialized_start=16315 - _UPDATEBATCHPOINTS._serialized_end=16497 - _POINTSOPERATIONRESPONSE._serialized_start=16499 - _POINTSOPERATIONRESPONSE._serialized_end=16576 - _UPDATERESULT._serialized_start=16578 - _UPDATERESULT._serialized_end=16674 - _ORDERVALUE._serialized_start=16676 - _ORDERVALUE._serialized_end=16731 - _SCOREDPOINT._serialized_start=16734 - _SCOREDPOINT._serialized_end=17097 + _POINTSUPDATEOPERATION_DELETEPAYLOAD._serialized_start=15882 + _POINTSUPDATEOPERATION_DELETEPAYLOAD._serialized_end=16067 + _POINTSUPDATEOPERATION_UPDATEVECTORS._serialized_start=16070 + _POINTSUPDATEOPERATION_UPDATEVECTORS._serialized_end=16205 + _POINTSUPDATEOPERATION_DELETEVECTORS._serialized_start=16208 + _POINTSUPDATEOPERATION_DELETEVECTORS._serialized_end=16396 + _POINTSUPDATEOPERATION_DELETEPOINTS._serialized_start=16399 + _POINTSUPDATEOPERATION_DELETEPOINTS._serialized_end=16535 + _POINTSUPDATEOPERATION_CLEARPAYLOAD._serialized_start=16538 + _POINTSUPDATEOPERATION_CLEARPAYLOAD._serialized_end=16674 + _UPDATEBATCHPOINTS._serialized_start=16690 + _UPDATEBATCHPOINTS._serialized_end=16872 + _POINTSOPERATIONRESPONSE._serialized_start=16874 + _POINTSOPERATIONRESPONSE._serialized_end=16951 + _UPDATERESULT._serialized_start=16953 + _UPDATERESULT._serialized_end=17049 + _ORDERVALUE._serialized_start=17051 + _ORDERVALUE._serialized_end=17106 + _SCOREDPOINT._serialized_start=17109 + _SCOREDPOINT._serialized_end=17472 _SCOREDPOINT_PAYLOADENTRY._serialized_start=2676 _SCOREDPOINT_PAYLOADENTRY._serialized_end=2737 - _GROUPID._serialized_start=17099 - _GROUPID._serialized_end=17191 - _POINTGROUP._serialized_start=17193 - _POINTGROUP._serialized_end=17309 - _GROUPSRESULT._serialized_start=17311 - _GROUPSRESULT._serialized_end=17361 - _SEARCHRESPONSE._serialized_start=17363 - _SEARCHRESPONSE._serialized_end=17430 - _QUERYRESPONSE._serialized_start=17432 - _QUERYRESPONSE._serialized_end=17498 - _QUERYBATCHRESPONSE._serialized_start=17500 - _QUERYBATCHRESPONSE._serialized_end=17571 - _QUERYGROUPSRESPONSE._serialized_start=17573 - _QUERYGROUPSRESPONSE._serialized_end=17646 - _BATCHRESULT._serialized_start=17648 - _BATCHRESULT._serialized_end=17698 - _SEARCHBATCHRESPONSE._serialized_start=17700 - _SEARCHBATCHRESPONSE._serialized_end=17772 - _SEARCHGROUPSRESPONSE._serialized_start=17774 - _SEARCHGROUPSRESPONSE._serialized_end=17848 - _COUNTRESPONSE._serialized_start=17850 - _COUNTRESPONSE._serialized_end=17916 - _SCROLLRESPONSE._serialized_start=17919 - _SCROLLRESPONSE._serialized_end=18058 - _COUNTRESULT._serialized_start=18060 - _COUNTRESULT._serialized_end=18088 - _RETRIEVEDPOINT._serialized_start=18091 - _RETRIEVEDPOINT._serialized_end=18428 + _GROUPID._serialized_start=17474 + _GROUPID._serialized_end=17566 + _POINTGROUP._serialized_start=17568 + _POINTGROUP._serialized_end=17684 + _GROUPSRESULT._serialized_start=17686 + _GROUPSRESULT._serialized_end=17736 + _SEARCHRESPONSE._serialized_start=17738 + _SEARCHRESPONSE._serialized_end=17805 + _QUERYRESPONSE._serialized_start=17807 + _QUERYRESPONSE._serialized_end=17873 + _QUERYBATCHRESPONSE._serialized_start=17875 + _QUERYBATCHRESPONSE._serialized_end=17946 + _QUERYGROUPSRESPONSE._serialized_start=17948 + _QUERYGROUPSRESPONSE._serialized_end=18021 + _BATCHRESULT._serialized_start=18023 + _BATCHRESULT._serialized_end=18073 + _SEARCHBATCHRESPONSE._serialized_start=18075 + _SEARCHBATCHRESPONSE._serialized_end=18147 + _SEARCHGROUPSRESPONSE._serialized_start=18149 + _SEARCHGROUPSRESPONSE._serialized_end=18223 + _COUNTRESPONSE._serialized_start=18225 + _COUNTRESPONSE._serialized_end=18291 + _SCROLLRESPONSE._serialized_start=18294 + _SCROLLRESPONSE._serialized_end=18433 + _COUNTRESULT._serialized_start=18435 + _COUNTRESULT._serialized_end=18463 + _RETRIEVEDPOINT._serialized_start=18466 + _RETRIEVEDPOINT._serialized_end=18803 _RETRIEVEDPOINT_PAYLOADENTRY._serialized_start=2676 _RETRIEVEDPOINT_PAYLOADENTRY._serialized_end=2737 - _GETRESPONSE._serialized_start=18430 - _GETRESPONSE._serialized_end=18497 - _RECOMMENDRESPONSE._serialized_start=18499 - _RECOMMENDRESPONSE._serialized_end=18569 - _RECOMMENDBATCHRESPONSE._serialized_start=18571 - _RECOMMENDBATCHRESPONSE._serialized_end=18646 - _DISCOVERRESPONSE._serialized_start=18648 - _DISCOVERRESPONSE._serialized_end=18717 - _DISCOVERBATCHRESPONSE._serialized_start=18719 - _DISCOVERBATCHRESPONSE._serialized_end=18793 - _RECOMMENDGROUPSRESPONSE._serialized_start=18795 - _RECOMMENDGROUPSRESPONSE._serialized_end=18872 - _UPDATEBATCHRESPONSE._serialized_start=18874 - _UPDATEBATCHRESPONSE._serialized_end=18947 - _FILTER._serialized_start=18950 - _FILTER._serialized_end=19122 - _MINSHOULD._serialized_start=19124 - _MINSHOULD._serialized_end=19193 - _CONDITION._serialized_start=19196 - _CONDITION._serialized_end=19477 - _ISEMPTYCONDITION._serialized_start=19479 - _ISEMPTYCONDITION._serialized_end=19510 - _ISNULLCONDITION._serialized_start=19512 - _ISNULLCONDITION._serialized_end=19542 - _HASIDCONDITION._serialized_start=19544 - _HASIDCONDITION._serialized_end=19593 - _NESTEDCONDITION._serialized_start=19595 - _NESTEDCONDITION._serialized_end=19657 - _FIELDCONDITION._serialized_start=19660 - _FIELDCONDITION._serialized_end=19969 - _MATCH._serialized_start=19972 - _MATCH._serialized_end=20263 - _REPEATEDSTRINGS._serialized_start=20265 - _REPEATEDSTRINGS._serialized_end=20299 - _REPEATEDINTEGERS._serialized_start=20301 - _REPEATEDINTEGERS._serialized_end=20337 - _RANGE._serialized_start=20339 - _RANGE._serialized_end=20446 - _DATETIMERANGE._serialized_start=20449 - _DATETIMERANGE._serialized_end=20676 - _GEOBOUNDINGBOX._serialized_start=20678 - _GEOBOUNDINGBOX._serialized_end=20770 - _GEORADIUS._serialized_start=20772 - _GEORADIUS._serialized_end=20833 - _GEOLINESTRING._serialized_start=20835 - _GEOLINESTRING._serialized_end=20884 - _GEOPOLYGON._serialized_start=20886 - _GEOPOLYGON._serialized_end=20981 - _VALUESCOUNT._serialized_start=20983 - _VALUESCOUNT._serialized_end=21096 - _POINTSSELECTOR._serialized_start=21098 - _POINTSSELECTOR._serialized_end=21215 - _POINTSIDSLIST._serialized_start=21217 - _POINTSIDSLIST._serialized_end=21262 - _POINTSTRUCT._serialized_start=21265 - _POINTSTRUCT._serialized_end=21478 + _GETRESPONSE._serialized_start=18805 + _GETRESPONSE._serialized_end=18872 + _RECOMMENDRESPONSE._serialized_start=18874 + _RECOMMENDRESPONSE._serialized_end=18944 + _RECOMMENDBATCHRESPONSE._serialized_start=18946 + _RECOMMENDBATCHRESPONSE._serialized_end=19021 + _DISCOVERRESPONSE._serialized_start=19023 + _DISCOVERRESPONSE._serialized_end=19092 + _DISCOVERBATCHRESPONSE._serialized_start=19094 + _DISCOVERBATCHRESPONSE._serialized_end=19168 + _RECOMMENDGROUPSRESPONSE._serialized_start=19170 + _RECOMMENDGROUPSRESPONSE._serialized_end=19247 + _UPDATEBATCHRESPONSE._serialized_start=19249 + _UPDATEBATCHRESPONSE._serialized_end=19322 + _FACETRESPONSE._serialized_start=19324 + _FACETRESPONSE._serialized_end=19385 + _FILTER._serialized_start=19388 + _FILTER._serialized_end=19560 + _MINSHOULD._serialized_start=19562 + _MINSHOULD._serialized_end=19631 + _CONDITION._serialized_start=19634 + _CONDITION._serialized_end=19915 + _ISEMPTYCONDITION._serialized_start=19917 + _ISEMPTYCONDITION._serialized_end=19948 + _ISNULLCONDITION._serialized_start=19950 + _ISNULLCONDITION._serialized_end=19980 + _HASIDCONDITION._serialized_start=19982 + _HASIDCONDITION._serialized_end=20031 + _NESTEDCONDITION._serialized_start=20033 + _NESTEDCONDITION._serialized_end=20095 + _FIELDCONDITION._serialized_start=20098 + _FIELDCONDITION._serialized_end=20407 + _MATCH._serialized_start=20410 + _MATCH._serialized_end=20701 + _REPEATEDSTRINGS._serialized_start=20703 + _REPEATEDSTRINGS._serialized_end=20737 + _REPEATEDINTEGERS._serialized_start=20739 + _REPEATEDINTEGERS._serialized_end=20775 + _RANGE._serialized_start=20777 + _RANGE._serialized_end=20884 + _DATETIMERANGE._serialized_start=20887 + _DATETIMERANGE._serialized_end=21114 + _GEOBOUNDINGBOX._serialized_start=21116 + _GEOBOUNDINGBOX._serialized_end=21208 + _GEORADIUS._serialized_start=21210 + _GEORADIUS._serialized_end=21271 + _GEOLINESTRING._serialized_start=21273 + _GEOLINESTRING._serialized_end=21322 + _GEOPOLYGON._serialized_start=21324 + _GEOPOLYGON._serialized_end=21419 + _VALUESCOUNT._serialized_start=21421 + _VALUESCOUNT._serialized_end=21534 + _POINTSSELECTOR._serialized_start=21536 + _POINTSSELECTOR._serialized_end=21653 + _POINTSIDSLIST._serialized_start=21655 + _POINTSIDSLIST._serialized_end=21700 + _POINTSTRUCT._serialized_start=21703 + _POINTSTRUCT._serialized_end=21916 _POINTSTRUCT_PAYLOADENTRY._serialized_start=2676 _POINTSTRUCT_PAYLOADENTRY._serialized_end=2737 - _GEOPOINT._serialized_start=21480 - _GEOPOINT._serialized_end=21516 + _GEOPOINT._serialized_start=21918 + _GEOPOINT._serialized_end=21954 # @@protoc_insertion_point(module_scope) diff --git a/qdrant_client/grpc/points_pb2.pyi b/qdrant_client/grpc/points_pb2.pyi index 883022eaf..077c57d7e 100644 --- a/qdrant_client/grpc/points_pb2.pyi +++ b/qdrant_client/grpc/points_pb2.pyi @@ -80,6 +80,7 @@ class _FieldTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._Enum FieldTypeText: _FieldType.ValueType # 4 FieldTypeBool: _FieldType.ValueType # 5 FieldTypeDatetime: _FieldType.ValueType # 6 + FieldTypeUuid: _FieldType.ValueType # 7 class FieldType(_FieldType, metaclass=_FieldTypeEnumTypeWrapper): ... @@ -90,6 +91,7 @@ FieldTypeGeo: FieldType.ValueType # 3 FieldTypeText: FieldType.ValueType # 4 FieldTypeBool: FieldType.ValueType # 5 FieldTypeDatetime: FieldType.ValueType # 6 +FieldTypeUuid: FieldType.ValueType # 7 global___FieldType = FieldType class _Direction: @@ -114,29 +116,67 @@ class _RecommendStrategy: class _RecommendStrategyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RecommendStrategy.ValueType], builtins.type): # noqa: F821 DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor AverageVector: _RecommendStrategy.ValueType # 0 - """Average positive and negative vectors and create a single query with the formula + """Average positive and negative vectors and create a single query with the formula `query = avg_pos + avg_pos - avg_neg`. Then performs normal search. """ BestScore: _RecommendStrategy.ValueType # 1 - """Uses custom search objective. Each candidate is compared against all - examples, its score is then chosen from the `max(max_pos_score, max_neg_score)`. + """Uses custom search objective. Each candidate is compared against all + examples, its score is then chosen from the `max(max_pos_score, max_neg_score)`. If the `max_neg_score` is chosen then it is squared and negated. """ class RecommendStrategy(_RecommendStrategy, metaclass=_RecommendStrategyEnumTypeWrapper): - """How to use positive and negative vectors to find the results, default is `AverageVector`:""" + """How to use positive and negative vectors to find the results, default is `AverageVector`.""" AverageVector: RecommendStrategy.ValueType # 0 -"""Average positive and negative vectors and create a single query with the formula +"""Average positive and negative vectors and create a single query with the formula `query = avg_pos + avg_pos - avg_neg`. Then performs normal search. """ BestScore: RecommendStrategy.ValueType # 1 -"""Uses custom search objective. Each candidate is compared against all -examples, its score is then chosen from the `max(max_pos_score, max_neg_score)`. +"""Uses custom search objective. Each candidate is compared against all +examples, its score is then chosen from the `max(max_pos_score, max_neg_score)`. If the `max_neg_score` is chosen then it is squared and negated. """ global___RecommendStrategy = RecommendStrategy +class _Fusion: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _FusionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Fusion.ValueType], builtins.type): # noqa: F821 + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + RRF: _Fusion.ValueType # 0 + """Reciprocal Rank Fusion""" + DBSF: _Fusion.ValueType # 1 + """Distribution-Based Score Fusion""" + +class Fusion(_Fusion, metaclass=_FusionEnumTypeWrapper): ... + +RRF: Fusion.ValueType # 0 +"""Reciprocal Rank Fusion""" +DBSF: Fusion.ValueType # 1 +"""Distribution-Based Score Fusion""" +global___Fusion = Fusion + +class _Sample: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _SampleEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Sample.ValueType], builtins.type): # noqa: F821 + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + Random: _Sample.ValueType # 0 + +class Sample(_Sample, metaclass=_SampleEnumTypeWrapper): + """Sample points from the collection + + Available sampling methods: + + * `random` - Random sampling + """ + +Random: Sample.ValueType # 0 +global___Sample = Sample + class _UpdateStatus: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType @@ -240,26 +280,117 @@ class SparseIndices(google.protobuf.message.Message): global___SparseIndices = SparseIndices class Vector(google.protobuf.message.Message): + """Legacy vector format, which determines the vector type by the configuration of its fields.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_FIELD_NUMBER: builtins.int INDICES_FIELD_NUMBER: builtins.int + VECTORS_COUNT_FIELD_NUMBER: builtins.int @property - def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ... + def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: + """Vector data (flatten for multi vectors)""" @property - def indices(self) -> global___SparseIndices: ... + def indices(self) -> global___SparseIndices: + """Sparse indices for sparse vectors""" + vectors_count: builtins.int + """Number of vectors per multi vector""" def __init__( self, *, data: collections.abc.Iterable[builtins.float] | None = ..., indices: global___SparseIndices | None = ..., + vectors_count: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_indices", b"_indices", "indices", b"indices"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_indices", b"_indices", "data", b"data", "indices", b"indices"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_indices", b"_indices", "_vectors_count", b"_vectors_count", "indices", b"indices", "vectors_count", b"vectors_count"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_indices", b"_indices", "_vectors_count", b"_vectors_count", "data", b"data", "indices", b"indices", "vectors_count", b"vectors_count"]) -> None: ... + @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_indices", b"_indices"]) -> typing_extensions.Literal["indices"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_vectors_count", b"_vectors_count"]) -> typing_extensions.Literal["vectors_count"] | None: ... global___Vector = Vector +class DenseVector(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DATA_FIELD_NUMBER: builtins.int + @property + def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ... + def __init__( + self, + *, + data: collections.abc.Iterable[builtins.float] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["data", b"data"]) -> None: ... + +global___DenseVector = DenseVector + +class SparseVector(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VALUES_FIELD_NUMBER: builtins.int + INDICES_FIELD_NUMBER: builtins.int + @property + def values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ... + @property + def indices(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + def __init__( + self, + *, + values: collections.abc.Iterable[builtins.float] | None = ..., + indices: collections.abc.Iterable[builtins.int] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["indices", b"indices", "values", b"values"]) -> None: ... + +global___SparseVector = SparseVector + +class MultiDenseVector(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VECTORS_FIELD_NUMBER: builtins.int + @property + def vectors(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DenseVector]: ... + def __init__( + self, + *, + vectors: collections.abc.Iterable[global___DenseVector] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["vectors", b"vectors"]) -> None: ... + +global___MultiDenseVector = MultiDenseVector + +class VectorInput(google.protobuf.message.Message): + """Vector type to be used in queries. Ids will be substituted with their corresponding vectors from the collection.""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + DENSE_FIELD_NUMBER: builtins.int + SPARSE_FIELD_NUMBER: builtins.int + MULTI_DENSE_FIELD_NUMBER: builtins.int + @property + def id(self) -> global___PointId: ... + @property + def dense(self) -> global___DenseVector: ... + @property + def sparse(self) -> global___SparseVector: ... + @property + def multi_dense(self) -> global___MultiDenseVector: ... + def __init__( + self, + *, + id: global___PointId | None = ..., + dense: global___DenseVector | None = ..., + sparse: global___SparseVector | None = ..., + multi_dense: global___MultiDenseVector | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["dense", b"dense", "id", b"id", "multi_dense", b"multi_dense", "sparse", b"sparse", "variant", b"variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["dense", b"dense", "id", b"id", "multi_dense", b"multi_dense", "sparse", b"sparse", "variant", b"variant"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["variant", b"variant"]) -> typing_extensions.Literal["id", "dense", "sparse", "multi_dense"] | None: ... + +global___VectorInput = VectorInput + class ShardKeySelector(google.protobuf.message.Message): """--------------------------------------------- ----------------- ShardKeySelector ---------- @@ -376,6 +507,7 @@ class GetPoints(google.protobuf.message.Message): WITH_VECTORS_FIELD_NUMBER: builtins.int READ_CONSISTENCY_FIELD_NUMBER: builtins.int SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int + TIMEOUT_FIELD_NUMBER: builtins.int collection_name: builtins.str """name of the collection""" @property @@ -393,6 +525,8 @@ class GetPoints(google.protobuf.message.Message): @property def shard_key_selector(self) -> global___ShardKeySelector: """Specify in which shards to look for the points, if not specified - look in all shards""" + timeout: builtins.int + """If set, overrides global timeout setting for this request. Unit is seconds.""" def __init__( self, *, @@ -402,14 +536,17 @@ class GetPoints(google.protobuf.message.Message): with_vectors: global___WithVectorsSelector | None = ..., read_consistency: global___ReadConsistency | None = ..., shard_key_selector: global___ShardKeySelector | None = ..., + timeout: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_read_consistency", b"_read_consistency", "_shard_key_selector", b"_shard_key_selector", "_with_vectors", b"_with_vectors", "read_consistency", b"read_consistency", "shard_key_selector", b"shard_key_selector", "with_payload", b"with_payload", "with_vectors", b"with_vectors"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_read_consistency", b"_read_consistency", "_shard_key_selector", b"_shard_key_selector", "_with_vectors", b"_with_vectors", "collection_name", b"collection_name", "ids", b"ids", "read_consistency", b"read_consistency", "shard_key_selector", b"shard_key_selector", "with_payload", b"with_payload", "with_vectors", b"with_vectors"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_read_consistency", b"_read_consistency", "_shard_key_selector", b"_shard_key_selector", "_timeout", b"_timeout", "_with_vectors", b"_with_vectors", "read_consistency", b"read_consistency", "shard_key_selector", b"shard_key_selector", "timeout", b"timeout", "with_payload", b"with_payload", "with_vectors", b"with_vectors"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_read_consistency", b"_read_consistency", "_shard_key_selector", b"_shard_key_selector", "_timeout", b"_timeout", "_with_vectors", b"_with_vectors", "collection_name", b"collection_name", "ids", b"ids", "read_consistency", b"read_consistency", "shard_key_selector", b"shard_key_selector", "timeout", b"timeout", "with_payload", b"with_payload", "with_vectors", b"with_vectors"]) -> None: ... @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_read_consistency", b"_read_consistency"]) -> typing_extensions.Literal["read_consistency"] | None: ... @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_timeout", b"_timeout"]) -> typing_extensions.Literal["timeout"] | None: ... + @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_with_vectors", b"_with_vectors"]) -> typing_extensions.Literal["with_vectors"] | None: ... global___GetPoints = GetPoints @@ -1321,6 +1458,7 @@ class ScrollPoints(google.protobuf.message.Message): READ_CONSISTENCY_FIELD_NUMBER: builtins.int SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int ORDER_BY_FIELD_NUMBER: builtins.int + TIMEOUT_FIELD_NUMBER: builtins.int collection_name: builtins.str @property def filter(self) -> global___Filter: @@ -1345,6 +1483,8 @@ class ScrollPoints(google.protobuf.message.Message): @property def order_by(self) -> global___OrderBy: """Order the records by a payload field""" + timeout: builtins.int + """If set, overrides global timeout setting for this request. Unit is seconds.""" def __init__( self, *, @@ -1357,9 +1497,10 @@ class ScrollPoints(google.protobuf.message.Message): read_consistency: global___ReadConsistency | None = ..., shard_key_selector: global___ShardKeySelector | None = ..., order_by: global___OrderBy | None = ..., + timeout: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_limit", b"_limit", "_offset", b"_offset", "_order_by", b"_order_by", "_read_consistency", b"_read_consistency", "_shard_key_selector", b"_shard_key_selector", "_with_vectors", b"_with_vectors", "filter", b"filter", "limit", b"limit", "offset", b"offset", "order_by", b"order_by", "read_consistency", b"read_consistency", "shard_key_selector", b"shard_key_selector", "with_payload", b"with_payload", "with_vectors", b"with_vectors"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_limit", b"_limit", "_offset", b"_offset", "_order_by", b"_order_by", "_read_consistency", b"_read_consistency", "_shard_key_selector", b"_shard_key_selector", "_with_vectors", b"_with_vectors", "collection_name", b"collection_name", "filter", b"filter", "limit", b"limit", "offset", b"offset", "order_by", b"order_by", "read_consistency", b"read_consistency", "shard_key_selector", b"shard_key_selector", "with_payload", b"with_payload", "with_vectors", b"with_vectors"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_limit", b"_limit", "_offset", b"_offset", "_order_by", b"_order_by", "_read_consistency", b"_read_consistency", "_shard_key_selector", b"_shard_key_selector", "_timeout", b"_timeout", "_with_vectors", b"_with_vectors", "filter", b"filter", "limit", b"limit", "offset", b"offset", "order_by", b"order_by", "read_consistency", b"read_consistency", "shard_key_selector", b"shard_key_selector", "timeout", b"timeout", "with_payload", b"with_payload", "with_vectors", b"with_vectors"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_limit", b"_limit", "_offset", b"_offset", "_order_by", b"_order_by", "_read_consistency", b"_read_consistency", "_shard_key_selector", b"_shard_key_selector", "_timeout", b"_timeout", "_with_vectors", b"_with_vectors", "collection_name", b"collection_name", "filter", b"filter", "limit", b"limit", "offset", b"offset", "order_by", b"order_by", "read_consistency", b"read_consistency", "shard_key_selector", b"shard_key_selector", "timeout", b"timeout", "with_payload", b"with_payload", "with_vectors", b"with_vectors"]) -> None: ... @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_limit", b"_limit"]) -> typing_extensions.Literal["limit"] | None: ... @typing.overload @@ -1371,6 +1512,8 @@ class ScrollPoints(google.protobuf.message.Message): @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_timeout", b"_timeout"]) -> typing_extensions.Literal["timeout"] | None: ... + @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_with_vectors", b"_with_vectors"]) -> typing_extensions.Literal["with_vectors"] | None: ... global___ScrollPoints = ScrollPoints @@ -1861,8 +2004,9 @@ class CountPoints(google.protobuf.message.Message): EXACT_FIELD_NUMBER: builtins.int READ_CONSISTENCY_FIELD_NUMBER: builtins.int SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int + TIMEOUT_FIELD_NUMBER: builtins.int collection_name: builtins.str - """name of the collection""" + """Name of the collection""" @property def filter(self) -> global___Filter: """Filter conditions - return only those points that satisfy the specified conditions""" @@ -1874,6 +2018,8 @@ class CountPoints(google.protobuf.message.Message): @property def shard_key_selector(self) -> global___ShardKeySelector: """Specify in which shards to look for the points, if not specified - look in all shards""" + timeout: builtins.int + """If set, overrides global timeout setting for this request. Unit is seconds.""" def __init__( self, *, @@ -1882,154 +2028,760 @@ class CountPoints(google.protobuf.message.Message): exact: builtins.bool | None = ..., read_consistency: global___ReadConsistency | None = ..., shard_key_selector: global___ShardKeySelector | None = ..., + timeout: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_exact", b"_exact", "_read_consistency", b"_read_consistency", "_shard_key_selector", b"_shard_key_selector", "exact", b"exact", "filter", b"filter", "read_consistency", b"read_consistency", "shard_key_selector", b"shard_key_selector"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_exact", b"_exact", "_read_consistency", b"_read_consistency", "_shard_key_selector", b"_shard_key_selector", "collection_name", b"collection_name", "exact", b"exact", "filter", b"filter", "read_consistency", b"read_consistency", "shard_key_selector", b"shard_key_selector"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_exact", b"_exact", "_read_consistency", b"_read_consistency", "_shard_key_selector", b"_shard_key_selector", "_timeout", b"_timeout", "exact", b"exact", "filter", b"filter", "read_consistency", b"read_consistency", "shard_key_selector", b"shard_key_selector", "timeout", b"timeout"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_exact", b"_exact", "_read_consistency", b"_read_consistency", "_shard_key_selector", b"_shard_key_selector", "_timeout", b"_timeout", "collection_name", b"collection_name", "exact", b"exact", "filter", b"filter", "read_consistency", b"read_consistency", "shard_key_selector", b"shard_key_selector", "timeout", b"timeout"]) -> None: ... @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_exact", b"_exact"]) -> typing_extensions.Literal["exact"] | None: ... @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_read_consistency", b"_read_consistency"]) -> typing_extensions.Literal["read_consistency"] | None: ... @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_timeout", b"_timeout"]) -> typing_extensions.Literal["timeout"] | None: ... global___CountPoints = CountPoints -class PointsUpdateOperation(google.protobuf.message.Message): +class RecommendInput(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - class PointStructList(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor + POSITIVE_FIELD_NUMBER: builtins.int + NEGATIVE_FIELD_NUMBER: builtins.int + STRATEGY_FIELD_NUMBER: builtins.int + @property + def positive(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VectorInput]: + """Look for vectors closest to the vectors from these points""" + @property + def negative(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VectorInput]: + """Try to avoid vectors like the vector from these points""" + strategy: global___RecommendStrategy.ValueType + """How to use the provided vectors to find the results""" + def __init__( + self, + *, + positive: collections.abc.Iterable[global___VectorInput] | None = ..., + negative: collections.abc.Iterable[global___VectorInput] | None = ..., + strategy: global___RecommendStrategy.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_strategy", b"_strategy", "strategy", b"strategy"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_strategy", b"_strategy", "negative", b"negative", "positive", b"positive", "strategy", b"strategy"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_strategy", b"_strategy"]) -> typing_extensions.Literal["strategy"] | None: ... - POINTS_FIELD_NUMBER: builtins.int - SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int - @property - def points(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PointStruct]: ... - @property - def shard_key_selector(self) -> global___ShardKeySelector: - """Option for custom sharding to specify used shard keys""" - def __init__( - self, - *, - points: collections.abc.Iterable[global___PointStruct] | None = ..., - shard_key_selector: global___ShardKeySelector | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector", "shard_key_selector", b"shard_key_selector"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector", "points", b"points", "shard_key_selector", b"shard_key_selector"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... +global___RecommendInput = RecommendInput - class SetPayload(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +class ContextInputPair(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor - class PayloadEntry(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor + POSITIVE_FIELD_NUMBER: builtins.int + NEGATIVE_FIELD_NUMBER: builtins.int + @property + def positive(self) -> global___VectorInput: + """A positive vector""" + @property + def negative(self) -> global___VectorInput: + """Repel from this vector""" + def __init__( + self, + *, + positive: global___VectorInput | None = ..., + negative: global___VectorInput | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["negative", b"negative", "positive", b"positive"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["negative", b"negative", "positive", b"positive"]) -> None: ... - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - key: builtins.str - @property - def value(self) -> json_with_int_pb2.Value: ... - def __init__( - self, - *, - key: builtins.str = ..., - value: json_with_int_pb2.Value | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ... +global___ContextInputPair = ContextInputPair - PAYLOAD_FIELD_NUMBER: builtins.int - POINTS_SELECTOR_FIELD_NUMBER: builtins.int - SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int - KEY_FIELD_NUMBER: builtins.int - @property - def payload(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, json_with_int_pb2.Value]: ... - @property - def points_selector(self) -> global___PointsSelector: - """Affected points""" - @property - def shard_key_selector(self) -> global___ShardKeySelector: - """Option for custom sharding to specify used shard keys""" - key: builtins.str - """Option for indicate property of payload""" - def __init__( - self, - *, - payload: collections.abc.Mapping[builtins.str, json_with_int_pb2.Value] | None = ..., - points_selector: global___PointsSelector | None = ..., - shard_key_selector: global___ShardKeySelector | None = ..., - key: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_key", b"_key", "_points_selector", b"_points_selector", "_shard_key_selector", b"_shard_key_selector", "key", b"key", "points_selector", b"points_selector", "shard_key_selector", b"shard_key_selector"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_key", b"_key", "_points_selector", b"_points_selector", "_shard_key_selector", b"_shard_key_selector", "key", b"key", "payload", b"payload", "points_selector", b"points_selector", "shard_key_selector", b"shard_key_selector"]) -> None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal["_key", b"_key"]) -> typing_extensions.Literal["key"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal["_points_selector", b"_points_selector"]) -> typing_extensions.Literal["points_selector"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... +class DiscoverInput(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor - class DeletePayload(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor + TARGET_FIELD_NUMBER: builtins.int + CONTEXT_FIELD_NUMBER: builtins.int + @property + def target(self) -> global___VectorInput: + """Use this as the primary search objective""" + @property + def context(self) -> global___ContextInput: + """Search space will be constrained by these pairs of vectors""" + def __init__( + self, + *, + target: global___VectorInput | None = ..., + context: global___ContextInput | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["context", b"context", "target", b"target"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["context", b"context", "target", b"target"]) -> None: ... - KEYS_FIELD_NUMBER: builtins.int - POINTS_SELECTOR_FIELD_NUMBER: builtins.int - SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int - @property - def keys(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - @property - def points_selector(self) -> global___PointsSelector: - """Affected points""" - @property - def shard_key_selector(self) -> global___ShardKeySelector: - """Option for custom sharding to specify used shard keys""" - def __init__( - self, - *, - keys: collections.abc.Iterable[builtins.str] | None = ..., - points_selector: global___PointsSelector | None = ..., - shard_key_selector: global___ShardKeySelector | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_points_selector", b"_points_selector", "_shard_key_selector", b"_shard_key_selector", "points_selector", b"points_selector", "shard_key_selector", b"shard_key_selector"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_points_selector", b"_points_selector", "_shard_key_selector", b"_shard_key_selector", "keys", b"keys", "points_selector", b"points_selector", "shard_key_selector", b"shard_key_selector"]) -> None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal["_points_selector", b"_points_selector"]) -> typing_extensions.Literal["points_selector"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... +global___DiscoverInput = DiscoverInput - class UpdateVectors(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +class ContextInput(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor - POINTS_FIELD_NUMBER: builtins.int - SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int - @property - def points(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PointVectors]: - """List of points and vectors to update""" - @property - def shard_key_selector(self) -> global___ShardKeySelector: - """Option for custom sharding to specify used shard keys""" - def __init__( - self, - *, - points: collections.abc.Iterable[global___PointVectors] | None = ..., - shard_key_selector: global___ShardKeySelector | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector", "shard_key_selector", b"shard_key_selector"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector", "points", b"points", "shard_key_selector", b"shard_key_selector"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... + PAIRS_FIELD_NUMBER: builtins.int + @property + def pairs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ContextInputPair]: + """Search space will be constrained by these pairs of vectors""" + def __init__( + self, + *, + pairs: collections.abc.Iterable[global___ContextInputPair] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["pairs", b"pairs"]) -> None: ... - class DeleteVectors(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor +global___ContextInput = ContextInput - POINTS_SELECTOR_FIELD_NUMBER: builtins.int - VECTORS_FIELD_NUMBER: builtins.int - SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int - @property - def points_selector(self) -> global___PointsSelector: - """Affected points""" - @property - def vectors(self) -> global___VectorsSelector: - """List of vector names to delete""" - @property +class Query(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NEAREST_FIELD_NUMBER: builtins.int + RECOMMEND_FIELD_NUMBER: builtins.int + DISCOVER_FIELD_NUMBER: builtins.int + CONTEXT_FIELD_NUMBER: builtins.int + ORDER_BY_FIELD_NUMBER: builtins.int + FUSION_FIELD_NUMBER: builtins.int + SAMPLE_FIELD_NUMBER: builtins.int + @property + def nearest(self) -> global___VectorInput: + """Find the nearest neighbors to this vector.""" + @property + def recommend(self) -> global___RecommendInput: + """Use multiple positive and negative vectors to find the results.""" + @property + def discover(self) -> global___DiscoverInput: + """Search for nearest points, but constrain the search space with context""" + @property + def context(self) -> global___ContextInput: + """Return points that live in positive areas.""" + @property + def order_by(self) -> global___OrderBy: + """Order the points by a payload field.""" + fusion: global___Fusion.ValueType + """Fuse the results of multiple prefetches.""" + sample: global___Sample.ValueType + """Sample points from the collection.""" + def __init__( + self, + *, + nearest: global___VectorInput | None = ..., + recommend: global___RecommendInput | None = ..., + discover: global___DiscoverInput | None = ..., + context: global___ContextInput | None = ..., + order_by: global___OrderBy | None = ..., + fusion: global___Fusion.ValueType = ..., + sample: global___Sample.ValueType = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["context", b"context", "discover", b"discover", "fusion", b"fusion", "nearest", b"nearest", "order_by", b"order_by", "recommend", b"recommend", "sample", b"sample", "variant", b"variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["context", b"context", "discover", b"discover", "fusion", b"fusion", "nearest", b"nearest", "order_by", b"order_by", "recommend", b"recommend", "sample", b"sample", "variant", b"variant"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["variant", b"variant"]) -> typing_extensions.Literal["nearest", "recommend", "discover", "context", "order_by", "fusion", "sample"] | None: ... + +global___Query = Query + +class PrefetchQuery(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PREFETCH_FIELD_NUMBER: builtins.int + QUERY_FIELD_NUMBER: builtins.int + USING_FIELD_NUMBER: builtins.int + FILTER_FIELD_NUMBER: builtins.int + PARAMS_FIELD_NUMBER: builtins.int + SCORE_THRESHOLD_FIELD_NUMBER: builtins.int + LIMIT_FIELD_NUMBER: builtins.int + LOOKUP_FROM_FIELD_NUMBER: builtins.int + @property + def prefetch(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PrefetchQuery]: + """Sub-requests to perform first. If present, the query will be performed on the results of the prefetches.""" + @property + def query(self) -> global___Query: + """Query to perform. If missing, returns points ordered by their IDs.""" + using: builtins.str + """Define which vector to use for querying. If missing, the default vector is is used.""" + @property + def filter(self) -> global___Filter: + """Filter conditions - return only those points that satisfy the specified conditions.""" + @property + def params(self) -> global___SearchParams: + """Search params for when there is no prefetch.""" + score_threshold: builtins.float + """Return points with scores better than this threshold.""" + limit: builtins.int + """Max number of points. Default is 10""" + @property + def lookup_from(self) -> global___LookupLocation: + """The location to use for IDs lookup, if not specified - use the current collection and the 'using' vector""" + def __init__( + self, + *, + prefetch: collections.abc.Iterable[global___PrefetchQuery] | None = ..., + query: global___Query | None = ..., + using: builtins.str | None = ..., + filter: global___Filter | None = ..., + params: global___SearchParams | None = ..., + score_threshold: builtins.float | None = ..., + limit: builtins.int | None = ..., + lookup_from: global___LookupLocation | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_filter", b"_filter", "_limit", b"_limit", "_lookup_from", b"_lookup_from", "_params", b"_params", "_query", b"_query", "_score_threshold", b"_score_threshold", "_using", b"_using", "filter", b"filter", "limit", b"limit", "lookup_from", b"lookup_from", "params", b"params", "query", b"query", "score_threshold", b"score_threshold", "using", b"using"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_filter", b"_filter", "_limit", b"_limit", "_lookup_from", b"_lookup_from", "_params", b"_params", "_query", b"_query", "_score_threshold", b"_score_threshold", "_using", b"_using", "filter", b"filter", "limit", b"limit", "lookup_from", b"lookup_from", "params", b"params", "prefetch", b"prefetch", "query", b"query", "score_threshold", b"score_threshold", "using", b"using"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_filter", b"_filter"]) -> typing_extensions.Literal["filter"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_limit", b"_limit"]) -> typing_extensions.Literal["limit"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_lookup_from", b"_lookup_from"]) -> typing_extensions.Literal["lookup_from"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_params", b"_params"]) -> typing_extensions.Literal["params"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_query", b"_query"]) -> typing_extensions.Literal["query"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_score_threshold", b"_score_threshold"]) -> typing_extensions.Literal["score_threshold"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_using", b"_using"]) -> typing_extensions.Literal["using"] | None: ... + +global___PrefetchQuery = PrefetchQuery + +class QueryPoints(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COLLECTION_NAME_FIELD_NUMBER: builtins.int + PREFETCH_FIELD_NUMBER: builtins.int + QUERY_FIELD_NUMBER: builtins.int + USING_FIELD_NUMBER: builtins.int + FILTER_FIELD_NUMBER: builtins.int + PARAMS_FIELD_NUMBER: builtins.int + SCORE_THRESHOLD_FIELD_NUMBER: builtins.int + LIMIT_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + WITH_VECTORS_FIELD_NUMBER: builtins.int + WITH_PAYLOAD_FIELD_NUMBER: builtins.int + READ_CONSISTENCY_FIELD_NUMBER: builtins.int + SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int + LOOKUP_FROM_FIELD_NUMBER: builtins.int + TIMEOUT_FIELD_NUMBER: builtins.int + collection_name: builtins.str + """Name of the collection""" + @property + def prefetch(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PrefetchQuery]: + """Sub-requests to perform first. If present, the query will be performed on the results of the prefetches.""" + @property + def query(self) -> global___Query: + """Query to perform. If missing, returns points ordered by their IDs.""" + using: builtins.str + """Define which vector to use for querying. If missing, the default vector is used.""" + @property + def filter(self) -> global___Filter: + """Filter conditions - return only those points that satisfy the specified conditions.""" + @property + def params(self) -> global___SearchParams: + """Search params for when there is no prefetch.""" + score_threshold: builtins.float + """Return points with scores better than this threshold.""" + limit: builtins.int + """Max number of points. Default is 10.""" + offset: builtins.int + """Offset of the result. Skip this many points. Default is 0.""" + @property + def with_vectors(self) -> global___WithVectorsSelector: + """Options for specifying which vectors to include into the response.""" + @property + def with_payload(self) -> global___WithPayloadSelector: + """Options for specifying which payload to include or not.""" + @property + def read_consistency(self) -> global___ReadConsistency: + """Options for specifying read consistency guarantees.""" + @property + def shard_key_selector(self) -> global___ShardKeySelector: + """Specify in which shards to look for the points, if not specified - look in all shards.""" + @property + def lookup_from(self) -> global___LookupLocation: + """The location to use for IDs lookup, if not specified - use the current collection and the 'using' vector""" + timeout: builtins.int + """If set, overrides global timeout setting for this request. Unit is seconds.""" + def __init__( + self, + *, + collection_name: builtins.str = ..., + prefetch: collections.abc.Iterable[global___PrefetchQuery] | None = ..., + query: global___Query | None = ..., + using: builtins.str | None = ..., + filter: global___Filter | None = ..., + params: global___SearchParams | None = ..., + score_threshold: builtins.float | None = ..., + limit: builtins.int | None = ..., + offset: builtins.int | None = ..., + with_vectors: global___WithVectorsSelector | None = ..., + with_payload: global___WithPayloadSelector | None = ..., + read_consistency: global___ReadConsistency | None = ..., + shard_key_selector: global___ShardKeySelector | None = ..., + lookup_from: global___LookupLocation | None = ..., + timeout: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_filter", b"_filter", "_limit", b"_limit", "_lookup_from", b"_lookup_from", "_offset", b"_offset", "_params", b"_params", "_query", b"_query", "_read_consistency", b"_read_consistency", "_score_threshold", b"_score_threshold", "_shard_key_selector", b"_shard_key_selector", "_timeout", b"_timeout", "_using", b"_using", "_with_payload", b"_with_payload", "_with_vectors", b"_with_vectors", "filter", b"filter", "limit", b"limit", "lookup_from", b"lookup_from", "offset", b"offset", "params", b"params", "query", b"query", "read_consistency", b"read_consistency", "score_threshold", b"score_threshold", "shard_key_selector", b"shard_key_selector", "timeout", b"timeout", "using", b"using", "with_payload", b"with_payload", "with_vectors", b"with_vectors"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_filter", b"_filter", "_limit", b"_limit", "_lookup_from", b"_lookup_from", "_offset", b"_offset", "_params", b"_params", "_query", b"_query", "_read_consistency", b"_read_consistency", "_score_threshold", b"_score_threshold", "_shard_key_selector", b"_shard_key_selector", "_timeout", b"_timeout", "_using", b"_using", "_with_payload", b"_with_payload", "_with_vectors", b"_with_vectors", "collection_name", b"collection_name", "filter", b"filter", "limit", b"limit", "lookup_from", b"lookup_from", "offset", b"offset", "params", b"params", "prefetch", b"prefetch", "query", b"query", "read_consistency", b"read_consistency", "score_threshold", b"score_threshold", "shard_key_selector", b"shard_key_selector", "timeout", b"timeout", "using", b"using", "with_payload", b"with_payload", "with_vectors", b"with_vectors"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_filter", b"_filter"]) -> typing_extensions.Literal["filter"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_limit", b"_limit"]) -> typing_extensions.Literal["limit"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_lookup_from", b"_lookup_from"]) -> typing_extensions.Literal["lookup_from"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_offset", b"_offset"]) -> typing_extensions.Literal["offset"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_params", b"_params"]) -> typing_extensions.Literal["params"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_query", b"_query"]) -> typing_extensions.Literal["query"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_read_consistency", b"_read_consistency"]) -> typing_extensions.Literal["read_consistency"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_score_threshold", b"_score_threshold"]) -> typing_extensions.Literal["score_threshold"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_timeout", b"_timeout"]) -> typing_extensions.Literal["timeout"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_using", b"_using"]) -> typing_extensions.Literal["using"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_with_payload", b"_with_payload"]) -> typing_extensions.Literal["with_payload"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_with_vectors", b"_with_vectors"]) -> typing_extensions.Literal["with_vectors"] | None: ... + +global___QueryPoints = QueryPoints + +class QueryBatchPoints(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COLLECTION_NAME_FIELD_NUMBER: builtins.int + QUERY_POINTS_FIELD_NUMBER: builtins.int + READ_CONSISTENCY_FIELD_NUMBER: builtins.int + TIMEOUT_FIELD_NUMBER: builtins.int + collection_name: builtins.str + @property + def query_points(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___QueryPoints]: ... + @property + def read_consistency(self) -> global___ReadConsistency: + """Options for specifying read consistency guarantees""" + timeout: builtins.int + """If set, overrides global timeout setting for this request. Unit is seconds.""" + def __init__( + self, + *, + collection_name: builtins.str = ..., + query_points: collections.abc.Iterable[global___QueryPoints] | None = ..., + read_consistency: global___ReadConsistency | None = ..., + timeout: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_read_consistency", b"_read_consistency", "_timeout", b"_timeout", "read_consistency", b"read_consistency", "timeout", b"timeout"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_read_consistency", b"_read_consistency", "_timeout", b"_timeout", "collection_name", b"collection_name", "query_points", b"query_points", "read_consistency", b"read_consistency", "timeout", b"timeout"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_read_consistency", b"_read_consistency"]) -> typing_extensions.Literal["read_consistency"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_timeout", b"_timeout"]) -> typing_extensions.Literal["timeout"] | None: ... + +global___QueryBatchPoints = QueryBatchPoints + +class QueryPointGroups(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COLLECTION_NAME_FIELD_NUMBER: builtins.int + PREFETCH_FIELD_NUMBER: builtins.int + QUERY_FIELD_NUMBER: builtins.int + USING_FIELD_NUMBER: builtins.int + FILTER_FIELD_NUMBER: builtins.int + PARAMS_FIELD_NUMBER: builtins.int + SCORE_THRESHOLD_FIELD_NUMBER: builtins.int + WITH_PAYLOAD_FIELD_NUMBER: builtins.int + WITH_VECTORS_FIELD_NUMBER: builtins.int + LOOKUP_FROM_FIELD_NUMBER: builtins.int + LIMIT_FIELD_NUMBER: builtins.int + GROUP_SIZE_FIELD_NUMBER: builtins.int + GROUP_BY_FIELD_NUMBER: builtins.int + READ_CONSISTENCY_FIELD_NUMBER: builtins.int + WITH_LOOKUP_FIELD_NUMBER: builtins.int + TIMEOUT_FIELD_NUMBER: builtins.int + SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int + collection_name: builtins.str + """Name of the collection""" + @property + def prefetch(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PrefetchQuery]: + """Sub-requests to perform first. If present, the query will be performed on the results of the prefetches.""" + @property + def query(self) -> global___Query: + """Query to perform. If missing, returns points ordered by their IDs.""" + using: builtins.str + """Define which vector to use for querying. If missing, the default vector is used.""" + @property + def filter(self) -> global___Filter: + """Filter conditions - return only those points that satisfy the specified conditions.""" + @property + def params(self) -> global___SearchParams: + """Search params for when there is no prefetch.""" + score_threshold: builtins.float + """Return points with scores better than this threshold.""" + @property + def with_payload(self) -> global___WithPayloadSelector: + """Options for specifying which payload to include or not""" + @property + def with_vectors(self) -> global___WithVectorsSelector: + """Options for specifying which vectors to include into response""" + @property + def lookup_from(self) -> global___LookupLocation: + """The location to use for IDs lookup, if not specified - use the current collection and the 'using' vector""" + limit: builtins.int + """Max number of points. Default is 3.""" + group_size: builtins.int + """Maximum amount of points to return per group. Default to 10.""" + group_by: builtins.str + """Payload field to group by, must be a string or number field. If there are multiple values for the field, all of them will be used. One point can be in multiple groups.""" + @property + def read_consistency(self) -> global___ReadConsistency: + """Options for specifying read consistency guarantees""" + @property + def with_lookup(self) -> global___WithLookup: + """Options for specifying how to use the group id to lookup points in another collection""" + timeout: builtins.int + """If set, overrides global timeout setting for this request. Unit is seconds.""" + @property + def shard_key_selector(self) -> global___ShardKeySelector: + """Specify in which shards to look for the points, if not specified - look in all shards""" + def __init__( + self, + *, + collection_name: builtins.str = ..., + prefetch: collections.abc.Iterable[global___PrefetchQuery] | None = ..., + query: global___Query | None = ..., + using: builtins.str | None = ..., + filter: global___Filter | None = ..., + params: global___SearchParams | None = ..., + score_threshold: builtins.float | None = ..., + with_payload: global___WithPayloadSelector | None = ..., + with_vectors: global___WithVectorsSelector | None = ..., + lookup_from: global___LookupLocation | None = ..., + limit: builtins.int | None = ..., + group_size: builtins.int | None = ..., + group_by: builtins.str = ..., + read_consistency: global___ReadConsistency | None = ..., + with_lookup: global___WithLookup | None = ..., + timeout: builtins.int | None = ..., + shard_key_selector: global___ShardKeySelector | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_filter", b"_filter", "_group_size", b"_group_size", "_limit", b"_limit", "_lookup_from", b"_lookup_from", "_params", b"_params", "_query", b"_query", "_read_consistency", b"_read_consistency", "_score_threshold", b"_score_threshold", "_shard_key_selector", b"_shard_key_selector", "_timeout", b"_timeout", "_using", b"_using", "_with_lookup", b"_with_lookup", "_with_vectors", b"_with_vectors", "filter", b"filter", "group_size", b"group_size", "limit", b"limit", "lookup_from", b"lookup_from", "params", b"params", "query", b"query", "read_consistency", b"read_consistency", "score_threshold", b"score_threshold", "shard_key_selector", b"shard_key_selector", "timeout", b"timeout", "using", b"using", "with_lookup", b"with_lookup", "with_payload", b"with_payload", "with_vectors", b"with_vectors"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_filter", b"_filter", "_group_size", b"_group_size", "_limit", b"_limit", "_lookup_from", b"_lookup_from", "_params", b"_params", "_query", b"_query", "_read_consistency", b"_read_consistency", "_score_threshold", b"_score_threshold", "_shard_key_selector", b"_shard_key_selector", "_timeout", b"_timeout", "_using", b"_using", "_with_lookup", b"_with_lookup", "_with_vectors", b"_with_vectors", "collection_name", b"collection_name", "filter", b"filter", "group_by", b"group_by", "group_size", b"group_size", "limit", b"limit", "lookup_from", b"lookup_from", "params", b"params", "prefetch", b"prefetch", "query", b"query", "read_consistency", b"read_consistency", "score_threshold", b"score_threshold", "shard_key_selector", b"shard_key_selector", "timeout", b"timeout", "using", b"using", "with_lookup", b"with_lookup", "with_payload", b"with_payload", "with_vectors", b"with_vectors"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_filter", b"_filter"]) -> typing_extensions.Literal["filter"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_group_size", b"_group_size"]) -> typing_extensions.Literal["group_size"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_limit", b"_limit"]) -> typing_extensions.Literal["limit"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_lookup_from", b"_lookup_from"]) -> typing_extensions.Literal["lookup_from"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_params", b"_params"]) -> typing_extensions.Literal["params"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_query", b"_query"]) -> typing_extensions.Literal["query"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_read_consistency", b"_read_consistency"]) -> typing_extensions.Literal["read_consistency"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_score_threshold", b"_score_threshold"]) -> typing_extensions.Literal["score_threshold"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_timeout", b"_timeout"]) -> typing_extensions.Literal["timeout"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_using", b"_using"]) -> typing_extensions.Literal["using"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_with_lookup", b"_with_lookup"]) -> typing_extensions.Literal["with_lookup"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_with_vectors", b"_with_vectors"]) -> typing_extensions.Literal["with_vectors"] | None: ... + +global___QueryPointGroups = QueryPointGroups + +class FacetCounts(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COLLECTION_NAME_FIELD_NUMBER: builtins.int + KEY_FIELD_NUMBER: builtins.int + FILTER_FIELD_NUMBER: builtins.int + LIMIT_FIELD_NUMBER: builtins.int + EXACT_FIELD_NUMBER: builtins.int + TIMEOUT_FIELD_NUMBER: builtins.int + READ_CONSISTENCY_FIELD_NUMBER: builtins.int + SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int + collection_name: builtins.str + """Name of the collection""" + key: builtins.str + """Payload key of the facet""" + @property + def filter(self) -> global___Filter: + """Filter conditions - return only those points that satisfy the specified conditions.""" + limit: builtins.int + """Max number of facets. Default is 10.""" + exact: builtins.bool + """If true, return exact counts, slower but useful for debugging purposes. Default is false.""" + timeout: builtins.int + """If set, overrides global timeout setting for this request. Unit is seconds.""" + @property + def read_consistency(self) -> global___ReadConsistency: + """Options for specifying read consistency guarantees""" + @property + def shard_key_selector(self) -> global___ShardKeySelector: + """Specify in which shards to look for the points, if not specified - look in all shards""" + def __init__( + self, + *, + collection_name: builtins.str = ..., + key: builtins.str = ..., + filter: global___Filter | None = ..., + limit: builtins.int | None = ..., + exact: builtins.bool | None = ..., + timeout: builtins.int | None = ..., + read_consistency: global___ReadConsistency | None = ..., + shard_key_selector: global___ShardKeySelector | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_exact", b"_exact", "_filter", b"_filter", "_limit", b"_limit", "_read_consistency", b"_read_consistency", "_shard_key_selector", b"_shard_key_selector", "_timeout", b"_timeout", "exact", b"exact", "filter", b"filter", "limit", b"limit", "read_consistency", b"read_consistency", "shard_key_selector", b"shard_key_selector", "timeout", b"timeout"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_exact", b"_exact", "_filter", b"_filter", "_limit", b"_limit", "_read_consistency", b"_read_consistency", "_shard_key_selector", b"_shard_key_selector", "_timeout", b"_timeout", "collection_name", b"collection_name", "exact", b"exact", "filter", b"filter", "key", b"key", "limit", b"limit", "read_consistency", b"read_consistency", "shard_key_selector", b"shard_key_selector", "timeout", b"timeout"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_exact", b"_exact"]) -> typing_extensions.Literal["exact"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_filter", b"_filter"]) -> typing_extensions.Literal["filter"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_limit", b"_limit"]) -> typing_extensions.Literal["limit"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_read_consistency", b"_read_consistency"]) -> typing_extensions.Literal["read_consistency"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_timeout", b"_timeout"]) -> typing_extensions.Literal["timeout"] | None: ... + +global___FacetCounts = FacetCounts + +class FacetValue(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STRING_VALUE_FIELD_NUMBER: builtins.int + INTEGER_VALUE_FIELD_NUMBER: builtins.int + string_value: builtins.str + """String value from the facet""" + integer_value: builtins.int + """Integer value from the facet""" + def __init__( + self, + *, + string_value: builtins.str = ..., + integer_value: builtins.int = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["integer_value", b"integer_value", "string_value", b"string_value", "variant", b"variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["integer_value", b"integer_value", "string_value", b"string_value", "variant", b"variant"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["variant", b"variant"]) -> typing_extensions.Literal["string_value", "integer_value"] | None: ... + +global___FacetValue = FacetValue + +class FacetHit(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VALUE_FIELD_NUMBER: builtins.int + COUNT_FIELD_NUMBER: builtins.int + @property + def value(self) -> global___FacetValue: + """Value from the facet""" + count: builtins.int + """Number of points with this value""" + def __init__( + self, + *, + value: global___FacetValue | None = ..., + count: builtins.int = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["count", b"count", "value", b"value"]) -> None: ... + +global___FacetHit = FacetHit + +class PointsUpdateOperation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class PointStructList(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + POINTS_FIELD_NUMBER: builtins.int + SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int + @property + def points(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PointStruct]: ... + @property + def shard_key_selector(self) -> global___ShardKeySelector: + """Option for custom sharding to specify used shard keys""" + def __init__( + self, + *, + points: collections.abc.Iterable[global___PointStruct] | None = ..., + shard_key_selector: global___ShardKeySelector | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector", "shard_key_selector", b"shard_key_selector"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector", "points", b"points", "shard_key_selector", b"shard_key_selector"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... + + class SetPayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class PayloadEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.str + @property + def value(self) -> json_with_int_pb2.Value: ... + def __init__( + self, + *, + key: builtins.str = ..., + value: json_with_int_pb2.Value | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ... + + PAYLOAD_FIELD_NUMBER: builtins.int + POINTS_SELECTOR_FIELD_NUMBER: builtins.int + SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int + KEY_FIELD_NUMBER: builtins.int + @property + def payload(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, json_with_int_pb2.Value]: ... + @property + def points_selector(self) -> global___PointsSelector: + """Affected points""" + @property + def shard_key_selector(self) -> global___ShardKeySelector: + """Option for custom sharding to specify used shard keys""" + key: builtins.str + """Option for indicate property of payload""" + def __init__( + self, + *, + payload: collections.abc.Mapping[builtins.str, json_with_int_pb2.Value] | None = ..., + points_selector: global___PointsSelector | None = ..., + shard_key_selector: global___ShardKeySelector | None = ..., + key: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_key", b"_key", "_points_selector", b"_points_selector", "_shard_key_selector", b"_shard_key_selector", "key", b"key", "points_selector", b"points_selector", "shard_key_selector", b"shard_key_selector"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_key", b"_key", "_points_selector", b"_points_selector", "_shard_key_selector", b"_shard_key_selector", "key", b"key", "payload", b"payload", "points_selector", b"points_selector", "shard_key_selector", b"shard_key_selector"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_key", b"_key"]) -> typing_extensions.Literal["key"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_points_selector", b"_points_selector"]) -> typing_extensions.Literal["points_selector"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... + + class OverwritePayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class PayloadEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.str + @property + def value(self) -> json_with_int_pb2.Value: ... + def __init__( + self, + *, + key: builtins.str = ..., + value: json_with_int_pb2.Value | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ... + + PAYLOAD_FIELD_NUMBER: builtins.int + POINTS_SELECTOR_FIELD_NUMBER: builtins.int + SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int + KEY_FIELD_NUMBER: builtins.int + @property + def payload(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, json_with_int_pb2.Value]: ... + @property + def points_selector(self) -> global___PointsSelector: + """Affected points""" + @property + def shard_key_selector(self) -> global___ShardKeySelector: + """Option for custom sharding to specify used shard keys""" + key: builtins.str + """Option for indicate property of payload""" + def __init__( + self, + *, + payload: collections.abc.Mapping[builtins.str, json_with_int_pb2.Value] | None = ..., + points_selector: global___PointsSelector | None = ..., + shard_key_selector: global___ShardKeySelector | None = ..., + key: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_key", b"_key", "_points_selector", b"_points_selector", "_shard_key_selector", b"_shard_key_selector", "key", b"key", "points_selector", b"points_selector", "shard_key_selector", b"shard_key_selector"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_key", b"_key", "_points_selector", b"_points_selector", "_shard_key_selector", b"_shard_key_selector", "key", b"key", "payload", b"payload", "points_selector", b"points_selector", "shard_key_selector", b"shard_key_selector"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_key", b"_key"]) -> typing_extensions.Literal["key"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_points_selector", b"_points_selector"]) -> typing_extensions.Literal["points_selector"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... + + class DeletePayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEYS_FIELD_NUMBER: builtins.int + POINTS_SELECTOR_FIELD_NUMBER: builtins.int + SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int + @property + def keys(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def points_selector(self) -> global___PointsSelector: + """Affected points""" + @property + def shard_key_selector(self) -> global___ShardKeySelector: + """Option for custom sharding to specify used shard keys""" + def __init__( + self, + *, + keys: collections.abc.Iterable[builtins.str] | None = ..., + points_selector: global___PointsSelector | None = ..., + shard_key_selector: global___ShardKeySelector | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_points_selector", b"_points_selector", "_shard_key_selector", b"_shard_key_selector", "points_selector", b"points_selector", "shard_key_selector", b"shard_key_selector"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_points_selector", b"_points_selector", "_shard_key_selector", b"_shard_key_selector", "keys", b"keys", "points_selector", b"points_selector", "shard_key_selector", b"shard_key_selector"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_points_selector", b"_points_selector"]) -> typing_extensions.Literal["points_selector"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... + + class UpdateVectors(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + POINTS_FIELD_NUMBER: builtins.int + SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int + @property + def points(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PointVectors]: + """List of points and vectors to update""" + @property + def shard_key_selector(self) -> global___ShardKeySelector: + """Option for custom sharding to specify used shard keys""" + def __init__( + self, + *, + points: collections.abc.Iterable[global___PointVectors] | None = ..., + shard_key_selector: global___ShardKeySelector | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector", "shard_key_selector", b"shard_key_selector"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector", "points", b"points", "shard_key_selector", b"shard_key_selector"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key_selector", b"_shard_key_selector"]) -> typing_extensions.Literal["shard_key_selector"] | None: ... + + class DeleteVectors(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + POINTS_SELECTOR_FIELD_NUMBER: builtins.int + VECTORS_FIELD_NUMBER: builtins.int + SHARD_KEY_SELECTOR_FIELD_NUMBER: builtins.int + @property + def points_selector(self) -> global___PointsSelector: + """Affected points""" + @property + def vectors(self) -> global___VectorsSelector: + """List of vector names to delete""" + @property def shard_key_selector(self) -> global___ShardKeySelector: """Option for custom sharding to specify used shard keys""" def __init__( @@ -2102,7 +2854,7 @@ class PointsUpdateOperation(google.protobuf.message.Message): @property def set_payload(self) -> global___PointsUpdateOperation.SetPayload: ... @property - def overwrite_payload(self) -> global___PointsUpdateOperation.SetPayload: ... + def overwrite_payload(self) -> global___PointsUpdateOperation.OverwritePayload: ... @property def delete_payload(self) -> global___PointsUpdateOperation.DeletePayload: ... @property @@ -2121,7 +2873,7 @@ class PointsUpdateOperation(google.protobuf.message.Message): upsert: global___PointsUpdateOperation.PointStructList | None = ..., delete_deprecated: global___PointsSelector | None = ..., set_payload: global___PointsUpdateOperation.SetPayload | None = ..., - overwrite_payload: global___PointsUpdateOperation.SetPayload | None = ..., + overwrite_payload: global___PointsUpdateOperation.OverwritePayload | None = ..., delete_payload: global___PointsUpdateOperation.DeletePayload | None = ..., clear_payload_deprecated: global___PointsSelector | None = ..., update_vectors: global___PointsUpdateOperation.UpdateVectors | None = ..., @@ -2214,6 +2966,25 @@ class UpdateResult(google.protobuf.message.Message): global___UpdateResult = UpdateResult +class OrderValue(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + INT_FIELD_NUMBER: builtins.int + FLOAT_FIELD_NUMBER: builtins.int + int: builtins.int + float: builtins.float + def __init__( + self, + *, + int: builtins.int = ..., + float: builtins.float = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["float", b"float", "int", b"int", "variant", b"variant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["float", b"float", "int", b"int", "variant", b"variant"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["variant", b"variant"]) -> typing_extensions.Literal["int", "float"] | None: ... + +global___OrderValue = OrderValue + class ScoredPoint(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -2240,6 +3011,7 @@ class ScoredPoint(google.protobuf.message.Message): VERSION_FIELD_NUMBER: builtins.int VECTORS_FIELD_NUMBER: builtins.int SHARD_KEY_FIELD_NUMBER: builtins.int + ORDER_VALUE_FIELD_NUMBER: builtins.int @property def id(self) -> global___PointId: """Point id""" @@ -2256,6 +3028,9 @@ class ScoredPoint(google.protobuf.message.Message): @property def shard_key(self) -> collections_pb2.ShardKey: """Shard key""" + @property + def order_value(self) -> global___OrderValue: + """Order by value""" def __init__( self, *, @@ -2265,9 +3040,12 @@ class ScoredPoint(google.protobuf.message.Message): version: builtins.int = ..., vectors: global___Vectors | None = ..., shard_key: collections_pb2.ShardKey | None = ..., + order_value: global___OrderValue | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_shard_key", b"_shard_key", "_vectors", b"_vectors", "id", b"id", "shard_key", b"shard_key", "vectors", b"vectors"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_shard_key", b"_shard_key", "_vectors", b"_vectors", "id", b"id", "payload", b"payload", "score", b"score", "shard_key", b"shard_key", "vectors", b"vectors", "version", b"version"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_order_value", b"_order_value", "_shard_key", b"_shard_key", "_vectors", b"_vectors", "id", b"id", "order_value", b"order_value", "shard_key", b"shard_key", "vectors", b"vectors"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_order_value", b"_order_value", "_shard_key", b"_shard_key", "_vectors", b"_vectors", "id", b"id", "order_value", b"order_value", "payload", b"payload", "score", b"score", "shard_key", b"shard_key", "vectors", b"vectors", "version", b"version"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_order_value", b"_order_value"]) -> typing_extensions.Literal["order_value"] | None: ... @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key", b"_shard_key"]) -> typing_extensions.Literal["shard_key"] | None: ... @typing.overload @@ -2362,6 +3140,64 @@ class SearchResponse(google.protobuf.message.Message): global___SearchResponse = SearchResponse +class QueryResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + RESULT_FIELD_NUMBER: builtins.int + TIME_FIELD_NUMBER: builtins.int + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ScoredPoint]: ... + time: builtins.float + """Time spent to process""" + def __init__( + self, + *, + result: collections.abc.Iterable[global___ScoredPoint] | None = ..., + time: builtins.float = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["result", b"result", "time", b"time"]) -> None: ... + +global___QueryResponse = QueryResponse + +class QueryBatchResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + RESULT_FIELD_NUMBER: builtins.int + TIME_FIELD_NUMBER: builtins.int + @property + def result(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BatchResult]: ... + time: builtins.float + """Time spent to process""" + def __init__( + self, + *, + result: collections.abc.Iterable[global___BatchResult] | None = ..., + time: builtins.float = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["result", b"result", "time", b"time"]) -> None: ... + +global___QueryBatchResponse = QueryBatchResponse + +class QueryGroupsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + RESULT_FIELD_NUMBER: builtins.int + TIME_FIELD_NUMBER: builtins.int + @property + def result(self) -> global___GroupsResult: ... + time: builtins.float + """Time spent to process""" + def __init__( + self, + *, + result: global___GroupsResult | None = ..., + time: builtins.float = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["result", b"result"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["result", b"result", "time", b"time"]) -> None: ... + +global___QueryGroupsResponse = QueryGroupsResponse + class BatchResult(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -2500,6 +3336,7 @@ class RetrievedPoint(google.protobuf.message.Message): PAYLOAD_FIELD_NUMBER: builtins.int VECTORS_FIELD_NUMBER: builtins.int SHARD_KEY_FIELD_NUMBER: builtins.int + ORDER_VALUE_FIELD_NUMBER: builtins.int @property def id(self) -> global___PointId: ... @property @@ -2509,6 +3346,9 @@ class RetrievedPoint(google.protobuf.message.Message): @property def shard_key(self) -> collections_pb2.ShardKey: """Shard key""" + @property + def order_value(self) -> global___OrderValue: + """Order-by value""" def __init__( self, *, @@ -2516,9 +3356,12 @@ class RetrievedPoint(google.protobuf.message.Message): payload: collections.abc.Mapping[builtins.str, json_with_int_pb2.Value] | None = ..., vectors: global___Vectors | None = ..., shard_key: collections_pb2.ShardKey | None = ..., + order_value: global___OrderValue | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["_shard_key", b"_shard_key", "_vectors", b"_vectors", "id", b"id", "shard_key", b"shard_key", "vectors", b"vectors"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["_shard_key", b"_shard_key", "_vectors", b"_vectors", "id", b"id", "payload", b"payload", "shard_key", b"shard_key", "vectors", b"vectors"]) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["_order_value", b"_order_value", "_shard_key", b"_shard_key", "_vectors", b"_vectors", "id", b"id", "order_value", b"order_value", "shard_key", b"shard_key", "vectors", b"vectors"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["_order_value", b"_order_value", "_shard_key", b"_shard_key", "_vectors", b"_vectors", "id", b"id", "order_value", b"order_value", "payload", b"payload", "shard_key", b"shard_key", "vectors", b"vectors"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing_extensions.Literal["_order_value", b"_order_value"]) -> typing_extensions.Literal["order_value"] | None: ... @typing.overload def WhichOneof(self, oneof_group: typing_extensions.Literal["_shard_key", b"_shard_key"]) -> typing_extensions.Literal["shard_key"] | None: ... @typing.overload @@ -2660,6 +3503,25 @@ class UpdateBatchResponse(google.protobuf.message.Message): global___UpdateBatchResponse = UpdateBatchResponse +class FacetResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + HITS_FIELD_NUMBER: builtins.int + TIME_FIELD_NUMBER: builtins.int + @property + def hits(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FacetHit]: ... + time: builtins.float + """Time spent to process""" + def __init__( + self, + *, + hits: collections.abc.Iterable[global___FacetHit] | None = ..., + time: builtins.float = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["hits", b"hits", "time", b"time"]) -> None: ... + +global___FacetResponse = FacetResponse + class Filter(google.protobuf.message.Message): """--------------------------------------------- ------------- Filter Conditions ------------- diff --git a/qdrant_client/grpc/points_service_pb2.py b/qdrant_client/grpc/points_service_pb2.py index 6734de3e5..b4507293e 100644 --- a/qdrant_client/grpc/points_service_pb2.py +++ b/qdrant_client/grpc/points_service_pb2.py @@ -15,7 +15,7 @@ from . import points_pb2 as points__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14points_service.proto\x12\x06qdrant\x1a\x0cpoints.proto2\x96\x0e\n\x06Points\x12\x41\n\x06Upsert\x12\x14.qdrant.UpsertPoints\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12\x41\n\x06\x44\x65lete\x12\x14.qdrant.DeletePoints\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12/\n\x03Get\x12\x11.qdrant.GetPoints\x1a\x13.qdrant.GetResponse\"\x00\x12N\n\rUpdateVectors\x12\x1a.qdrant.UpdatePointVectors\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12N\n\rDeleteVectors\x12\x1a.qdrant.DeletePointVectors\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12I\n\nSetPayload\x12\x18.qdrant.SetPayloadPoints\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12O\n\x10OverwritePayload\x12\x18.qdrant.SetPayloadPoints\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12O\n\rDeletePayload\x12\x1b.qdrant.DeletePayloadPoints\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12M\n\x0c\x43learPayload\x12\x1a.qdrant.ClearPayloadPoints\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12Y\n\x10\x43reateFieldIndex\x12\".qdrant.CreateFieldIndexCollection\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12Y\n\x10\x44\x65leteFieldIndex\x12\".qdrant.DeleteFieldIndexCollection\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12\x38\n\x06Search\x12\x14.qdrant.SearchPoints\x1a\x16.qdrant.SearchResponse\"\x00\x12G\n\x0bSearchBatch\x12\x19.qdrant.SearchBatchPoints\x1a\x1b.qdrant.SearchBatchResponse\"\x00\x12I\n\x0cSearchGroups\x12\x19.qdrant.SearchPointGroups\x1a\x1c.qdrant.SearchGroupsResponse\"\x00\x12\x38\n\x06Scroll\x12\x14.qdrant.ScrollPoints\x1a\x16.qdrant.ScrollResponse\"\x00\x12\x41\n\tRecommend\x12\x17.qdrant.RecommendPoints\x1a\x19.qdrant.RecommendResponse\"\x00\x12P\n\x0eRecommendBatch\x12\x1c.qdrant.RecommendBatchPoints\x1a\x1e.qdrant.RecommendBatchResponse\"\x00\x12R\n\x0fRecommendGroups\x12\x1c.qdrant.RecommendPointGroups\x1a\x1f.qdrant.RecommendGroupsResponse\"\x00\x12>\n\x08\x44iscover\x12\x16.qdrant.DiscoverPoints\x1a\x18.qdrant.DiscoverResponse\"\x00\x12M\n\rDiscoverBatch\x12\x1b.qdrant.DiscoverBatchPoints\x1a\x1d.qdrant.DiscoverBatchResponse\"\x00\x12\x35\n\x05\x43ount\x12\x13.qdrant.CountPoints\x1a\x15.qdrant.CountResponse\"\x00\x12G\n\x0bUpdateBatch\x12\x19.qdrant.UpdateBatchPoints\x1a\x1b.qdrant.UpdateBatchResponse\"\x00\x12\x35\n\x05Query\x12\x13.qdrant.QueryPoints\x1a\x15.qdrant.QueryResponse\"\x00\x12\x44\n\nQueryBatch\x12\x18.qdrant.QueryBatchPoints\x1a\x1a.qdrant.QueryBatchResponse\"\x00\x12\x46\n\x0bQueryGroups\x12\x18.qdrant.QueryPointGroups\x1a\x1b.qdrant.QueryGroupsResponse\"\x00\x42\x15\xaa\x02\x12Qdrant.Client.Grpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14points_service.proto\x12\x06qdrant\x1a\x0cpoints.proto2\xcd\x0e\n\x06Points\x12\x41\n\x06Upsert\x12\x14.qdrant.UpsertPoints\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12\x41\n\x06\x44\x65lete\x12\x14.qdrant.DeletePoints\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12/\n\x03Get\x12\x11.qdrant.GetPoints\x1a\x13.qdrant.GetResponse\"\x00\x12N\n\rUpdateVectors\x12\x1a.qdrant.UpdatePointVectors\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12N\n\rDeleteVectors\x12\x1a.qdrant.DeletePointVectors\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12I\n\nSetPayload\x12\x18.qdrant.SetPayloadPoints\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12O\n\x10OverwritePayload\x12\x18.qdrant.SetPayloadPoints\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12O\n\rDeletePayload\x12\x1b.qdrant.DeletePayloadPoints\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12M\n\x0c\x43learPayload\x12\x1a.qdrant.ClearPayloadPoints\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12Y\n\x10\x43reateFieldIndex\x12\".qdrant.CreateFieldIndexCollection\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12Y\n\x10\x44\x65leteFieldIndex\x12\".qdrant.DeleteFieldIndexCollection\x1a\x1f.qdrant.PointsOperationResponse\"\x00\x12\x38\n\x06Search\x12\x14.qdrant.SearchPoints\x1a\x16.qdrant.SearchResponse\"\x00\x12G\n\x0bSearchBatch\x12\x19.qdrant.SearchBatchPoints\x1a\x1b.qdrant.SearchBatchResponse\"\x00\x12I\n\x0cSearchGroups\x12\x19.qdrant.SearchPointGroups\x1a\x1c.qdrant.SearchGroupsResponse\"\x00\x12\x38\n\x06Scroll\x12\x14.qdrant.ScrollPoints\x1a\x16.qdrant.ScrollResponse\"\x00\x12\x41\n\tRecommend\x12\x17.qdrant.RecommendPoints\x1a\x19.qdrant.RecommendResponse\"\x00\x12P\n\x0eRecommendBatch\x12\x1c.qdrant.RecommendBatchPoints\x1a\x1e.qdrant.RecommendBatchResponse\"\x00\x12R\n\x0fRecommendGroups\x12\x1c.qdrant.RecommendPointGroups\x1a\x1f.qdrant.RecommendGroupsResponse\"\x00\x12>\n\x08\x44iscover\x12\x16.qdrant.DiscoverPoints\x1a\x18.qdrant.DiscoverResponse\"\x00\x12M\n\rDiscoverBatch\x12\x1b.qdrant.DiscoverBatchPoints\x1a\x1d.qdrant.DiscoverBatchResponse\"\x00\x12\x35\n\x05\x43ount\x12\x13.qdrant.CountPoints\x1a\x15.qdrant.CountResponse\"\x00\x12G\n\x0bUpdateBatch\x12\x19.qdrant.UpdateBatchPoints\x1a\x1b.qdrant.UpdateBatchResponse\"\x00\x12\x35\n\x05Query\x12\x13.qdrant.QueryPoints\x1a\x15.qdrant.QueryResponse\"\x00\x12\x44\n\nQueryBatch\x12\x18.qdrant.QueryBatchPoints\x1a\x1a.qdrant.QueryBatchResponse\"\x00\x12\x46\n\x0bQueryGroups\x12\x18.qdrant.QueryPointGroups\x1a\x1b.qdrant.QueryGroupsResponse\"\x00\x12\x35\n\x05\x46\x61\x63\x65t\x12\x13.qdrant.FacetCounts\x1a\x15.qdrant.FacetResponse\"\x00\x42\x15\xaa\x02\x12Qdrant.Client.Grpcb\x06proto3') @@ -25,5 +25,5 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\252\002\022Qdrant.Client.Grpc' _POINTS._serialized_start=47 - _POINTS._serialized_end=1861 + _POINTS._serialized_end=1916 # @@protoc_insertion_point(module_scope) diff --git a/qdrant_client/grpc/points_service_pb2_grpc.py b/qdrant_client/grpc/points_service_pb2_grpc.py index d9e50cfc6..0cb53f83a 100644 --- a/qdrant_client/grpc/points_service_pb2_grpc.py +++ b/qdrant_client/grpc/points_service_pb2_grpc.py @@ -139,6 +139,11 @@ def __init__(self, channel): request_serializer=points__pb2.QueryPointGroups.SerializeToString, response_deserializer=points__pb2.QueryGroupsResponse.FromString, ) + self.Facet = channel.unary_unary( + '/qdrant.Points/Facet', + request_serializer=points__pb2.FacetCounts.SerializeToString, + response_deserializer=points__pb2.FacetResponse.FromString, + ) class PointsServicer(object): @@ -358,6 +363,14 @@ def QueryGroups(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def Facet(self, request, context): + """ + Perform facet counts. For each value in the field, count the number of points that have this value and match the conditions. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_PointsServicer_to_server(servicer, server): rpc_method_handlers = { @@ -486,6 +499,11 @@ def add_PointsServicer_to_server(servicer, server): request_deserializer=points__pb2.QueryPointGroups.FromString, response_serializer=points__pb2.QueryGroupsResponse.SerializeToString, ), + 'Facet': grpc.unary_unary_rpc_method_handler( + servicer.Facet, + request_deserializer=points__pb2.FacetCounts.FromString, + response_serializer=points__pb2.FacetResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'qdrant.Points', rpc_method_handlers) @@ -920,3 +938,20 @@ def QueryGroups(request, points__pb2.QueryGroupsResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Facet(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/qdrant.Points/Facet', + points__pb2.FacetCounts.SerializeToString, + points__pb2.FacetResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/qdrant_client/proto/collections.proto b/qdrant_client/proto/collections.proto index 804980672..ced2e2ded 100644 --- a/qdrant_client/proto/collections.proto +++ b/qdrant_client/proto/collections.proto @@ -387,13 +387,13 @@ enum TokenizerType { } message KeywordIndexParams { - optional bool is_tenant = 3; // If true - used for tenant optimization. - optional bool on_disk = 4; // If true - store index on disk. + optional bool is_tenant = 1; // If true - used for tenant optimization. + optional bool on_disk = 2; // If true - store index on disk. } message IntegerIndexParams { - bool lookup = 1; // If true - support direct lookups. - bool range = 2; // If true - support ranges filters. + optional bool lookup = 1; // If true - support direct lookups. + optional bool range = 2; // If true - support ranges filters. optional bool is_principal = 3; // If true - use this key to organize storage of the collection data. This option assumes that this key will be used in majority of filtered requests. optional bool on_disk = 4; // If true - store index on disk. } diff --git a/qdrant_client/proto/points.proto b/qdrant_client/proto/points.proto index 858cb99da..1c00068ff 100644 --- a/qdrant_client/proto/points.proto +++ b/qdrant_client/proto/points.proto @@ -589,13 +589,25 @@ message QueryPointGroups { optional ShardKeySelector shard_key_selector = 17; // Specify in which shards to look for the points, if not specified - look in all shards } +message FacetCounts { + string collection_name = 1; // Name of the collection + string key = 2; // Payload key of the facet + optional Filter filter = 3; // Filter conditions - return only those points that satisfy the specified conditions. + optional uint64 limit = 4; // Max number of facets. Default is 10. + optional bool exact = 5; // If true, return exact counts, slower but useful for debugging purposes. Default is false. + optional uint64 timeout = 6; // If set, overrides global timeout setting for this request. Unit is seconds. + optional ReadConsistency read_consistency = 7; // Options for specifying read consistency guarantees + optional ShardKeySelector shard_key_selector = 8; // Specify in which shards to look for the points, if not specified - look in all shards +} + message FacetValue { oneof variant { string string_value = 1; // String value from the facet + int64 integer_value = 2; // Integer value from the facet } } -message FacetValueHit { +message FacetHit { FacetValue value = 1; // Value from the facet uint64 count = 2; // Number of points with this value } @@ -814,6 +826,11 @@ message UpdateBatchResponse { double time = 2; // Time spent to process } +message FacetResponse { + repeated FacetHit hits = 1; + double time = 2; // Time spent to process +} + // --------------------------------------------- // ------------- Filter Conditions ------------- // --------------------------------------------- diff --git a/qdrant_client/proto/points_service.proto b/qdrant_client/proto/points_service.proto index 0c0c317e8..eac2cb62f 100644 --- a/qdrant_client/proto/points_service.proto +++ b/qdrant_client/proto/points_service.proto @@ -121,4 +121,8 @@ service Points { Universally query points in a group fashion. This endpoint covers all capabilities of search, recommend, discover, filters. But also enables hybrid and multi-stage queries. */ rpc QueryGroups (QueryPointGroups) returns (QueryGroupsResponse) {} + /* + Perform facet counts. For each value in the field, count the number of points that have this value and match the conditions. + */ + rpc Facet (FacetCounts) returns (FacetResponse) {} }