diff --git a/ci/docker-compose-azure.yml b/ci/docker-compose-azure.yml index c42b05d3c..bd6c5f262 100644 --- a/ci/docker-compose-azure.yml +++ b/ci/docker-compose-azure.yml @@ -10,7 +10,7 @@ services: - --scheme - http - --write-timeout=600s - image: semitechnologies/weaviate:1.21.1 + image: semitechnologies/weaviate:preview-make-proto-naming-consistent-4b98dfa ports: - 8081:8081 restart: on-failure:0 diff --git a/ci/docker-compose-cluster.yml b/ci/docker-compose-cluster.yml index abc2cbe01..72e65f3d5 100644 --- a/ci/docker-compose-cluster.yml +++ b/ci/docker-compose-cluster.yml @@ -2,7 +2,7 @@ version: '3.4' services: weaviate-node-1: - image: semitechnologies/weaviate:1.21.1 + image: semitechnologies/weaviate:preview-make-proto-naming-consistent-4b98dfa restart: on-failure:0 ports: - "8087:8080" @@ -25,7 +25,7 @@ services: - '8080' - --scheme - http - image: semitechnologies/weaviate:1.21.1 + image: semitechnologies/weaviate:preview-make-proto-naming-consistent-4b98dfa ports: - 8088:8080 - 6061:6060 diff --git a/ci/docker-compose-okta-cc.yml b/ci/docker-compose-okta-cc.yml index 15d56668e..3f9e1909f 100644 --- a/ci/docker-compose-okta-cc.yml +++ b/ci/docker-compose-okta-cc.yml @@ -10,7 +10,7 @@ services: - --scheme - http - --write-timeout=600s - image: semitechnologies/weaviate:1.21.1 + image: semitechnologies/weaviate:preview-make-proto-naming-consistent-4b98dfa ports: - 8082:8082 restart: on-failure:0 diff --git a/ci/docker-compose-okta-users.yml b/ci/docker-compose-okta-users.yml index 2e5c8a5fa..4fb312623 100644 --- a/ci/docker-compose-okta-users.yml +++ b/ci/docker-compose-okta-users.yml @@ -10,7 +10,7 @@ services: - --scheme - http - --write-timeout=600s - image: semitechnologies/weaviate:1.21.1 + image: semitechnologies/weaviate:preview-make-proto-naming-consistent-4b98dfa ports: - 8083:8083 restart: on-failure:0 diff --git a/ci/docker-compose-openai.yml b/ci/docker-compose-openai.yml index 6eb0dbf3e..cc1b0bed1 100644 --- a/ci/docker-compose-openai.yml +++ b/ci/docker-compose-openai.yml @@ -9,7 +9,7 @@ services: - '8086' - --scheme - http - image: semitechnologies/weaviate:1.21.1 + image: semitechnologies/weaviate:preview-make-proto-naming-consistent-4b98dfa ports: - 8086:8086 restart: on-failure:0 diff --git a/ci/docker-compose-wcs.yml b/ci/docker-compose-wcs.yml index efd1e57f5..2cbb84e4b 100644 --- a/ci/docker-compose-wcs.yml +++ b/ci/docker-compose-wcs.yml @@ -10,7 +10,7 @@ services: - --scheme - http - --write-timeout=600s - image: semitechnologies/weaviate:1.21.1 + image: semitechnologies/weaviate:preview-make-proto-naming-consistent-4b98dfa ports: - 8085:8085 restart: on-failure:0 diff --git a/ci/docker-compose.yml b/ci/docker-compose.yml index 504ddd0ab..3c3ff494f 100644 --- a/ci/docker-compose.yml +++ b/ci/docker-compose.yml @@ -10,7 +10,7 @@ services: - --scheme - http - --write-timeout=600s - image: semitechnologies/weaviate:1.21.1 + image: semitechnologies/weaviate:preview-make-proto-naming-consistent-4b98dfa ports: - "8080:8080" - "50051:50051" diff --git a/integration/test_cluster.py b/integration/test_cluster.py index dc8dd5cad..17a33bf20 100644 --- a/integration/test_cluster.py +++ b/integration/test_cluster.py @@ -4,7 +4,7 @@ import weaviate -GIT_HASH = "5f2df4d" +GIT_HASH = "4b98dfa" SERVER_VERSION = "1.21.1" NODE_NAME = "node1" NUM_OBJECT = 10 diff --git a/weaviate/connect/connection.py b/weaviate/connect/connection.py index b209b3fb5..a910d79d4 100644 --- a/weaviate/connect/connection.py +++ b/weaviate/connect/connection.py @@ -38,14 +38,17 @@ ) from weaviate.warnings import _Warnings + try: import grpc # type: ignore from weaviate_grpc import weaviate_pb2_grpc has_grpc = True + except ImportError: has_grpc = False + JSONPayload = Union[dict, list] Session = Union[requests.sessions.Session, OAuth2Session] TIMEOUT_TYPE_RETURN = Tuple[NUMBERS, NUMBERS] diff --git a/weaviate/gql/get.py b/weaviate/gql/get.py index b6462685f..87330d981 100644 --- a/weaviate/gql/get.py +++ b/weaviate/gql/get.py @@ -38,7 +38,7 @@ from weaviate.warnings import _Warnings try: - from weaviate_grpc import weaviate_pb2 + from weaviate_grpc import search_get_v1_pb2 import grpc # type: ignore except ImportError: pass @@ -1837,11 +1837,11 @@ def do(self) -> dict: metadata = (("authorization", access_token),) try: - res, _ = self._connection.grpc_stub.Search.with_call( # type: ignore - weaviate_pb2.SearchRequest( - class_name=self._class_name, + res, _ = self._connection.grpc_stub.SearchV1.with_call( # type: ignore + search_get_v1_pb2.SearchRequestV1( + collection=self._class_name, limit=self._limit, - near_vector=weaviate_pb2.NearVectorParams( + near_vector=search_get_v1_pb2.NearVector( vector=self._near_clause.content["vector"], certainty=self._near_clause.content.get("certainty", None), distance=self._near_clause.content.get("distance", None), @@ -1849,7 +1849,7 @@ def do(self) -> dict: if self._near_clause is not None and isinstance(self._near_clause, NearVector) else None, - near_object=weaviate_pb2.NearObjectParams( + near_object=search_get_v1_pb2.NearObject( id=self._near_clause.content["id"], certainty=self._near_clause.content.get("certainty", None), distance=self._near_clause.content.get("distance", None), @@ -1858,23 +1858,23 @@ def do(self) -> dict: and isinstance(self._near_clause, NearObject) else None, properties=self._convert_references_to_grpc(self._properties), - additional_properties=weaviate_pb2.AdditionalProperties( + metadata=search_get_v1_pb2.MetadataRequest( uuid=self._additional_dataclass.uuid, vector=self._additional_dataclass.vector, - creationTimeUnix=self._additional_dataclass.creationTimeUnix, - lastUpdateTimeUnix=self._additional_dataclass.lastUpdateTimeUnix, + creation_time_unix=self._additional_dataclass.creationTimeUnix, + last_update_time_unix=self._additional_dataclass.lastUpdateTimeUnix, distance=self._additional_dataclass.distance, - explainScore=self._additional_dataclass.explainScore, + explain_score=self._additional_dataclass.explainScore, score=self._additional_dataclass.score, ) if self._additional_dataclass is not None else None, - bm25_search=weaviate_pb2.BM25SearchParams( + bm25_search=search_get_v1_pb2.BM25( properties=self._bm25.properties, query=self._bm25.query ) if self._bm25 is not None else None, - hybrid_search=weaviate_pb2.HybridSearchParams( + hybrid_search=search_get_v1_pb2.Hybrid( properties=self._hybrid.properties, query=self._hybrid.query, alpha=self._hybrid.alpha, @@ -1889,7 +1889,7 @@ def do(self) -> dict: objects = [] for result in res.results: obj = self._convert_references_to_grpc_result(result.properties) - additional = self._extract_additional_properties(result.additional_properties) + additional = self._extract_additional_properties(result.metadata) if len(additional) > 0: obj["_additional"] = additional objects.append(obj) @@ -1905,7 +1905,7 @@ def do(self) -> dict: return super().do() def _extract_additional_properties( - self, props: "weaviate_pb2.ResultAdditionalProps" + self, props: "search_get_v1_pb2.MetadataResult" ) -> Dict[str, str]: additional_props: Dict[str, Any] = {} if self._additional_dataclass is None: @@ -1938,7 +1938,7 @@ def _extract_additional_properties( return additional_props def _convert_references_to_grpc_result( - self, properties: "weaviate_pb2.ResultProperties" + self, properties: "search_get_v1_pb2.PropertiesResult" ) -> Dict: result: Dict[str, Any] = {} for name, non_ref_prop in properties.non_ref_properties.items(): @@ -1953,14 +1953,14 @@ def _convert_references_to_grpc_result( def _convert_references_to_grpc( self, properties: List[Union[LinkTo, str]] - ) -> "weaviate_pb2.Properties": - return weaviate_pb2.Properties( + ) -> "search_get_v1_pb2.PropertiesRequest": + return search_get_v1_pb2.PropertiesRequest( non_ref_properties=[prop for prop in properties if isinstance(prop, str)], ref_properties=[ - weaviate_pb2.RefProperties( - linked_class=prop.linked_class, + search_get_v1_pb2.RefPropertiesRequest( + target_collection=prop.linked_class, reference_property=prop.link_on, - linked_properties=self._convert_references_to_grpc(prop.properties), + properties=self._convert_references_to_grpc(prop.properties), ) for prop in properties if isinstance(prop, LinkTo) diff --git a/weaviate_grpc/__init__.py b/weaviate_grpc/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/weaviate_grpc/regen.sh b/weaviate_grpc/regen.sh index c91cfab8f..33e2c1c2f 100644 --- a/weaviate_grpc/regen.sh +++ b/weaviate_grpc/regen.sh @@ -4,9 +4,14 @@ echo "this script assumes that you have checked out weaviate next to the client" cd "${0%/*}/.." -python3 -m grpc_tools.protoc -I ../weaviate/grpc --python_out=./weaviate_grpc --pyi_out=./weaviate_grpc --grpc_python_out=./weaviate_grpc ../weaviate/grpc/weaviate.proto +python3 -m grpc_tools.protoc -I ../weaviate/grpc/proto --python_out=./weaviate_grpc --pyi_out=./weaviate_grpc --grpc_python_out=./weaviate_grpc ../weaviate/grpc/proto/*.proto -sed -i '' 's/import weaviate_pb2/from . import weaviate_pb2/g' weaviate_grpc/weaviate_pb2_grpc.py +sed -i '' 's/import weaviate_pb2/from . import weaviate_pb2/g' weaviate_grpc/*.py +sed -i '' 's/import batch_pb2/from . import batch_pb2/g' weaviate_grpc/*.py +sed -i '' 's/import search_get_pb2/from . import search_get_pb2/g' weaviate_grpc/*.py +sed -i '' 's/import search_get_v1_pb2/from . import search_get_v1_pb2/g' weaviate_grpc/*.py +sed -i '' 's/import base_pb2/from . import base_pb2/g' weaviate_grpc/*.py + +echo "done" -echo "done" \ No newline at end of file diff --git a/weaviate_grpc/weaviate_pb2.py b/weaviate_grpc/weaviate_pb2.py index 071348260..70ebe6b69 100644 --- a/weaviate_grpc/weaviate_pb2.py +++ b/weaviate_grpc/weaviate_pb2.py @@ -2,52 +2,29 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: weaviate.proto """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from . import batch_pb2 as batch__pb2 +from . import search_get_pb2 as search__get__pb2 +from . import search_get_v1_pb2 as search__get__v1__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0eweaviate.proto\x12\x0cweaviategrpc\x1a\x1cgoogle/protobuf/struct.proto\"\xfb\x02\n\rSearchRequest\x12\x12\n\nclass_name\x18\x01 \x01(\t\x12\r\n\x05limit\x18\x02 \x01(\r\x12\x41\n\x15\x61\x64\x64itional_properties\x18\x03 \x01(\x0b\x32\".weaviategrpc.AdditionalProperties\x12\x33\n\x0bnear_vector\x18\x04 \x01(\x0b\x32\x1e.weaviategrpc.NearVectorParams\x12\x33\n\x0bnear_object\x18\x05 \x01(\x0b\x32\x1e.weaviategrpc.NearObjectParams\x12,\n\nproperties\x18\x06 \x01(\x0b\x32\x18.weaviategrpc.Properties\x12\x37\n\rhybrid_search\x18\x07 \x01(\x0b\x32 .weaviategrpc.HybridSearchParams\x12\x33\n\x0b\x62m25_search\x18\x08 \x01(\x0b\x32\x1e.weaviategrpc.BM25SearchParams\"\xb4\x01\n\x14\x41\x64\x64itionalProperties\x12\x0c\n\x04uuid\x18\x01 \x01(\x08\x12\x0e\n\x06vector\x18\x02 \x01(\x08\x12\x18\n\x10\x63reationTimeUnix\x18\x03 \x01(\x08\x12\x1a\n\x12lastUpdateTimeUnix\x18\x04 \x01(\x08\x12\x10\n\x08\x64istance\x18\x05 \x01(\x08\x12\x11\n\tcertainty\x18\x06 \x01(\x08\x12\r\n\x05score\x18\x07 \x01(\x08\x12\x14\n\x0c\x65xplainScore\x18\x08 \x01(\x08\"]\n\nProperties\x12\x1a\n\x12non_ref_properties\x18\x01 \x03(\t\x12\x33\n\x0eref_properties\x18\x02 \x03(\x0b\x32\x1b.weaviategrpc.RefProperties\"V\n\x12HybridSearchParams\x12\r\n\x05query\x18\x01 \x01(\t\x12\x12\n\nproperties\x18\x02 \x03(\t\x12\x0e\n\x06vector\x18\x03 \x03(\x02\x12\r\n\x05\x61lpha\x18\x04 \x01(\x02\"5\n\x10\x42M25SearchParams\x12\r\n\x05query\x18\x01 \x01(\t\x12\x12\n\nproperties\x18\x02 \x03(\t\"v\n\rRefProperties\x12\x14\n\x0clinked_class\x18\x01 \x01(\t\x12\x1a\n\x12reference_property\x18\x02 \x01(\t\x12\x33\n\x11linked_properties\x18\x03 \x01(\x0b\x32\x18.weaviategrpc.Properties\"l\n\x10NearVectorParams\x12\x0e\n\x06vector\x18\x01 \x03(\x02\x12\x16\n\tcertainty\x18\x02 \x01(\x01H\x00\x88\x01\x01\x12\x15\n\x08\x64istance\x18\x03 \x01(\x01H\x01\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distance\"h\n\x10NearObjectParams\x12\n\n\x02id\x18\x01 \x01(\t\x12\x16\n\tcertainty\x18\x02 \x01(\x01H\x00\x88\x01\x01\x12\x15\n\x08\x64istance\x18\x03 \x01(\x01H\x01\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distance\"H\n\x0bSearchReply\x12+\n\x07results\x18\x01 \x03(\x0b\x32\x1a.weaviategrpc.SearchResult\x12\x0c\n\x04took\x18\x02 \x01(\x02\"\x86\x01\n\x0cSearchResult\x12\x32\n\nproperties\x18\x01 \x01(\x0b\x32\x1e.weaviategrpc.ResultProperties\x12\x42\n\x15\x61\x64\x64itional_properties\x18\x02 \x01(\x0b\x32#.weaviategrpc.ResultAdditionalProps\"\xef\x02\n\x15ResultAdditionalProps\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06vector\x18\x02 \x03(\x02\x12\x1a\n\x12\x63reation_time_unix\x18\x03 \x01(\x04\x12\"\n\x1a\x63reation_time_unix_present\x18\x04 \x01(\x08\x12\x1d\n\x15last_update_time_unix\x18\x05 \x01(\x04\x12%\n\x1dlast_update_time_unix_present\x18\x06 \x01(\x08\x12\x10\n\x08\x64istance\x18\x07 \x01(\x02\x12\x18\n\x10\x64istance_present\x18\x08 \x01(\x08\x12\x11\n\tcertainty\x18\t \x01(\x02\x12\x19\n\x11\x63\x65rtainty_present\x18\n \x01(\x08\x12\r\n\x05score\x18\x0b \x01(\x02\x12\x15\n\rscore_present\x18\x0c \x01(\x08\x12\x15\n\rexplain_score\x18\r \x01(\t\x12\x1d\n\x15\x65xplain_score_present\x18\x0e \x01(\x08\"\x91\x01\n\x10ResultProperties\x12\x33\n\x12non_ref_properties\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x34\n\tref_props\x18\x02 \x03(\x0b\x32!.weaviategrpc.ReturnRefProperties\x12\x12\n\nclass_name\x18\x03 \x01(\t\"\\\n\x13ReturnRefProperties\x12\x32\n\nproperties\x18\x01 \x03(\x0b\x32\x1e.weaviategrpc.ResultProperties\x12\x11\n\tprop_name\x18\x02 \x01(\t2N\n\x08Weaviate\x12\x42\n\x06Search\x12\x1b.weaviategrpc.SearchRequest\x1a\x19.weaviategrpc.SearchReply\"\x00\x42#Z!github.com/weaviate/weaviate/grpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0eweaviate.proto\x12\x0cweaviategrpc\x1a\x0b\x62\x61tch.proto\x1a\x10search_get.proto\x1a\x13search_get_v1.proto2\xee\x01\n\x08Weaviate\x12\x42\n\x06Search\x12\x1b.weaviategrpc.SearchRequest\x1a\x19.weaviategrpc.SearchReply\"\x00\x12H\n\x08SearchV1\x12\x1d.weaviategrpc.SearchRequestV1\x1a\x1b.weaviategrpc.SearchReplyV1\"\x00\x12T\n\x0c\x42\x61tchObjects\x12!.weaviategrpc.BatchObjectsRequest\x1a\x1f.weaviategrpc.BatchObjectsReply\"\x00\x42`\n\x19io.weaviate.grpc.protocolB\rWeaviateProtoZ4github.com/weaviate/weaviate/grpc/generated;protocolb\x06proto3') -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'weaviate_pb2', globals()) +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'weaviate_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z!github.com/weaviate/weaviate/grpc' - _SEARCHREQUEST._serialized_start=63 - _SEARCHREQUEST._serialized_end=442 - _ADDITIONALPROPERTIES._serialized_start=445 - _ADDITIONALPROPERTIES._serialized_end=625 - _PROPERTIES._serialized_start=627 - _PROPERTIES._serialized_end=720 - _HYBRIDSEARCHPARAMS._serialized_start=722 - _HYBRIDSEARCHPARAMS._serialized_end=808 - _BM25SEARCHPARAMS._serialized_start=810 - _BM25SEARCHPARAMS._serialized_end=863 - _REFPROPERTIES._serialized_start=865 - _REFPROPERTIES._serialized_end=983 - _NEARVECTORPARAMS._serialized_start=985 - _NEARVECTORPARAMS._serialized_end=1093 - _NEAROBJECTPARAMS._serialized_start=1095 - _NEAROBJECTPARAMS._serialized_end=1199 - _SEARCHREPLY._serialized_start=1201 - _SEARCHREPLY._serialized_end=1273 - _SEARCHRESULT._serialized_start=1276 - _SEARCHRESULT._serialized_end=1410 - _RESULTADDITIONALPROPS._serialized_start=1413 - _RESULTADDITIONALPROPS._serialized_end=1780 - _RESULTPROPERTIES._serialized_start=1783 - _RESULTPROPERTIES._serialized_end=1928 - _RETURNREFPROPERTIES._serialized_start=1930 - _RETURNREFPROPERTIES._serialized_end=2022 - _WEAVIATE._serialized_start=2024 - _WEAVIATE._serialized_end=2102 + DESCRIPTOR._serialized_options = b'\n\031io.weaviate.grpc.protocolB\rWeaviateProtoZ4github.com/weaviate/weaviate/grpc/generated;protocol' + _globals['_WEAVIATE']._serialized_start=85 + _globals['_WEAVIATE']._serialized_end=323 # @@protoc_insertion_point(module_scope) diff --git a/weaviate_grpc/weaviate_pb2.pyi b/weaviate_grpc/weaviate_pb2.pyi index 85f54cabe..b4e43d708 100644 --- a/weaviate_grpc/weaviate_pb2.pyi +++ b/weaviate_grpc/weaviate_pb2.pyi @@ -1,171 +1,7 @@ -from google.protobuf import struct_pb2 as _struct_pb2 -from google.protobuf.internal import containers as _containers +import batch_pb2 as _batch_pb2 +import search_get_pb2 as _search_get_pb2 +import search_get_v1_pb2 as _search_get_v1_pb2 from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union +from typing import ClassVar as _ClassVar DESCRIPTOR: _descriptor.FileDescriptor - -class AdditionalProperties(_message.Message): - __slots__ = ["certainty", "creationTimeUnix", "distance", "explainScore", "lastUpdateTimeUnix", "score", "uuid", "vector"] - CERTAINTY_FIELD_NUMBER: _ClassVar[int] - CREATIONTIMEUNIX_FIELD_NUMBER: _ClassVar[int] - DISTANCE_FIELD_NUMBER: _ClassVar[int] - EXPLAINSCORE_FIELD_NUMBER: _ClassVar[int] - LASTUPDATETIMEUNIX_FIELD_NUMBER: _ClassVar[int] - SCORE_FIELD_NUMBER: _ClassVar[int] - UUID_FIELD_NUMBER: _ClassVar[int] - VECTOR_FIELD_NUMBER: _ClassVar[int] - certainty: bool - creationTimeUnix: bool - distance: bool - explainScore: bool - lastUpdateTimeUnix: bool - score: bool - uuid: bool - vector: bool - def __init__(self, uuid: bool = ..., vector: bool = ..., creationTimeUnix: bool = ..., lastUpdateTimeUnix: bool = ..., distance: bool = ..., certainty: bool = ..., score: bool = ..., explainScore: bool = ...) -> None: ... - -class BM25SearchParams(_message.Message): - __slots__ = ["properties", "query"] - PROPERTIES_FIELD_NUMBER: _ClassVar[int] - QUERY_FIELD_NUMBER: _ClassVar[int] - properties: _containers.RepeatedScalarFieldContainer[str] - query: str - def __init__(self, query: _Optional[str] = ..., properties: _Optional[_Iterable[str]] = ...) -> None: ... - -class HybridSearchParams(_message.Message): - __slots__ = ["alpha", "properties", "query", "vector"] - ALPHA_FIELD_NUMBER: _ClassVar[int] - PROPERTIES_FIELD_NUMBER: _ClassVar[int] - QUERY_FIELD_NUMBER: _ClassVar[int] - VECTOR_FIELD_NUMBER: _ClassVar[int] - alpha: float - properties: _containers.RepeatedScalarFieldContainer[str] - query: str - vector: _containers.RepeatedScalarFieldContainer[float] - def __init__(self, query: _Optional[str] = ..., properties: _Optional[_Iterable[str]] = ..., vector: _Optional[_Iterable[float]] = ..., alpha: _Optional[float] = ...) -> None: ... - -class NearObjectParams(_message.Message): - __slots__ = ["certainty", "distance", "id"] - CERTAINTY_FIELD_NUMBER: _ClassVar[int] - DISTANCE_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - certainty: float - distance: float - id: str - def __init__(self, id: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ...) -> None: ... - -class NearVectorParams(_message.Message): - __slots__ = ["certainty", "distance", "vector"] - CERTAINTY_FIELD_NUMBER: _ClassVar[int] - DISTANCE_FIELD_NUMBER: _ClassVar[int] - VECTOR_FIELD_NUMBER: _ClassVar[int] - certainty: float - distance: float - vector: _containers.RepeatedScalarFieldContainer[float] - def __init__(self, vector: _Optional[_Iterable[float]] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ...) -> None: ... - -class Properties(_message.Message): - __slots__ = ["non_ref_properties", "ref_properties"] - NON_REF_PROPERTIES_FIELD_NUMBER: _ClassVar[int] - REF_PROPERTIES_FIELD_NUMBER: _ClassVar[int] - non_ref_properties: _containers.RepeatedScalarFieldContainer[str] - ref_properties: _containers.RepeatedCompositeFieldContainer[RefProperties] - def __init__(self, non_ref_properties: _Optional[_Iterable[str]] = ..., ref_properties: _Optional[_Iterable[_Union[RefProperties, _Mapping]]] = ...) -> None: ... - -class RefProperties(_message.Message): - __slots__ = ["linked_class", "linked_properties", "reference_property"] - LINKED_CLASS_FIELD_NUMBER: _ClassVar[int] - LINKED_PROPERTIES_FIELD_NUMBER: _ClassVar[int] - REFERENCE_PROPERTY_FIELD_NUMBER: _ClassVar[int] - linked_class: str - linked_properties: Properties - reference_property: str - def __init__(self, linked_class: _Optional[str] = ..., reference_property: _Optional[str] = ..., linked_properties: _Optional[_Union[Properties, _Mapping]] = ...) -> None: ... - -class ResultAdditionalProps(_message.Message): - __slots__ = ["certainty", "certainty_present", "creation_time_unix", "creation_time_unix_present", "distance", "distance_present", "explain_score", "explain_score_present", "id", "last_update_time_unix", "last_update_time_unix_present", "score", "score_present", "vector"] - CERTAINTY_FIELD_NUMBER: _ClassVar[int] - CERTAINTY_PRESENT_FIELD_NUMBER: _ClassVar[int] - CREATION_TIME_UNIX_FIELD_NUMBER: _ClassVar[int] - CREATION_TIME_UNIX_PRESENT_FIELD_NUMBER: _ClassVar[int] - DISTANCE_FIELD_NUMBER: _ClassVar[int] - DISTANCE_PRESENT_FIELD_NUMBER: _ClassVar[int] - EXPLAIN_SCORE_FIELD_NUMBER: _ClassVar[int] - EXPLAIN_SCORE_PRESENT_FIELD_NUMBER: _ClassVar[int] - ID_FIELD_NUMBER: _ClassVar[int] - LAST_UPDATE_TIME_UNIX_FIELD_NUMBER: _ClassVar[int] - LAST_UPDATE_TIME_UNIX_PRESENT_FIELD_NUMBER: _ClassVar[int] - SCORE_FIELD_NUMBER: _ClassVar[int] - SCORE_PRESENT_FIELD_NUMBER: _ClassVar[int] - VECTOR_FIELD_NUMBER: _ClassVar[int] - certainty: float - certainty_present: bool - creation_time_unix: int - creation_time_unix_present: bool - distance: float - distance_present: bool - explain_score: str - explain_score_present: bool - id: str - last_update_time_unix: int - last_update_time_unix_present: bool - score: float - score_present: bool - vector: _containers.RepeatedScalarFieldContainer[float] - def __init__(self, id: _Optional[str] = ..., vector: _Optional[_Iterable[float]] = ..., creation_time_unix: _Optional[int] = ..., creation_time_unix_present: bool = ..., last_update_time_unix: _Optional[int] = ..., last_update_time_unix_present: bool = ..., distance: _Optional[float] = ..., distance_present: bool = ..., certainty: _Optional[float] = ..., certainty_present: bool = ..., score: _Optional[float] = ..., score_present: bool = ..., explain_score: _Optional[str] = ..., explain_score_present: bool = ...) -> None: ... - -class ResultProperties(_message.Message): - __slots__ = ["class_name", "non_ref_properties", "ref_props"] - CLASS_NAME_FIELD_NUMBER: _ClassVar[int] - NON_REF_PROPERTIES_FIELD_NUMBER: _ClassVar[int] - REF_PROPS_FIELD_NUMBER: _ClassVar[int] - class_name: str - non_ref_properties: _struct_pb2.Struct - ref_props: _containers.RepeatedCompositeFieldContainer[ReturnRefProperties] - def __init__(self, non_ref_properties: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., ref_props: _Optional[_Iterable[_Union[ReturnRefProperties, _Mapping]]] = ..., class_name: _Optional[str] = ...) -> None: ... - -class ReturnRefProperties(_message.Message): - __slots__ = ["prop_name", "properties"] - PROPERTIES_FIELD_NUMBER: _ClassVar[int] - PROP_NAME_FIELD_NUMBER: _ClassVar[int] - prop_name: str - properties: _containers.RepeatedCompositeFieldContainer[ResultProperties] - def __init__(self, properties: _Optional[_Iterable[_Union[ResultProperties, _Mapping]]] = ..., prop_name: _Optional[str] = ...) -> None: ... - -class SearchReply(_message.Message): - __slots__ = ["results", "took"] - RESULTS_FIELD_NUMBER: _ClassVar[int] - TOOK_FIELD_NUMBER: _ClassVar[int] - results: _containers.RepeatedCompositeFieldContainer[SearchResult] - took: float - def __init__(self, results: _Optional[_Iterable[_Union[SearchResult, _Mapping]]] = ..., took: _Optional[float] = ...) -> None: ... - -class SearchRequest(_message.Message): - __slots__ = ["additional_properties", "bm25_search", "class_name", "hybrid_search", "limit", "near_object", "near_vector", "properties"] - ADDITIONAL_PROPERTIES_FIELD_NUMBER: _ClassVar[int] - BM25_SEARCH_FIELD_NUMBER: _ClassVar[int] - CLASS_NAME_FIELD_NUMBER: _ClassVar[int] - HYBRID_SEARCH_FIELD_NUMBER: _ClassVar[int] - LIMIT_FIELD_NUMBER: _ClassVar[int] - NEAR_OBJECT_FIELD_NUMBER: _ClassVar[int] - NEAR_VECTOR_FIELD_NUMBER: _ClassVar[int] - PROPERTIES_FIELD_NUMBER: _ClassVar[int] - additional_properties: AdditionalProperties - bm25_search: BM25SearchParams - class_name: str - hybrid_search: HybridSearchParams - limit: int - near_object: NearObjectParams - near_vector: NearVectorParams - properties: Properties - def __init__(self, class_name: _Optional[str] = ..., limit: _Optional[int] = ..., additional_properties: _Optional[_Union[AdditionalProperties, _Mapping]] = ..., near_vector: _Optional[_Union[NearVectorParams, _Mapping]] = ..., near_object: _Optional[_Union[NearObjectParams, _Mapping]] = ..., properties: _Optional[_Union[Properties, _Mapping]] = ..., hybrid_search: _Optional[_Union[HybridSearchParams, _Mapping]] = ..., bm25_search: _Optional[_Union[BM25SearchParams, _Mapping]] = ...) -> None: ... - -class SearchResult(_message.Message): - __slots__ = ["additional_properties", "properties"] - ADDITIONAL_PROPERTIES_FIELD_NUMBER: _ClassVar[int] - PROPERTIES_FIELD_NUMBER: _ClassVar[int] - additional_properties: ResultAdditionalProps - properties: ResultProperties - def __init__(self, properties: _Optional[_Union[ResultProperties, _Mapping]] = ..., additional_properties: _Optional[_Union[ResultAdditionalProps, _Mapping]] = ...) -> None: ... diff --git a/weaviate_grpc/weaviate_pb2_grpc.py b/weaviate_grpc/weaviate_pb2_grpc.py index 580b71a8e..cebd02e22 100644 --- a/weaviate_grpc/weaviate_pb2_grpc.py +++ b/weaviate_grpc/weaviate_pb2_grpc.py @@ -2,7 +2,9 @@ """Client and server classes corresponding to protobuf-defined services.""" import grpc -from . import weaviate_pb2 as weaviate__pb2 +from . import batch_pb2 as batch__pb2 +from . import search_get_pb2 as search__get__pb2 +from . import search_get_v1_pb2 as search__get__v1__pb2 class WeaviateStub(object): @@ -16,8 +18,18 @@ def __init__(self, channel): """ self.Search = channel.unary_unary( '/weaviategrpc.Weaviate/Search', - request_serializer=weaviate__pb2.SearchRequest.SerializeToString, - response_deserializer=weaviate__pb2.SearchReply.FromString, + request_serializer=search__get__pb2.SearchRequest.SerializeToString, + response_deserializer=search__get__pb2.SearchReply.FromString, + ) + self.SearchV1 = channel.unary_unary( + '/weaviategrpc.Weaviate/SearchV1', + request_serializer=search__get__v1__pb2.SearchRequestV1.SerializeToString, + response_deserializer=search__get__v1__pb2.SearchReplyV1.FromString, + ) + self.BatchObjects = channel.unary_unary( + '/weaviategrpc.Weaviate/BatchObjects', + request_serializer=batch__pb2.BatchObjectsRequest.SerializeToString, + response_deserializer=batch__pb2.BatchObjectsReply.FromString, ) @@ -30,13 +42,35 @@ def Search(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def SearchV1(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BatchObjects(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_WeaviateServicer_to_server(servicer, server): rpc_method_handlers = { 'Search': grpc.unary_unary_rpc_method_handler( servicer.Search, - request_deserializer=weaviate__pb2.SearchRequest.FromString, - response_serializer=weaviate__pb2.SearchReply.SerializeToString, + request_deserializer=search__get__pb2.SearchRequest.FromString, + response_serializer=search__get__pb2.SearchReply.SerializeToString, + ), + 'SearchV1': grpc.unary_unary_rpc_method_handler( + servicer.SearchV1, + request_deserializer=search__get__v1__pb2.SearchRequestV1.FromString, + response_serializer=search__get__v1__pb2.SearchReplyV1.SerializeToString, + ), + 'BatchObjects': grpc.unary_unary_rpc_method_handler( + servicer.BatchObjects, + request_deserializer=batch__pb2.BatchObjectsRequest.FromString, + response_serializer=batch__pb2.BatchObjectsReply.SerializeToString, ), } generic_handler = grpc.method_handlers_generic_handler( @@ -60,7 +94,41 @@ def Search(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/weaviategrpc.Weaviate/Search', - weaviate__pb2.SearchRequest.SerializeToString, - weaviate__pb2.SearchReply.FromString, + search__get__pb2.SearchRequest.SerializeToString, + search__get__pb2.SearchReply.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SearchV1(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, '/weaviategrpc.Weaviate/SearchV1', + search__get__v1__pb2.SearchRequestV1.SerializeToString, + search__get__v1__pb2.SearchReplyV1.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BatchObjects(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, '/weaviategrpc.Weaviate/BatchObjects', + batch__pb2.BatchObjectsRequest.SerializeToString, + batch__pb2.BatchObjectsReply.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata)