From 007c38a600a6df2950654b2ba05195eb95893639 Mon Sep 17 00:00:00 2001 From: Roberto Esposito Date: Tue, 17 Mar 2026 16:15:45 +0100 Subject: [PATCH] add selection params --- weaviate/classes/query.py | 2 + weaviate/collections/classes/grpc.py | 17 ++++ weaviate/collections/grpc/query.py | 13 ++- weaviate/collections/grpc/shared.py | 28 +++++++ .../queries/near_image/query/executor.py | 16 ++++ .../queries/near_media/query/executor.py | 16 ++++ .../queries/near_object/query/executor.py | 16 ++++ .../queries/near_text/query/executor.py | 16 ++++ .../queries/near_vector/query/executor.py | 16 ++++ weaviate/proto/v1/v4216/v1/base_search_pb2.py | 76 +++++++++-------- .../proto/v1/v4216/v1/base_search_pb2.pyi | 75 ++++++++++++----- weaviate/proto/v1/v5261/v1/base_search_pb2.py | 76 +++++++++-------- .../proto/v1/v5261/v1/base_search_pb2.pyi | 75 ++++++++++++----- weaviate/proto/v1/v6300/v1/base_search_pb2.py | 82 ++++++++++--------- .../proto/v1/v6300/v1/base_search_pb2.pyi | 75 ++++++++++++----- 15 files changed, 429 insertions(+), 170 deletions(-) diff --git a/weaviate/classes/query.py b/weaviate/classes/query.py index 608162566..54e57532a 100644 --- a/weaviate/classes/query.py +++ b/weaviate/classes/query.py @@ -5,6 +5,7 @@ BM25OperatorFactory as BM25Operator, ) from weaviate.collections.classes.grpc import ( + Diversity, GroupBy, HybridFusion, HybridVector, @@ -21,6 +22,7 @@ from weaviate.collections.classes.types import GeoCoordinate __all__ = [ + "Diversity", "Filter", "GeoCoordinate", "GenerativeConfig", diff --git a/weaviate/collections/classes/grpc.py b/weaviate/collections/classes/grpc.py index bff0e35ca..34370bb33 100644 --- a/weaviate/collections/classes/grpc.py +++ b/weaviate/collections/classes/grpc.py @@ -242,6 +242,23 @@ class Rerank(_WeaviateInput): query: Optional[str] = Field(default=None) +@dataclass +class _DiversityMMR: + """Define MMR (Maximal Marginal Relevance) diversity selection.""" + + limit: Optional[int] = None + balance: Optional[float] = None + + +class Diversity: + """Use this factory class to apply diversity selection to search results via MMR.""" + + def __init__(self) -> None: + raise TypeError("Diversity cannot be instantiated directly. Use Diversity.MMR(...).") + + MMR = _DiversityMMR + + @dataclass class BM25OperatorOptions: # replace with ClassVar[base_search_pb2.SearchOperatorOptions.Operator] once python 3.10 is removed diff --git a/weaviate/collections/grpc/query.py b/weaviate/collections/grpc/query.py index 3867de7d1..c6cf55d90 100644 --- a/weaviate/collections/grpc/query.py +++ b/weaviate/collections/grpc/query.py @@ -31,6 +31,7 @@ QueryNested, Rerank, TargetVectorJoinType, + _DiversityMMR, _MetadataQuery, _QueryReference, _QueryReferenceMultiTarget, @@ -262,6 +263,7 @@ def near_vector( return_metadata: Optional[_MetadataQuery] = None, return_properties: Union[PROPERTIES, bool, None] = None, return_references: Optional[REFERENCES] = None, + selection: Optional[_DiversityMMR] = None, ) -> search_get_pb2.SearchRequest: return self.__create_request( limit=limit, @@ -275,7 +277,7 @@ def near_vector( autocut=autocut, group_by=group_by, near_vector=self._parse_near_vector( - near_vector, certainty, distance, target_vector=target_vector + near_vector, certainty, distance, target_vector=target_vector, selection=selection ), ) @@ -296,6 +298,7 @@ def near_object( return_metadata: Optional[_MetadataQuery] = None, return_properties: Union[PROPERTIES, bool, None] = None, return_references: Optional[REFERENCES] = None, + selection: Optional[_DiversityMMR] = None, ) -> search_get_pb2.SearchRequest: return self.__create_request( limit=limit, @@ -308,7 +311,9 @@ def near_object( rerank=rerank, autocut=autocut, group_by=group_by, - near_object=self._parse_near_object(near_object, certainty, distance, target_vector), + near_object=self._parse_near_object( + near_object, certainty, distance, target_vector, selection=selection + ), ) def near_text( @@ -330,6 +335,7 @@ def near_text( return_metadata: Optional[_MetadataQuery] = None, return_properties: Union[PROPERTIES, bool, None] = None, return_references: Optional[REFERENCES] = None, + selection: Optional[_DiversityMMR] = None, ) -> search_get_pb2.SearchRequest: return self.__create_request( limit=limit, @@ -349,6 +355,7 @@ def near_text( move_away=move_away, move_to=move_to, target_vector=target_vector, + selection=selection, ), ) @@ -370,6 +377,7 @@ def near_media( return_metadata: Optional[_MetadataQuery] = None, return_properties: Union[PROPERTIES, bool, None] = None, return_references: Optional[REFERENCES] = None, + selection: Optional[_DiversityMMR] = None, ) -> search_get_pb2.SearchRequest: return self.__create_request( limit=limit, @@ -388,6 +396,7 @@ def near_media( certainty, distance, target_vector, + selection=selection, ), ) diff --git a/weaviate/collections/grpc/shared.py b/weaviate/collections/grpc/shared.py index 593811fb3..b99eb247d 100644 --- a/weaviate/collections/grpc/shared.py +++ b/weaviate/collections/grpc/shared.py @@ -27,6 +27,7 @@ PrimitiveVectorType, TargetVectorJoinType, TwoDimensionalVectorType, + _DiversityMMR, _HybridNearText, _HybridNearVector, _ListOfVectorsQuery, @@ -310,12 +311,26 @@ def _parse_near_options( float(distance) if distance is not None else None, ) + @staticmethod + def _selection_to_grpc( + selection: Optional[_DiversityMMR], + ) -> Optional[base_search_pb2.Selection]: + if selection is None: + return None + return base_search_pb2.Selection( + mmr=base_search_pb2.Selection.MMR( + limit=selection.limit, + balance=selection.balance, + ) + ) + def _parse_near_vector( self, near_vector: NearVectorInputType, certainty: Optional[NUMBER], distance: Optional[NUMBER], target_vector: Optional[TargetVectorJoinType], + selection: Optional[_DiversityMMR] = None, ) -> base_search_pb2.NearVector: if self._validate_arguments: _validate_input( @@ -399,6 +414,7 @@ def _parse_near_vector( vector_per_target=vector_per_target_tmp, vector_for_targets=vector_for_targets, vectors=vectors, + selection=self._selection_to_grpc(selection), ) @staticmethod @@ -423,6 +439,7 @@ def _parse_near_text( move_to: Optional[Move], move_away: Optional[Move], target_vector: Optional[TargetVectorJoinType], + selection: Optional[_DiversityMMR] = None, ) -> base_search_pb2.NearTextSearch: if self._validate_arguments: _validate_input( @@ -451,6 +468,7 @@ def _parse_near_text( move_to=self.__parse_move(move_to), targets=targets, target_vectors=target_vector, + selection=self._selection_to_grpc(selection), ) def _parse_near_object( @@ -459,6 +477,7 @@ def _parse_near_object( certainty: Optional[NUMBER], distance: Optional[NUMBER], target_vector: Optional[TargetVectorJoinType], + selection: Optional[_DiversityMMR] = None, ) -> base_search_pb2.NearObject: if self._validate_arguments: _validate_input( @@ -482,6 +501,7 @@ def _parse_near_object( distance=distance, targets=targets, target_vectors=target_vector, + selection=self._selection_to_grpc(selection), ) def _parse_media( @@ -491,6 +511,7 @@ def _parse_media( certainty: Optional[NUMBER], distance: Optional[NUMBER], target_vector: Optional[TargetVectorJoinType], + selection: Optional[_DiversityMMR] = None, ) -> dict: if self._validate_arguments: _validate_input( @@ -508,6 +529,7 @@ def _parse_media( kwargs: Dict[str, Any] = {} targets, target_vector = self.__target_vector_to_grpc(target_vector) + selection_grpc = self._selection_to_grpc(selection) if type_ == "audio": kwargs["near_audio"] = base_search_pb2.NearAudioSearch( audio=media, @@ -515,6 +537,7 @@ def _parse_media( certainty=certainty, target_vectors=target_vector, targets=targets, + selection=selection_grpc, ) elif type_ == "depth": kwargs["near_depth"] = base_search_pb2.NearDepthSearch( @@ -523,6 +546,7 @@ def _parse_media( certainty=certainty, target_vectors=target_vector, targets=targets, + selection=selection_grpc, ) elif type_ == "image": kwargs["near_image"] = base_search_pb2.NearImageSearch( @@ -531,6 +555,7 @@ def _parse_media( certainty=certainty, target_vectors=target_vector, targets=targets, + selection=selection_grpc, ) elif type_ == "imu": kwargs["near_imu"] = base_search_pb2.NearIMUSearch( @@ -539,6 +564,7 @@ def _parse_media( certainty=certainty, target_vectors=target_vector, targets=targets, + selection=selection_grpc, ) elif type_ == "thermal": kwargs["near_thermal"] = base_search_pb2.NearThermalSearch( @@ -547,6 +573,7 @@ def _parse_media( certainty=certainty, target_vectors=target_vector, targets=targets, + selection=selection_grpc, ) elif type_ == "video": kwargs["near_video"] = base_search_pb2.NearVideoSearch( @@ -555,6 +582,7 @@ def _parse_media( certainty=certainty, target_vectors=target_vector, targets=targets, + selection=selection_grpc, ) else: raise ValueError( diff --git a/weaviate/collections/queries/near_image/query/executor.py b/weaviate/collections/queries/near_image/query/executor.py index 4d09739c7..e5da155da 100644 --- a/weaviate/collections/queries/near_image/query/executor.py +++ b/weaviate/collections/queries/near_image/query/executor.py @@ -11,6 +11,7 @@ NearMediaType, Rerank, TargetVectorJoinType, + _DiversityMMR, ) from weaviate.collections.classes.internal import ( CrossReferences, @@ -52,6 +53,7 @@ def near_image( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -72,6 +74,7 @@ def near_image( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -92,6 +95,7 @@ def near_image( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -112,6 +116,7 @@ def near_image( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -132,6 +137,7 @@ def near_image( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -152,6 +158,7 @@ def near_image( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -174,6 +181,7 @@ def near_image( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -194,6 +202,7 @@ def near_image( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -214,6 +223,7 @@ def near_image( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -234,6 +244,7 @@ def near_image( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -254,6 +265,7 @@ def near_image( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -274,6 +286,7 @@ def near_image( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -295,6 +308,7 @@ def near_image( filters: Optional[_Filters] = None, group_by: Optional[GroupBy] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -316,6 +330,7 @@ def near_image( filters: Optional[_Filters] = None, group_by: Optional[GroupBy] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -385,6 +400,7 @@ def resp( filters=filters, group_by=_GroupBy.from_input(group_by), rerank=rerank, + selection=selection, target_vector=target_vector, limit=limit, offset=offset, diff --git a/weaviate/collections/queries/near_media/query/executor.py b/weaviate/collections/queries/near_media/query/executor.py index 1cccdf487..ae55a540c 100644 --- a/weaviate/collections/queries/near_media/query/executor.py +++ b/weaviate/collections/queries/near_media/query/executor.py @@ -11,6 +11,7 @@ NearMediaType, Rerank, TargetVectorJoinType, + _DiversityMMR, ) from weaviate.collections.classes.internal import ( CrossReferences, @@ -53,6 +54,7 @@ def near_media( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -74,6 +76,7 @@ def near_media( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -95,6 +98,7 @@ def near_media( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -116,6 +120,7 @@ def near_media( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -137,6 +142,7 @@ def near_media( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -158,6 +164,7 @@ def near_media( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -181,6 +188,7 @@ def near_media( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -202,6 +210,7 @@ def near_media( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -223,6 +232,7 @@ def near_media( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -244,6 +254,7 @@ def near_media( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -265,6 +276,7 @@ def near_media( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -286,6 +298,7 @@ def near_media( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -308,6 +321,7 @@ def near_media( filters: Optional[_Filters] = None, group_by: Optional[GroupBy] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -330,6 +344,7 @@ def near_media( filters: Optional[_Filters] = None, group_by: Optional[GroupBy] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -400,6 +415,7 @@ def resp( filters=filters, group_by=_GroupBy.from_input(group_by), rerank=rerank, + selection=selection, target_vector=target_vector, limit=limit, offset=offset, diff --git a/weaviate/collections/queries/near_object/query/executor.py b/weaviate/collections/queries/near_object/query/executor.py index 0ffee6f31..e1a6226e0 100644 --- a/weaviate/collections/queries/near_object/query/executor.py +++ b/weaviate/collections/queries/near_object/query/executor.py @@ -10,6 +10,7 @@ GroupBy, Rerank, TargetVectorJoinType, + _DiversityMMR, ) from weaviate.collections.classes.internal import ( CrossReferences, @@ -51,6 +52,7 @@ def near_object( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -71,6 +73,7 @@ def near_object( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -91,6 +94,7 @@ def near_object( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -111,6 +115,7 @@ def near_object( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -131,6 +136,7 @@ def near_object( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -151,6 +157,7 @@ def near_object( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -173,6 +180,7 @@ def near_object( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -193,6 +201,7 @@ def near_object( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -213,6 +222,7 @@ def near_object( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -233,6 +243,7 @@ def near_object( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -253,6 +264,7 @@ def near_object( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -273,6 +285,7 @@ def near_object( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -295,6 +308,7 @@ def near_object( filters: Optional[_Filters] = None, group_by: Optional[GroupBy] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -316,6 +330,7 @@ def near_object( filters: Optional[_Filters] = None, group_by: Optional[GroupBy] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -386,6 +401,7 @@ def resp( filters=filters, group_by=_GroupBy.from_input(group_by), rerank=rerank, + selection=selection, target_vector=target_vector, return_metadata=self._parse_return_metadata(return_metadata, include_vector), return_properties=self._parse_return_properties(return_properties), diff --git a/weaviate/collections/queries/near_text/query/executor.py b/weaviate/collections/queries/near_text/query/executor.py index 33d79010e..7b3b5d328 100644 --- a/weaviate/collections/queries/near_text/query/executor.py +++ b/weaviate/collections/queries/near_text/query/executor.py @@ -11,6 +11,7 @@ Move, Rerank, TargetVectorJoinType, + _DiversityMMR, ) from weaviate.collections.classes.internal import ( CrossReferences, @@ -53,6 +54,7 @@ def near_text( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -75,6 +77,7 @@ def near_text( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -97,6 +100,7 @@ def near_text( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -119,6 +123,7 @@ def near_text( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -141,6 +146,7 @@ def near_text( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -163,6 +169,7 @@ def near_text( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -187,6 +194,7 @@ def near_text( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -209,6 +217,7 @@ def near_text( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -231,6 +240,7 @@ def near_text( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -253,6 +263,7 @@ def near_text( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -275,6 +286,7 @@ def near_text( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -297,6 +309,7 @@ def near_text( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -320,6 +333,7 @@ def near_text( filters: Optional[_Filters] = None, group_by: Optional[GroupBy] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -343,6 +357,7 @@ def near_text( filters: Optional[_Filters] = None, group_by: Optional[GroupBy] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -416,6 +431,7 @@ def resp( filters=filters, group_by=_GroupBy.from_input(group_by), rerank=rerank, + selection=selection, target_vector=target_vector, return_metadata=self._parse_return_metadata(return_metadata, include_vector), return_properties=self._parse_return_properties(return_properties), diff --git a/weaviate/collections/queries/near_vector/query/executor.py b/weaviate/collections/queries/near_vector/query/executor.py index 04c0ee12b..704ee1398 100644 --- a/weaviate/collections/queries/near_vector/query/executor.py +++ b/weaviate/collections/queries/near_vector/query/executor.py @@ -11,6 +11,7 @@ NearVectorInputType, Rerank, TargetVectorJoinType, + _DiversityMMR, ) from weaviate.collections.classes.internal import ( CrossReferences, @@ -51,6 +52,7 @@ def near_vector( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -71,6 +73,7 @@ def near_vector( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -91,6 +94,7 @@ def near_vector( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -111,6 +115,7 @@ def near_vector( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -131,6 +136,7 @@ def near_vector( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -151,6 +157,7 @@ def near_vector( filters: Optional[_Filters] = None, group_by: Literal[None] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -173,6 +180,7 @@ def near_vector( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -193,6 +201,7 @@ def near_vector( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -213,6 +222,7 @@ def near_vector( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -233,6 +243,7 @@ def near_vector( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -253,6 +264,7 @@ def near_vector( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -273,6 +285,7 @@ def near_vector( filters: Optional[_Filters] = None, group_by: GroupBy, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -294,6 +307,7 @@ def near_vector( filters: Optional[_Filters] = None, group_by: Optional[GroupBy] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -315,6 +329,7 @@ def near_vector( filters: Optional[_Filters] = None, group_by: Optional[GroupBy] = None, rerank: Optional[Rerank] = None, + selection: Optional[_DiversityMMR] = None, target_vector: Optional[TargetVectorJoinType] = None, include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, @@ -383,6 +398,7 @@ def resp( offset=offset, autocut=auto_limit, rerank=rerank, + selection=selection, target_vector=target_vector, return_metadata=self._parse_return_metadata(return_metadata, include_vector), return_properties=self._parse_return_properties(return_properties), diff --git a/weaviate/proto/v1/v4216/v1/base_search_pb2.py b/weaviate/proto/v1/v4216/v1/base_search_pb2.py index 5767fdb57..13bd8af7d 100644 --- a/weaviate/proto/v1/v4216/v1/base_search_pb2.py +++ b/weaviate/proto/v1/v4216/v1/base_search_pb2.py @@ -14,7 +14,7 @@ from weaviate.proto.v1.v4216.v1 import base_pb2 as v1_dot_base__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14v1/base_search.proto\x12\x0bweaviate.v1\x1a\rv1/base.proto\"2\n\x10WeightsForTarget\x12\x0e\n\x06target\x18\x01 \x01(\t\x12\x0e\n\x06weight\x18\x02 \x01(\x02\"\x98\x01\n\x07Targets\x12\x16\n\x0etarget_vectors\x18\x01 \x03(\t\x12\x33\n\x0b\x63ombination\x18\x02 \x01(\x0e\x32\x1e.weaviate.v1.CombinationMethod\x12:\n\x13weights_for_targets\x18\x04 \x03(\x0b\x32\x1d.weaviate.v1.WeightsForTargetJ\x04\x08\x03\x10\x04\"`\n\x0fVectorForTarget\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0cvector_bytes\x18\x02 \x01(\x0c\x42\x02\x18\x01\x12%\n\x07vectors\x18\x03 \x03(\x0b\x32\x14.weaviate.v1.Vectors\"\xe1\x01\n\x15SearchOperatorOptions\x12=\n\x08operator\x18\x01 \x01(\x0e\x32+.weaviate.v1.SearchOperatorOptions.Operator\x12$\n\x17minimum_or_tokens_match\x18\x02 \x01(\x05H\x00\x88\x01\x01\"G\n\x08Operator\x12\x18\n\x14OPERATOR_UNSPECIFIED\x10\x00\x12\x0f\n\x0bOPERATOR_OR\x10\x01\x12\x10\n\x0cOPERATOR_AND\x10\x02\x42\x1a\n\x18_minimum_or_tokens_match\"\xd0\x04\n\x06Hybrid\x12\r\n\x05query\x18\x01 \x01(\t\x12\x12\n\nproperties\x18\x02 \x03(\t\x12\x12\n\x06vector\x18\x03 \x03(\x02\x42\x02\x18\x01\x12\r\n\x05\x61lpha\x18\x04 \x01(\x02\x12\x33\n\x0b\x66usion_type\x18\x05 \x01(\x0e\x32\x1e.weaviate.v1.Hybrid.FusionType\x12\x18\n\x0cvector_bytes\x18\x06 \x01(\x0c\x42\x02\x18\x01\x12\x1a\n\x0etarget_vectors\x18\x07 \x03(\tB\x02\x18\x01\x12.\n\tnear_text\x18\x08 \x01(\x0b\x32\x1b.weaviate.v1.NearTextSearch\x12,\n\x0bnear_vector\x18\t \x01(\x0b\x32\x17.weaviate.v1.NearVector\x12%\n\x07targets\x18\n \x01(\x0b\x32\x14.weaviate.v1.Targets\x12\x45\n\x14\x62m25_search_operator\x18\x0b \x01(\x0b\x32\".weaviate.v1.SearchOperatorOptionsH\x01\x88\x01\x01\x12\x19\n\x0fvector_distance\x18\x14 \x01(\x02H\x00\x12%\n\x07vectors\x18\x15 \x03(\x0b\x32\x14.weaviate.v1.Vectors\"a\n\nFusionType\x12\x1b\n\x17\x46USION_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46USION_TYPE_RANKED\x10\x01\x12\x1e\n\x1a\x46USION_TYPE_RELATIVE_SCORE\x10\x02\x42\x0b\n\tthresholdB\x17\n\x15_bm25_search_operator\"\xad\x03\n\nNearVector\x12\x12\n\x06vector\x18\x01 \x03(\x02\x42\x02\x18\x01\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\x12\x18\n\x0cvector_bytes\x18\x04 \x01(\x0c\x42\x02\x18\x01\x12\x1a\n\x0etarget_vectors\x18\x05 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x06 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12K\n\x11vector_per_target\x18\x07 \x03(\x0b\x32,.weaviate.v1.NearVector.VectorPerTargetEntryB\x02\x18\x01\x12\x38\n\x12vector_for_targets\x18\x08 \x03(\x0b\x32\x1c.weaviate.v1.VectorForTarget\x12%\n\x07vectors\x18\t \x03(\x0b\x32\x14.weaviate.v1.Vectors\x1a\x36\n\x14VectorPerTargetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distance\"\xa5\x01\n\nNearObject\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xf0\x02\n\x0eNearTextSearch\x12\r\n\x05query\x18\x01 \x03(\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\x12\x36\n\x07move_to\x18\x04 \x01(\x0b\x32 .weaviate.v1.NearTextSearch.MoveH\x02\x88\x01\x01\x12\x38\n\tmove_away\x18\x05 \x01(\x0b\x32 .weaviate.v1.NearTextSearch.MoveH\x03\x88\x01\x01\x12\x1a\n\x0etarget_vectors\x18\x06 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x07 \x01(\x0b\x32\x14.weaviate.v1.Targets\x1a\x36\n\x04Move\x12\r\n\x05\x66orce\x18\x01 \x01(\x02\x12\x10\n\x08\x63oncepts\x18\x02 \x03(\t\x12\r\n\x05uuids\x18\x03 \x03(\tB\x0c\n\n_certaintyB\x0b\n\t_distanceB\n\n\x08_move_toB\x0c\n\n_move_away\"\xad\x01\n\x0fNearImageSearch\x12\r\n\x05image\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xad\x01\n\x0fNearAudioSearch\x12\r\n\x05\x61udio\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xad\x01\n\x0fNearVideoSearch\x12\r\n\x05video\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xad\x01\n\x0fNearDepthSearch\x12\r\n\x05\x64\x65pth\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xb1\x01\n\x11NearThermalSearch\x12\x0f\n\x07thermal\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xa9\x01\n\rNearIMUSearch\x12\x0b\n\x03imu\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\x7f\n\x04\x42M25\x12\r\n\x05query\x18\x01 \x01(\t\x12\x12\n\nproperties\x18\x02 \x03(\t\x12@\n\x0fsearch_operator\x18\x03 \x01(\x0b\x32\".weaviate.v1.SearchOperatorOptionsH\x00\x88\x01\x01\x42\x12\n\x10_search_operator*\xee\x01\n\x11\x43ombinationMethod\x12\"\n\x1e\x43OMBINATION_METHOD_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x43OMBINATION_METHOD_TYPE_SUM\x10\x01\x12\x1f\n\x1b\x43OMBINATION_METHOD_TYPE_MIN\x10\x02\x12#\n\x1f\x43OMBINATION_METHOD_TYPE_AVERAGE\x10\x03\x12*\n&COMBINATION_METHOD_TYPE_RELATIVE_SCORE\x10\x04\x12\"\n\x1e\x43OMBINATION_METHOD_TYPE_MANUAL\x10\x05\x42t\n#io.weaviate.client.grpc.protocol.v1B\x17WeaviateProtoBaseSearchZ4github.com/weaviate/weaviate/grpc/generated;protocolb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14v1/base_search.proto\x12\x0bweaviate.v1\x1a\rv1/base.proto\"2\n\x10WeightsForTarget\x12\x0e\n\x06target\x18\x01 \x01(\t\x12\x0e\n\x06weight\x18\x02 \x01(\x02\"\x98\x01\n\x07Targets\x12\x16\n\x0etarget_vectors\x18\x01 \x03(\t\x12\x33\n\x0b\x63ombination\x18\x02 \x01(\x0e\x32\x1e.weaviate.v1.CombinationMethod\x12:\n\x13weights_for_targets\x18\x04 \x03(\x0b\x32\x1d.weaviate.v1.WeightsForTargetJ\x04\x08\x03\x10\x04\"`\n\x0fVectorForTarget\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0cvector_bytes\x18\x02 \x01(\x0c\x42\x02\x18\x01\x12%\n\x07vectors\x18\x03 \x03(\x0b\x32\x14.weaviate.v1.Vectors\"\x8a\x01\n\tSelection\x12)\n\x03mmr\x18\x01 \x01(\x0b\x32\x1a.weaviate.v1.Selection.MMRH\x00\x1a\x45\n\x03MMR\x12\x12\n\x05limit\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_limitB\n\n\x08_balanceB\x0b\n\tselection\"\xe1\x01\n\x15SearchOperatorOptions\x12=\n\x08operator\x18\x01 \x01(\x0e\x32+.weaviate.v1.SearchOperatorOptions.Operator\x12$\n\x17minimum_or_tokens_match\x18\x02 \x01(\x05H\x00\x88\x01\x01\"G\n\x08Operator\x12\x18\n\x14OPERATOR_UNSPECIFIED\x10\x00\x12\x0f\n\x0bOPERATOR_OR\x10\x01\x12\x10\n\x0cOPERATOR_AND\x10\x02\x42\x1a\n\x18_minimum_or_tokens_match\"\xbc\x05\n\x06Hybrid\x12\r\n\x05query\x18\x01 \x01(\t\x12\x12\n\nproperties\x18\x02 \x03(\t\x12\x12\n\x06vector\x18\x03 \x03(\x02\x42\x02\x18\x01\x12\x11\n\x05\x61lpha\x18\x04 \x01(\x02\x42\x02\x18\x01\x12\x33\n\x0b\x66usion_type\x18\x05 \x01(\x0e\x32\x1e.weaviate.v1.Hybrid.FusionType\x12\x18\n\x0cvector_bytes\x18\x06 \x01(\x0c\x42\x02\x18\x01\x12\x1a\n\x0etarget_vectors\x18\x07 \x03(\tB\x02\x18\x01\x12.\n\tnear_text\x18\x08 \x01(\x0b\x32\x1b.weaviate.v1.NearTextSearch\x12,\n\x0bnear_vector\x18\t \x01(\x0b\x32\x17.weaviate.v1.NearVector\x12%\n\x07targets\x18\n \x01(\x0b\x32\x14.weaviate.v1.Targets\x12\x45\n\x14\x62m25_search_operator\x18\x0b \x01(\x0b\x32\".weaviate.v1.SearchOperatorOptionsH\x01\x88\x01\x01\x12\x18\n\x0b\x61lpha_param\x18\x0c \x01(\x02H\x02\x88\x01\x01\x12.\n\tselection\x18\r \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x03\x88\x01\x01\x12\x19\n\x0fvector_distance\x18\x14 \x01(\x02H\x00\x12%\n\x07vectors\x18\x15 \x03(\x0b\x32\x14.weaviate.v1.Vectors\"a\n\nFusionType\x12\x1b\n\x17\x46USION_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46USION_TYPE_RANKED\x10\x01\x12\x1e\n\x1a\x46USION_TYPE_RELATIVE_SCORE\x10\x02\x42\x0b\n\tthresholdB\x17\n\x15_bm25_search_operatorB\x0e\n\x0c_alpha_paramB\x0c\n\n_selection\"\xeb\x03\n\nNearVector\x12\x12\n\x06vector\x18\x01 \x03(\x02\x42\x02\x18\x01\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\x12\x18\n\x0cvector_bytes\x18\x04 \x01(\x0c\x42\x02\x18\x01\x12\x1a\n\x0etarget_vectors\x18\x05 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x06 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12K\n\x11vector_per_target\x18\x07 \x03(\x0b\x32,.weaviate.v1.NearVector.VectorPerTargetEntryB\x02\x18\x01\x12\x38\n\x12vector_for_targets\x18\x08 \x03(\x0b\x32\x1c.weaviate.v1.VectorForTarget\x12%\n\x07vectors\x18\t \x03(\x0b\x32\x14.weaviate.v1.Vectors\x12.\n\tselection\x18\n \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x1a\x36\n\x14VectorPerTargetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xe3\x01\n\nNearObject\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xae\x03\n\x0eNearTextSearch\x12\r\n\x05query\x18\x01 \x03(\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\x12\x36\n\x07move_to\x18\x04 \x01(\x0b\x32 .weaviate.v1.NearTextSearch.MoveH\x02\x88\x01\x01\x12\x38\n\tmove_away\x18\x05 \x01(\x0b\x32 .weaviate.v1.NearTextSearch.MoveH\x03\x88\x01\x01\x12\x1a\n\x0etarget_vectors\x18\x06 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x07 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x08 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x04\x88\x01\x01\x1a\x36\n\x04Move\x12\r\n\x05\x66orce\x18\x01 \x01(\x02\x12\x10\n\x08\x63oncepts\x18\x02 \x03(\t\x12\r\n\x05uuids\x18\x03 \x03(\tB\x0c\n\n_certaintyB\x0b\n\t_distanceB\n\n\x08_move_toB\x0c\n\n_move_awayB\x0c\n\n_selection\"\xeb\x01\n\x0fNearImageSearch\x12\r\n\x05image\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xeb\x01\n\x0fNearAudioSearch\x12\r\n\x05\x61udio\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xeb\x01\n\x0fNearVideoSearch\x12\r\n\x05video\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xeb\x01\n\x0fNearDepthSearch\x12\r\n\x05\x64\x65pth\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xef\x01\n\x11NearThermalSearch\x12\x0f\n\x07thermal\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xe7\x01\n\rNearIMUSearch\x12\x0b\n\x03imu\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\x7f\n\x04\x42M25\x12\r\n\x05query\x18\x01 \x01(\t\x12\x12\n\nproperties\x18\x02 \x03(\t\x12@\n\x0fsearch_operator\x18\x03 \x01(\x0b\x32\".weaviate.v1.SearchOperatorOptionsH\x00\x88\x01\x01\x42\x12\n\x10_search_operator*\xee\x01\n\x11\x43ombinationMethod\x12\"\n\x1e\x43OMBINATION_METHOD_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x43OMBINATION_METHOD_TYPE_SUM\x10\x01\x12\x1f\n\x1b\x43OMBINATION_METHOD_TYPE_MIN\x10\x02\x12#\n\x1f\x43OMBINATION_METHOD_TYPE_AVERAGE\x10\x03\x12*\n&COMBINATION_METHOD_TYPE_RELATIVE_SCORE\x10\x04\x12\"\n\x1e\x43OMBINATION_METHOD_TYPE_MANUAL\x10\x05\x42t\n#io.weaviate.client.grpc.protocol.v1B\x17WeaviateProtoBaseSearchZ4github.com/weaviate/weaviate/grpc/generated;protocolb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,6 +26,8 @@ _VECTORFORTARGET.fields_by_name['vector_bytes']._serialized_options = b'\030\001' _HYBRID.fields_by_name['vector']._options = None _HYBRID.fields_by_name['vector']._serialized_options = b'\030\001' + _HYBRID.fields_by_name['alpha']._options = None + _HYBRID.fields_by_name['alpha']._serialized_options = b'\030\001' _HYBRID.fields_by_name['vector_bytes']._options = None _HYBRID.fields_by_name['vector_bytes']._serialized_options = b'\030\001' _HYBRID.fields_by_name['target_vectors']._options = None @@ -56,44 +58,48 @@ _NEARTHERMALSEARCH.fields_by_name['target_vectors']._serialized_options = b'\030\001' _NEARIMUSEARCH.fields_by_name['target_vectors']._options = None _NEARIMUSEARCH.fields_by_name['target_vectors']._serialized_options = b'\030\001' - _globals['_COMBINATIONMETHOD']._serialized_start=3337 - _globals['_COMBINATIONMETHOD']._serialized_end=3575 + _globals['_COMBINATIONMETHOD']._serialized_start=4144 + _globals['_COMBINATIONMETHOD']._serialized_end=4382 _globals['_WEIGHTSFORTARGET']._serialized_start=52 _globals['_WEIGHTSFORTARGET']._serialized_end=102 _globals['_TARGETS']._serialized_start=105 _globals['_TARGETS']._serialized_end=257 _globals['_VECTORFORTARGET']._serialized_start=259 _globals['_VECTORFORTARGET']._serialized_end=355 - _globals['_SEARCHOPERATOROPTIONS']._serialized_start=358 - _globals['_SEARCHOPERATOROPTIONS']._serialized_end=583 - _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_start=484 - _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_end=555 - _globals['_HYBRID']._serialized_start=586 - _globals['_HYBRID']._serialized_end=1178 - _globals['_HYBRID_FUSIONTYPE']._serialized_start=1043 - _globals['_HYBRID_FUSIONTYPE']._serialized_end=1140 - _globals['_NEARVECTOR']._serialized_start=1181 - _globals['_NEARVECTOR']._serialized_end=1610 - _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1529 - _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1583 - _globals['_NEAROBJECT']._serialized_start=1613 - _globals['_NEAROBJECT']._serialized_end=1778 - _globals['_NEARTEXTSEARCH']._serialized_start=1781 - _globals['_NEARTEXTSEARCH']._serialized_end=2149 - _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2042 - _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2096 - _globals['_NEARIMAGESEARCH']._serialized_start=2152 - _globals['_NEARIMAGESEARCH']._serialized_end=2325 - _globals['_NEARAUDIOSEARCH']._serialized_start=2328 - _globals['_NEARAUDIOSEARCH']._serialized_end=2501 - _globals['_NEARVIDEOSEARCH']._serialized_start=2504 - _globals['_NEARVIDEOSEARCH']._serialized_end=2677 - _globals['_NEARDEPTHSEARCH']._serialized_start=2680 - _globals['_NEARDEPTHSEARCH']._serialized_end=2853 - _globals['_NEARTHERMALSEARCH']._serialized_start=2856 - _globals['_NEARTHERMALSEARCH']._serialized_end=3033 - _globals['_NEARIMUSEARCH']._serialized_start=3036 - _globals['_NEARIMUSEARCH']._serialized_end=3205 - _globals['_BM25']._serialized_start=3207 - _globals['_BM25']._serialized_end=3334 + _globals['_SELECTION']._serialized_start=358 + _globals['_SELECTION']._serialized_end=496 + _globals['_SELECTION_MMR']._serialized_start=414 + _globals['_SELECTION_MMR']._serialized_end=483 + _globals['_SEARCHOPERATOROPTIONS']._serialized_start=499 + _globals['_SEARCHOPERATOROPTIONS']._serialized_end=724 + _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_start=625 + _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_end=696 + _globals['_HYBRID']._serialized_start=727 + _globals['_HYBRID']._serialized_end=1427 + _globals['_HYBRID_FUSIONTYPE']._serialized_start=1262 + _globals['_HYBRID_FUSIONTYPE']._serialized_end=1359 + _globals['_NEARVECTOR']._serialized_start=1430 + _globals['_NEARVECTOR']._serialized_end=1921 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1826 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1880 + _globals['_NEAROBJECT']._serialized_start=1924 + _globals['_NEAROBJECT']._serialized_end=2151 + _globals['_NEARTEXTSEARCH']._serialized_start=2154 + _globals['_NEARTEXTSEARCH']._serialized_end=2584 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2463 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2517 + _globals['_NEARIMAGESEARCH']._serialized_start=2587 + _globals['_NEARIMAGESEARCH']._serialized_end=2822 + _globals['_NEARAUDIOSEARCH']._serialized_start=2825 + _globals['_NEARAUDIOSEARCH']._serialized_end=3060 + _globals['_NEARVIDEOSEARCH']._serialized_start=3063 + _globals['_NEARVIDEOSEARCH']._serialized_end=3298 + _globals['_NEARDEPTHSEARCH']._serialized_start=3301 + _globals['_NEARDEPTHSEARCH']._serialized_end=3536 + _globals['_NEARTHERMALSEARCH']._serialized_start=3539 + _globals['_NEARTHERMALSEARCH']._serialized_end=3778 + _globals['_NEARIMUSEARCH']._serialized_start=3781 + _globals['_NEARIMUSEARCH']._serialized_end=4012 + _globals['_BM25']._serialized_start=4014 + _globals['_BM25']._serialized_end=4141 # @@protoc_insertion_point(module_scope) diff --git a/weaviate/proto/v1/v4216/v1/base_search_pb2.pyi b/weaviate/proto/v1/v4216/v1/base_search_pb2.pyi index bac1b47b8..0f3d48d50 100644 --- a/weaviate/proto/v1/v4216/v1/base_search_pb2.pyi +++ b/weaviate/proto/v1/v4216/v1/base_search_pb2.pyi @@ -50,6 +50,19 @@ class VectorForTarget(_message.Message): vectors: _containers.RepeatedCompositeFieldContainer[_base_pb2.Vectors] def __init__(self, name: _Optional[str] = ..., vector_bytes: _Optional[bytes] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ...) -> None: ... +class Selection(_message.Message): + __slots__ = ["mmr"] + class MMR(_message.Message): + __slots__ = ["limit", "balance"] + LIMIT_FIELD_NUMBER: _ClassVar[int] + BALANCE_FIELD_NUMBER: _ClassVar[int] + limit: int + balance: float + def __init__(self, limit: _Optional[int] = ..., balance: _Optional[float] = ...) -> None: ... + MMR_FIELD_NUMBER: _ClassVar[int] + mmr: Selection.MMR + def __init__(self, mmr: _Optional[_Union[Selection.MMR, _Mapping]] = ...) -> None: ... + class SearchOperatorOptions(_message.Message): __slots__ = ["operator", "minimum_or_tokens_match"] class Operator(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -67,7 +80,7 @@ class SearchOperatorOptions(_message.Message): def __init__(self, operator: _Optional[_Union[SearchOperatorOptions.Operator, str]] = ..., minimum_or_tokens_match: _Optional[int] = ...) -> None: ... class Hybrid(_message.Message): - __slots__ = ["query", "properties", "vector", "alpha", "fusion_type", "vector_bytes", "target_vectors", "near_text", "near_vector", "targets", "bm25_search_operator", "vector_distance", "vectors"] + __slots__ = ["query", "properties", "vector", "alpha", "fusion_type", "vector_bytes", "target_vectors", "near_text", "near_vector", "targets", "bm25_search_operator", "alpha_param", "selection", "vector_distance", "vectors"] class FusionType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = [] FUSION_TYPE_UNSPECIFIED: _ClassVar[Hybrid.FusionType] @@ -87,6 +100,8 @@ class Hybrid(_message.Message): NEAR_VECTOR_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] BM25_SEARCH_OPERATOR_FIELD_NUMBER: _ClassVar[int] + ALPHA_PARAM_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] VECTOR_DISTANCE_FIELD_NUMBER: _ClassVar[int] VECTORS_FIELD_NUMBER: _ClassVar[int] query: str @@ -100,12 +115,14 @@ class Hybrid(_message.Message): near_vector: NearVector targets: Targets bm25_search_operator: SearchOperatorOptions + alpha_param: float + selection: Selection vector_distance: float vectors: _containers.RepeatedCompositeFieldContainer[_base_pb2.Vectors] - def __init__(self, query: _Optional[str] = ..., properties: _Optional[_Iterable[str]] = ..., vector: _Optional[_Iterable[float]] = ..., alpha: _Optional[float] = ..., fusion_type: _Optional[_Union[Hybrid.FusionType, str]] = ..., vector_bytes: _Optional[bytes] = ..., target_vectors: _Optional[_Iterable[str]] = ..., near_text: _Optional[_Union[NearTextSearch, _Mapping]] = ..., near_vector: _Optional[_Union[NearVector, _Mapping]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., bm25_search_operator: _Optional[_Union[SearchOperatorOptions, _Mapping]] = ..., vector_distance: _Optional[float] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ...) -> None: ... + def __init__(self, query: _Optional[str] = ..., properties: _Optional[_Iterable[str]] = ..., vector: _Optional[_Iterable[float]] = ..., alpha: _Optional[float] = ..., fusion_type: _Optional[_Union[Hybrid.FusionType, str]] = ..., vector_bytes: _Optional[bytes] = ..., target_vectors: _Optional[_Iterable[str]] = ..., near_text: _Optional[_Union[NearTextSearch, _Mapping]] = ..., near_vector: _Optional[_Union[NearVector, _Mapping]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., bm25_search_operator: _Optional[_Union[SearchOperatorOptions, _Mapping]] = ..., alpha_param: _Optional[float] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ..., vector_distance: _Optional[float] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ...) -> None: ... class NearVector(_message.Message): - __slots__ = ["vector", "certainty", "distance", "vector_bytes", "target_vectors", "targets", "vector_per_target", "vector_for_targets", "vectors"] + __slots__ = ["vector", "certainty", "distance", "vector_bytes", "target_vectors", "targets", "vector_per_target", "vector_for_targets", "vectors", "selection"] class VectorPerTargetEntry(_message.Message): __slots__ = ["key", "value"] KEY_FIELD_NUMBER: _ClassVar[int] @@ -122,6 +139,7 @@ class NearVector(_message.Message): VECTOR_PER_TARGET_FIELD_NUMBER: _ClassVar[int] VECTOR_FOR_TARGETS_FIELD_NUMBER: _ClassVar[int] VECTORS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] vector: _containers.RepeatedScalarFieldContainer[float] certainty: float distance: float @@ -131,24 +149,27 @@ class NearVector(_message.Message): vector_per_target: _containers.ScalarMap[str, bytes] vector_for_targets: _containers.RepeatedCompositeFieldContainer[VectorForTarget] vectors: _containers.RepeatedCompositeFieldContainer[_base_pb2.Vectors] - def __init__(self, vector: _Optional[_Iterable[float]] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., vector_bytes: _Optional[bytes] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., vector_per_target: _Optional[_Mapping[str, bytes]] = ..., vector_for_targets: _Optional[_Iterable[_Union[VectorForTarget, _Mapping]]] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ...) -> None: ... + selection: Selection + def __init__(self, vector: _Optional[_Iterable[float]] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., vector_bytes: _Optional[bytes] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., vector_per_target: _Optional[_Mapping[str, bytes]] = ..., vector_for_targets: _Optional[_Iterable[_Union[VectorForTarget, _Mapping]]] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearObject(_message.Message): - __slots__ = ["id", "certainty", "distance", "target_vectors", "targets"] + __slots__ = ["id", "certainty", "distance", "target_vectors", "targets", "selection"] ID_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] id: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, id: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, id: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearTextSearch(_message.Message): - __slots__ = ["query", "certainty", "distance", "move_to", "move_away", "target_vectors", "targets"] + __slots__ = ["query", "certainty", "distance", "move_to", "move_away", "target_vectors", "targets", "selection"] class Move(_message.Message): __slots__ = ["force", "concepts", "uuids"] FORCE_FIELD_NUMBER: _ClassVar[int] @@ -165,6 +186,7 @@ class NearTextSearch(_message.Message): MOVE_AWAY_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] query: _containers.RepeatedScalarFieldContainer[str] certainty: float distance: float @@ -172,91 +194,104 @@ class NearTextSearch(_message.Message): move_away: NearTextSearch.Move target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, query: _Optional[_Iterable[str]] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., move_to: _Optional[_Union[NearTextSearch.Move, _Mapping]] = ..., move_away: _Optional[_Union[NearTextSearch.Move, _Mapping]] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, query: _Optional[_Iterable[str]] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., move_to: _Optional[_Union[NearTextSearch.Move, _Mapping]] = ..., move_away: _Optional[_Union[NearTextSearch.Move, _Mapping]] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearImageSearch(_message.Message): - __slots__ = ["image", "certainty", "distance", "target_vectors", "targets"] + __slots__ = ["image", "certainty", "distance", "target_vectors", "targets", "selection"] IMAGE_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] image: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, image: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, image: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearAudioSearch(_message.Message): - __slots__ = ["audio", "certainty", "distance", "target_vectors", "targets"] + __slots__ = ["audio", "certainty", "distance", "target_vectors", "targets", "selection"] AUDIO_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] audio: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, audio: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, audio: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearVideoSearch(_message.Message): - __slots__ = ["video", "certainty", "distance", "target_vectors", "targets"] + __slots__ = ["video", "certainty", "distance", "target_vectors", "targets", "selection"] VIDEO_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] video: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, video: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, video: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearDepthSearch(_message.Message): - __slots__ = ["depth", "certainty", "distance", "target_vectors", "targets"] + __slots__ = ["depth", "certainty", "distance", "target_vectors", "targets", "selection"] DEPTH_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] depth: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, depth: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, depth: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearThermalSearch(_message.Message): - __slots__ = ["thermal", "certainty", "distance", "target_vectors", "targets"] + __slots__ = ["thermal", "certainty", "distance", "target_vectors", "targets", "selection"] THERMAL_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] thermal: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, thermal: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, thermal: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearIMUSearch(_message.Message): - __slots__ = ["imu", "certainty", "distance", "target_vectors", "targets"] + __slots__ = ["imu", "certainty", "distance", "target_vectors", "targets", "selection"] IMU_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] imu: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, imu: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, imu: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class BM25(_message.Message): __slots__ = ["query", "properties", "search_operator"] diff --git a/weaviate/proto/v1/v5261/v1/base_search_pb2.py b/weaviate/proto/v1/v5261/v1/base_search_pb2.py index cde241b1e..9a3f549a1 100644 --- a/weaviate/proto/v1/v5261/v1/base_search_pb2.py +++ b/weaviate/proto/v1/v5261/v1/base_search_pb2.py @@ -15,7 +15,7 @@ from weaviate.proto.v1.v5261.v1 import base_pb2 as v1_dot_base__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14v1/base_search.proto\x12\x0bweaviate.v1\x1a\rv1/base.proto\"2\n\x10WeightsForTarget\x12\x0e\n\x06target\x18\x01 \x01(\t\x12\x0e\n\x06weight\x18\x02 \x01(\x02\"\x98\x01\n\x07Targets\x12\x16\n\x0etarget_vectors\x18\x01 \x03(\t\x12\x33\n\x0b\x63ombination\x18\x02 \x01(\x0e\x32\x1e.weaviate.v1.CombinationMethod\x12:\n\x13weights_for_targets\x18\x04 \x03(\x0b\x32\x1d.weaviate.v1.WeightsForTargetJ\x04\x08\x03\x10\x04\"`\n\x0fVectorForTarget\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0cvector_bytes\x18\x02 \x01(\x0c\x42\x02\x18\x01\x12%\n\x07vectors\x18\x03 \x03(\x0b\x32\x14.weaviate.v1.Vectors\"\xe1\x01\n\x15SearchOperatorOptions\x12=\n\x08operator\x18\x01 \x01(\x0e\x32+.weaviate.v1.SearchOperatorOptions.Operator\x12$\n\x17minimum_or_tokens_match\x18\x02 \x01(\x05H\x00\x88\x01\x01\"G\n\x08Operator\x12\x18\n\x14OPERATOR_UNSPECIFIED\x10\x00\x12\x0f\n\x0bOPERATOR_OR\x10\x01\x12\x10\n\x0cOPERATOR_AND\x10\x02\x42\x1a\n\x18_minimum_or_tokens_match\"\xd0\x04\n\x06Hybrid\x12\r\n\x05query\x18\x01 \x01(\t\x12\x12\n\nproperties\x18\x02 \x03(\t\x12\x12\n\x06vector\x18\x03 \x03(\x02\x42\x02\x18\x01\x12\r\n\x05\x61lpha\x18\x04 \x01(\x02\x12\x33\n\x0b\x66usion_type\x18\x05 \x01(\x0e\x32\x1e.weaviate.v1.Hybrid.FusionType\x12\x18\n\x0cvector_bytes\x18\x06 \x01(\x0c\x42\x02\x18\x01\x12\x1a\n\x0etarget_vectors\x18\x07 \x03(\tB\x02\x18\x01\x12.\n\tnear_text\x18\x08 \x01(\x0b\x32\x1b.weaviate.v1.NearTextSearch\x12,\n\x0bnear_vector\x18\t \x01(\x0b\x32\x17.weaviate.v1.NearVector\x12%\n\x07targets\x18\n \x01(\x0b\x32\x14.weaviate.v1.Targets\x12\x45\n\x14\x62m25_search_operator\x18\x0b \x01(\x0b\x32\".weaviate.v1.SearchOperatorOptionsH\x01\x88\x01\x01\x12\x19\n\x0fvector_distance\x18\x14 \x01(\x02H\x00\x12%\n\x07vectors\x18\x15 \x03(\x0b\x32\x14.weaviate.v1.Vectors\"a\n\nFusionType\x12\x1b\n\x17\x46USION_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46USION_TYPE_RANKED\x10\x01\x12\x1e\n\x1a\x46USION_TYPE_RELATIVE_SCORE\x10\x02\x42\x0b\n\tthresholdB\x17\n\x15_bm25_search_operator\"\xad\x03\n\nNearVector\x12\x12\n\x06vector\x18\x01 \x03(\x02\x42\x02\x18\x01\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\x12\x18\n\x0cvector_bytes\x18\x04 \x01(\x0c\x42\x02\x18\x01\x12\x1a\n\x0etarget_vectors\x18\x05 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x06 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12K\n\x11vector_per_target\x18\x07 \x03(\x0b\x32,.weaviate.v1.NearVector.VectorPerTargetEntryB\x02\x18\x01\x12\x38\n\x12vector_for_targets\x18\x08 \x03(\x0b\x32\x1c.weaviate.v1.VectorForTarget\x12%\n\x07vectors\x18\t \x03(\x0b\x32\x14.weaviate.v1.Vectors\x1a\x36\n\x14VectorPerTargetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distance\"\xa5\x01\n\nNearObject\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xf0\x02\n\x0eNearTextSearch\x12\r\n\x05query\x18\x01 \x03(\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\x12\x36\n\x07move_to\x18\x04 \x01(\x0b\x32 .weaviate.v1.NearTextSearch.MoveH\x02\x88\x01\x01\x12\x38\n\tmove_away\x18\x05 \x01(\x0b\x32 .weaviate.v1.NearTextSearch.MoveH\x03\x88\x01\x01\x12\x1a\n\x0etarget_vectors\x18\x06 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x07 \x01(\x0b\x32\x14.weaviate.v1.Targets\x1a\x36\n\x04Move\x12\r\n\x05\x66orce\x18\x01 \x01(\x02\x12\x10\n\x08\x63oncepts\x18\x02 \x03(\t\x12\r\n\x05uuids\x18\x03 \x03(\tB\x0c\n\n_certaintyB\x0b\n\t_distanceB\n\n\x08_move_toB\x0c\n\n_move_away\"\xad\x01\n\x0fNearImageSearch\x12\r\n\x05image\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xad\x01\n\x0fNearAudioSearch\x12\r\n\x05\x61udio\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xad\x01\n\x0fNearVideoSearch\x12\r\n\x05video\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xad\x01\n\x0fNearDepthSearch\x12\r\n\x05\x64\x65pth\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xb1\x01\n\x11NearThermalSearch\x12\x0f\n\x07thermal\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xa9\x01\n\rNearIMUSearch\x12\x0b\n\x03imu\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\x7f\n\x04\x42M25\x12\r\n\x05query\x18\x01 \x01(\t\x12\x12\n\nproperties\x18\x02 \x03(\t\x12@\n\x0fsearch_operator\x18\x03 \x01(\x0b\x32\".weaviate.v1.SearchOperatorOptionsH\x00\x88\x01\x01\x42\x12\n\x10_search_operator*\xee\x01\n\x11\x43ombinationMethod\x12\"\n\x1e\x43OMBINATION_METHOD_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x43OMBINATION_METHOD_TYPE_SUM\x10\x01\x12\x1f\n\x1b\x43OMBINATION_METHOD_TYPE_MIN\x10\x02\x12#\n\x1f\x43OMBINATION_METHOD_TYPE_AVERAGE\x10\x03\x12*\n&COMBINATION_METHOD_TYPE_RELATIVE_SCORE\x10\x04\x12\"\n\x1e\x43OMBINATION_METHOD_TYPE_MANUAL\x10\x05\x42t\n#io.weaviate.client.grpc.protocol.v1B\x17WeaviateProtoBaseSearchZ4github.com/weaviate/weaviate/grpc/generated;protocolb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14v1/base_search.proto\x12\x0bweaviate.v1\x1a\rv1/base.proto\"2\n\x10WeightsForTarget\x12\x0e\n\x06target\x18\x01 \x01(\t\x12\x0e\n\x06weight\x18\x02 \x01(\x02\"\x98\x01\n\x07Targets\x12\x16\n\x0etarget_vectors\x18\x01 \x03(\t\x12\x33\n\x0b\x63ombination\x18\x02 \x01(\x0e\x32\x1e.weaviate.v1.CombinationMethod\x12:\n\x13weights_for_targets\x18\x04 \x03(\x0b\x32\x1d.weaviate.v1.WeightsForTargetJ\x04\x08\x03\x10\x04\"`\n\x0fVectorForTarget\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0cvector_bytes\x18\x02 \x01(\x0c\x42\x02\x18\x01\x12%\n\x07vectors\x18\x03 \x03(\x0b\x32\x14.weaviate.v1.Vectors\"\x8a\x01\n\tSelection\x12)\n\x03mmr\x18\x01 \x01(\x0b\x32\x1a.weaviate.v1.Selection.MMRH\x00\x1a\x45\n\x03MMR\x12\x12\n\x05limit\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_limitB\n\n\x08_balanceB\x0b\n\tselection\"\xe1\x01\n\x15SearchOperatorOptions\x12=\n\x08operator\x18\x01 \x01(\x0e\x32+.weaviate.v1.SearchOperatorOptions.Operator\x12$\n\x17minimum_or_tokens_match\x18\x02 \x01(\x05H\x00\x88\x01\x01\"G\n\x08Operator\x12\x18\n\x14OPERATOR_UNSPECIFIED\x10\x00\x12\x0f\n\x0bOPERATOR_OR\x10\x01\x12\x10\n\x0cOPERATOR_AND\x10\x02\x42\x1a\n\x18_minimum_or_tokens_match\"\xbc\x05\n\x06Hybrid\x12\r\n\x05query\x18\x01 \x01(\t\x12\x12\n\nproperties\x18\x02 \x03(\t\x12\x12\n\x06vector\x18\x03 \x03(\x02\x42\x02\x18\x01\x12\x11\n\x05\x61lpha\x18\x04 \x01(\x02\x42\x02\x18\x01\x12\x33\n\x0b\x66usion_type\x18\x05 \x01(\x0e\x32\x1e.weaviate.v1.Hybrid.FusionType\x12\x18\n\x0cvector_bytes\x18\x06 \x01(\x0c\x42\x02\x18\x01\x12\x1a\n\x0etarget_vectors\x18\x07 \x03(\tB\x02\x18\x01\x12.\n\tnear_text\x18\x08 \x01(\x0b\x32\x1b.weaviate.v1.NearTextSearch\x12,\n\x0bnear_vector\x18\t \x01(\x0b\x32\x17.weaviate.v1.NearVector\x12%\n\x07targets\x18\n \x01(\x0b\x32\x14.weaviate.v1.Targets\x12\x45\n\x14\x62m25_search_operator\x18\x0b \x01(\x0b\x32\".weaviate.v1.SearchOperatorOptionsH\x01\x88\x01\x01\x12\x18\n\x0b\x61lpha_param\x18\x0c \x01(\x02H\x02\x88\x01\x01\x12.\n\tselection\x18\r \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x03\x88\x01\x01\x12\x19\n\x0fvector_distance\x18\x14 \x01(\x02H\x00\x12%\n\x07vectors\x18\x15 \x03(\x0b\x32\x14.weaviate.v1.Vectors\"a\n\nFusionType\x12\x1b\n\x17\x46USION_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46USION_TYPE_RANKED\x10\x01\x12\x1e\n\x1a\x46USION_TYPE_RELATIVE_SCORE\x10\x02\x42\x0b\n\tthresholdB\x17\n\x15_bm25_search_operatorB\x0e\n\x0c_alpha_paramB\x0c\n\n_selection\"\xeb\x03\n\nNearVector\x12\x12\n\x06vector\x18\x01 \x03(\x02\x42\x02\x18\x01\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\x12\x18\n\x0cvector_bytes\x18\x04 \x01(\x0c\x42\x02\x18\x01\x12\x1a\n\x0etarget_vectors\x18\x05 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x06 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12K\n\x11vector_per_target\x18\x07 \x03(\x0b\x32,.weaviate.v1.NearVector.VectorPerTargetEntryB\x02\x18\x01\x12\x38\n\x12vector_for_targets\x18\x08 \x03(\x0b\x32\x1c.weaviate.v1.VectorForTarget\x12%\n\x07vectors\x18\t \x03(\x0b\x32\x14.weaviate.v1.Vectors\x12.\n\tselection\x18\n \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x1a\x36\n\x14VectorPerTargetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xe3\x01\n\nNearObject\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xae\x03\n\x0eNearTextSearch\x12\r\n\x05query\x18\x01 \x03(\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\x12\x36\n\x07move_to\x18\x04 \x01(\x0b\x32 .weaviate.v1.NearTextSearch.MoveH\x02\x88\x01\x01\x12\x38\n\tmove_away\x18\x05 \x01(\x0b\x32 .weaviate.v1.NearTextSearch.MoveH\x03\x88\x01\x01\x12\x1a\n\x0etarget_vectors\x18\x06 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x07 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x08 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x04\x88\x01\x01\x1a\x36\n\x04Move\x12\r\n\x05\x66orce\x18\x01 \x01(\x02\x12\x10\n\x08\x63oncepts\x18\x02 \x03(\t\x12\r\n\x05uuids\x18\x03 \x03(\tB\x0c\n\n_certaintyB\x0b\n\t_distanceB\n\n\x08_move_toB\x0c\n\n_move_awayB\x0c\n\n_selection\"\xeb\x01\n\x0fNearImageSearch\x12\r\n\x05image\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xeb\x01\n\x0fNearAudioSearch\x12\r\n\x05\x61udio\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xeb\x01\n\x0fNearVideoSearch\x12\r\n\x05video\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xeb\x01\n\x0fNearDepthSearch\x12\r\n\x05\x64\x65pth\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xef\x01\n\x11NearThermalSearch\x12\x0f\n\x07thermal\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xe7\x01\n\rNearIMUSearch\x12\x0b\n\x03imu\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\x7f\n\x04\x42M25\x12\r\n\x05query\x18\x01 \x01(\t\x12\x12\n\nproperties\x18\x02 \x03(\t\x12@\n\x0fsearch_operator\x18\x03 \x01(\x0b\x32\".weaviate.v1.SearchOperatorOptionsH\x00\x88\x01\x01\x42\x12\n\x10_search_operator*\xee\x01\n\x11\x43ombinationMethod\x12\"\n\x1e\x43OMBINATION_METHOD_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x43OMBINATION_METHOD_TYPE_SUM\x10\x01\x12\x1f\n\x1b\x43OMBINATION_METHOD_TYPE_MIN\x10\x02\x12#\n\x1f\x43OMBINATION_METHOD_TYPE_AVERAGE\x10\x03\x12*\n&COMBINATION_METHOD_TYPE_RELATIVE_SCORE\x10\x04\x12\"\n\x1e\x43OMBINATION_METHOD_TYPE_MANUAL\x10\x05\x42t\n#io.weaviate.client.grpc.protocol.v1B\x17WeaviateProtoBaseSearchZ4github.com/weaviate/weaviate/grpc/generated;protocolb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,6 +27,8 @@ _globals['_VECTORFORTARGET'].fields_by_name['vector_bytes']._serialized_options = b'\030\001' _globals['_HYBRID'].fields_by_name['vector']._loaded_options = None _globals['_HYBRID'].fields_by_name['vector']._serialized_options = b'\030\001' + _globals['_HYBRID'].fields_by_name['alpha']._loaded_options = None + _globals['_HYBRID'].fields_by_name['alpha']._serialized_options = b'\030\001' _globals['_HYBRID'].fields_by_name['vector_bytes']._loaded_options = None _globals['_HYBRID'].fields_by_name['vector_bytes']._serialized_options = b'\030\001' _globals['_HYBRID'].fields_by_name['target_vectors']._loaded_options = None @@ -57,44 +59,48 @@ _globals['_NEARTHERMALSEARCH'].fields_by_name['target_vectors']._serialized_options = b'\030\001' _globals['_NEARIMUSEARCH'].fields_by_name['target_vectors']._loaded_options = None _globals['_NEARIMUSEARCH'].fields_by_name['target_vectors']._serialized_options = b'\030\001' - _globals['_COMBINATIONMETHOD']._serialized_start=3337 - _globals['_COMBINATIONMETHOD']._serialized_end=3575 + _globals['_COMBINATIONMETHOD']._serialized_start=4144 + _globals['_COMBINATIONMETHOD']._serialized_end=4382 _globals['_WEIGHTSFORTARGET']._serialized_start=52 _globals['_WEIGHTSFORTARGET']._serialized_end=102 _globals['_TARGETS']._serialized_start=105 _globals['_TARGETS']._serialized_end=257 _globals['_VECTORFORTARGET']._serialized_start=259 _globals['_VECTORFORTARGET']._serialized_end=355 - _globals['_SEARCHOPERATOROPTIONS']._serialized_start=358 - _globals['_SEARCHOPERATOROPTIONS']._serialized_end=583 - _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_start=484 - _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_end=555 - _globals['_HYBRID']._serialized_start=586 - _globals['_HYBRID']._serialized_end=1178 - _globals['_HYBRID_FUSIONTYPE']._serialized_start=1043 - _globals['_HYBRID_FUSIONTYPE']._serialized_end=1140 - _globals['_NEARVECTOR']._serialized_start=1181 - _globals['_NEARVECTOR']._serialized_end=1610 - _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1529 - _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1583 - _globals['_NEAROBJECT']._serialized_start=1613 - _globals['_NEAROBJECT']._serialized_end=1778 - _globals['_NEARTEXTSEARCH']._serialized_start=1781 - _globals['_NEARTEXTSEARCH']._serialized_end=2149 - _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2042 - _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2096 - _globals['_NEARIMAGESEARCH']._serialized_start=2152 - _globals['_NEARIMAGESEARCH']._serialized_end=2325 - _globals['_NEARAUDIOSEARCH']._serialized_start=2328 - _globals['_NEARAUDIOSEARCH']._serialized_end=2501 - _globals['_NEARVIDEOSEARCH']._serialized_start=2504 - _globals['_NEARVIDEOSEARCH']._serialized_end=2677 - _globals['_NEARDEPTHSEARCH']._serialized_start=2680 - _globals['_NEARDEPTHSEARCH']._serialized_end=2853 - _globals['_NEARTHERMALSEARCH']._serialized_start=2856 - _globals['_NEARTHERMALSEARCH']._serialized_end=3033 - _globals['_NEARIMUSEARCH']._serialized_start=3036 - _globals['_NEARIMUSEARCH']._serialized_end=3205 - _globals['_BM25']._serialized_start=3207 - _globals['_BM25']._serialized_end=3334 + _globals['_SELECTION']._serialized_start=358 + _globals['_SELECTION']._serialized_end=496 + _globals['_SELECTION_MMR']._serialized_start=414 + _globals['_SELECTION_MMR']._serialized_end=483 + _globals['_SEARCHOPERATOROPTIONS']._serialized_start=499 + _globals['_SEARCHOPERATOROPTIONS']._serialized_end=724 + _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_start=625 + _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_end=696 + _globals['_HYBRID']._serialized_start=727 + _globals['_HYBRID']._serialized_end=1427 + _globals['_HYBRID_FUSIONTYPE']._serialized_start=1262 + _globals['_HYBRID_FUSIONTYPE']._serialized_end=1359 + _globals['_NEARVECTOR']._serialized_start=1430 + _globals['_NEARVECTOR']._serialized_end=1921 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1826 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1880 + _globals['_NEAROBJECT']._serialized_start=1924 + _globals['_NEAROBJECT']._serialized_end=2151 + _globals['_NEARTEXTSEARCH']._serialized_start=2154 + _globals['_NEARTEXTSEARCH']._serialized_end=2584 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2463 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2517 + _globals['_NEARIMAGESEARCH']._serialized_start=2587 + _globals['_NEARIMAGESEARCH']._serialized_end=2822 + _globals['_NEARAUDIOSEARCH']._serialized_start=2825 + _globals['_NEARAUDIOSEARCH']._serialized_end=3060 + _globals['_NEARVIDEOSEARCH']._serialized_start=3063 + _globals['_NEARVIDEOSEARCH']._serialized_end=3298 + _globals['_NEARDEPTHSEARCH']._serialized_start=3301 + _globals['_NEARDEPTHSEARCH']._serialized_end=3536 + _globals['_NEARTHERMALSEARCH']._serialized_start=3539 + _globals['_NEARTHERMALSEARCH']._serialized_end=3778 + _globals['_NEARIMUSEARCH']._serialized_start=3781 + _globals['_NEARIMUSEARCH']._serialized_end=4012 + _globals['_BM25']._serialized_start=4014 + _globals['_BM25']._serialized_end=4141 # @@protoc_insertion_point(module_scope) diff --git a/weaviate/proto/v1/v5261/v1/base_search_pb2.pyi b/weaviate/proto/v1/v5261/v1/base_search_pb2.pyi index 5f1871ac7..84b846c56 100644 --- a/weaviate/proto/v1/v5261/v1/base_search_pb2.pyi +++ b/weaviate/proto/v1/v5261/v1/base_search_pb2.pyi @@ -50,6 +50,19 @@ class VectorForTarget(_message.Message): vectors: _containers.RepeatedCompositeFieldContainer[_base_pb2.Vectors] def __init__(self, name: _Optional[str] = ..., vector_bytes: _Optional[bytes] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ...) -> None: ... +class Selection(_message.Message): + __slots__ = ("mmr",) + class MMR(_message.Message): + __slots__ = ("limit", "balance") + LIMIT_FIELD_NUMBER: _ClassVar[int] + BALANCE_FIELD_NUMBER: _ClassVar[int] + limit: int + balance: float + def __init__(self, limit: _Optional[int] = ..., balance: _Optional[float] = ...) -> None: ... + MMR_FIELD_NUMBER: _ClassVar[int] + mmr: Selection.MMR + def __init__(self, mmr: _Optional[_Union[Selection.MMR, _Mapping]] = ...) -> None: ... + class SearchOperatorOptions(_message.Message): __slots__ = ("operator", "minimum_or_tokens_match") class Operator(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -67,7 +80,7 @@ class SearchOperatorOptions(_message.Message): def __init__(self, operator: _Optional[_Union[SearchOperatorOptions.Operator, str]] = ..., minimum_or_tokens_match: _Optional[int] = ...) -> None: ... class Hybrid(_message.Message): - __slots__ = ("query", "properties", "vector", "alpha", "fusion_type", "vector_bytes", "target_vectors", "near_text", "near_vector", "targets", "bm25_search_operator", "vector_distance", "vectors") + __slots__ = ("query", "properties", "vector", "alpha", "fusion_type", "vector_bytes", "target_vectors", "near_text", "near_vector", "targets", "bm25_search_operator", "alpha_param", "selection", "vector_distance", "vectors") class FusionType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () FUSION_TYPE_UNSPECIFIED: _ClassVar[Hybrid.FusionType] @@ -87,6 +100,8 @@ class Hybrid(_message.Message): NEAR_VECTOR_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] BM25_SEARCH_OPERATOR_FIELD_NUMBER: _ClassVar[int] + ALPHA_PARAM_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] VECTOR_DISTANCE_FIELD_NUMBER: _ClassVar[int] VECTORS_FIELD_NUMBER: _ClassVar[int] query: str @@ -100,12 +115,14 @@ class Hybrid(_message.Message): near_vector: NearVector targets: Targets bm25_search_operator: SearchOperatorOptions + alpha_param: float + selection: Selection vector_distance: float vectors: _containers.RepeatedCompositeFieldContainer[_base_pb2.Vectors] - def __init__(self, query: _Optional[str] = ..., properties: _Optional[_Iterable[str]] = ..., vector: _Optional[_Iterable[float]] = ..., alpha: _Optional[float] = ..., fusion_type: _Optional[_Union[Hybrid.FusionType, str]] = ..., vector_bytes: _Optional[bytes] = ..., target_vectors: _Optional[_Iterable[str]] = ..., near_text: _Optional[_Union[NearTextSearch, _Mapping]] = ..., near_vector: _Optional[_Union[NearVector, _Mapping]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., bm25_search_operator: _Optional[_Union[SearchOperatorOptions, _Mapping]] = ..., vector_distance: _Optional[float] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ...) -> None: ... + def __init__(self, query: _Optional[str] = ..., properties: _Optional[_Iterable[str]] = ..., vector: _Optional[_Iterable[float]] = ..., alpha: _Optional[float] = ..., fusion_type: _Optional[_Union[Hybrid.FusionType, str]] = ..., vector_bytes: _Optional[bytes] = ..., target_vectors: _Optional[_Iterable[str]] = ..., near_text: _Optional[_Union[NearTextSearch, _Mapping]] = ..., near_vector: _Optional[_Union[NearVector, _Mapping]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., bm25_search_operator: _Optional[_Union[SearchOperatorOptions, _Mapping]] = ..., alpha_param: _Optional[float] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ..., vector_distance: _Optional[float] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ...) -> None: ... class NearVector(_message.Message): - __slots__ = ("vector", "certainty", "distance", "vector_bytes", "target_vectors", "targets", "vector_per_target", "vector_for_targets", "vectors") + __slots__ = ("vector", "certainty", "distance", "vector_bytes", "target_vectors", "targets", "vector_per_target", "vector_for_targets", "vectors", "selection") class VectorPerTargetEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -122,6 +139,7 @@ class NearVector(_message.Message): VECTOR_PER_TARGET_FIELD_NUMBER: _ClassVar[int] VECTOR_FOR_TARGETS_FIELD_NUMBER: _ClassVar[int] VECTORS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] vector: _containers.RepeatedScalarFieldContainer[float] certainty: float distance: float @@ -131,24 +149,27 @@ class NearVector(_message.Message): vector_per_target: _containers.ScalarMap[str, bytes] vector_for_targets: _containers.RepeatedCompositeFieldContainer[VectorForTarget] vectors: _containers.RepeatedCompositeFieldContainer[_base_pb2.Vectors] - def __init__(self, vector: _Optional[_Iterable[float]] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., vector_bytes: _Optional[bytes] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., vector_per_target: _Optional[_Mapping[str, bytes]] = ..., vector_for_targets: _Optional[_Iterable[_Union[VectorForTarget, _Mapping]]] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ...) -> None: ... + selection: Selection + def __init__(self, vector: _Optional[_Iterable[float]] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., vector_bytes: _Optional[bytes] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., vector_per_target: _Optional[_Mapping[str, bytes]] = ..., vector_for_targets: _Optional[_Iterable[_Union[VectorForTarget, _Mapping]]] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearObject(_message.Message): - __slots__ = ("id", "certainty", "distance", "target_vectors", "targets") + __slots__ = ("id", "certainty", "distance", "target_vectors", "targets", "selection") ID_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] id: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, id: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, id: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearTextSearch(_message.Message): - __slots__ = ("query", "certainty", "distance", "move_to", "move_away", "target_vectors", "targets") + __slots__ = ("query", "certainty", "distance", "move_to", "move_away", "target_vectors", "targets", "selection") class Move(_message.Message): __slots__ = ("force", "concepts", "uuids") FORCE_FIELD_NUMBER: _ClassVar[int] @@ -165,6 +186,7 @@ class NearTextSearch(_message.Message): MOVE_AWAY_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] query: _containers.RepeatedScalarFieldContainer[str] certainty: float distance: float @@ -172,91 +194,104 @@ class NearTextSearch(_message.Message): move_away: NearTextSearch.Move target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, query: _Optional[_Iterable[str]] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., move_to: _Optional[_Union[NearTextSearch.Move, _Mapping]] = ..., move_away: _Optional[_Union[NearTextSearch.Move, _Mapping]] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, query: _Optional[_Iterable[str]] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., move_to: _Optional[_Union[NearTextSearch.Move, _Mapping]] = ..., move_away: _Optional[_Union[NearTextSearch.Move, _Mapping]] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearImageSearch(_message.Message): - __slots__ = ("image", "certainty", "distance", "target_vectors", "targets") + __slots__ = ("image", "certainty", "distance", "target_vectors", "targets", "selection") IMAGE_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] image: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, image: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, image: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearAudioSearch(_message.Message): - __slots__ = ("audio", "certainty", "distance", "target_vectors", "targets") + __slots__ = ("audio", "certainty", "distance", "target_vectors", "targets", "selection") AUDIO_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] audio: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, audio: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, audio: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearVideoSearch(_message.Message): - __slots__ = ("video", "certainty", "distance", "target_vectors", "targets") + __slots__ = ("video", "certainty", "distance", "target_vectors", "targets", "selection") VIDEO_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] video: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, video: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, video: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearDepthSearch(_message.Message): - __slots__ = ("depth", "certainty", "distance", "target_vectors", "targets") + __slots__ = ("depth", "certainty", "distance", "target_vectors", "targets", "selection") DEPTH_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] depth: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, depth: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, depth: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearThermalSearch(_message.Message): - __slots__ = ("thermal", "certainty", "distance", "target_vectors", "targets") + __slots__ = ("thermal", "certainty", "distance", "target_vectors", "targets", "selection") THERMAL_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] thermal: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, thermal: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, thermal: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearIMUSearch(_message.Message): - __slots__ = ("imu", "certainty", "distance", "target_vectors", "targets") + __slots__ = ("imu", "certainty", "distance", "target_vectors", "targets", "selection") IMU_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] imu: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, imu: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, imu: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class BM25(_message.Message): __slots__ = ("query", "properties", "search_operator") diff --git a/weaviate/proto/v1/v6300/v1/base_search_pb2.py b/weaviate/proto/v1/v6300/v1/base_search_pb2.py index cbf099302..b64af5269 100644 --- a/weaviate/proto/v1/v6300/v1/base_search_pb2.py +++ b/weaviate/proto/v1/v6300/v1/base_search_pb2.py @@ -2,7 +2,7 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # NO CHECKED-IN PROTOBUF GENCODE # source: v1/base_search.proto -# Protobuf Python Version: 6.30.0 +# Protobuf Python Version: 6.31.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -12,8 +12,8 @@ _runtime_version.ValidateProtobufRuntimeVersion( _runtime_version.Domain.PUBLIC, 6, - 30, - 0, + 31, + 1, '', 'v1/base_search.proto' ) @@ -25,7 +25,7 @@ from weaviate.proto.v1.v6300.v1 import base_pb2 as v1_dot_base__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14v1/base_search.proto\x12\x0bweaviate.v1\x1a\rv1/base.proto\"2\n\x10WeightsForTarget\x12\x0e\n\x06target\x18\x01 \x01(\t\x12\x0e\n\x06weight\x18\x02 \x01(\x02\"\x98\x01\n\x07Targets\x12\x16\n\x0etarget_vectors\x18\x01 \x03(\t\x12\x33\n\x0b\x63ombination\x18\x02 \x01(\x0e\x32\x1e.weaviate.v1.CombinationMethod\x12:\n\x13weights_for_targets\x18\x04 \x03(\x0b\x32\x1d.weaviate.v1.WeightsForTargetJ\x04\x08\x03\x10\x04\"`\n\x0fVectorForTarget\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0cvector_bytes\x18\x02 \x01(\x0c\x42\x02\x18\x01\x12%\n\x07vectors\x18\x03 \x03(\x0b\x32\x14.weaviate.v1.Vectors\"\xe1\x01\n\x15SearchOperatorOptions\x12=\n\x08operator\x18\x01 \x01(\x0e\x32+.weaviate.v1.SearchOperatorOptions.Operator\x12$\n\x17minimum_or_tokens_match\x18\x02 \x01(\x05H\x00\x88\x01\x01\"G\n\x08Operator\x12\x18\n\x14OPERATOR_UNSPECIFIED\x10\x00\x12\x0f\n\x0bOPERATOR_OR\x10\x01\x12\x10\n\x0cOPERATOR_AND\x10\x02\x42\x1a\n\x18_minimum_or_tokens_match\"\xd0\x04\n\x06Hybrid\x12\r\n\x05query\x18\x01 \x01(\t\x12\x12\n\nproperties\x18\x02 \x03(\t\x12\x12\n\x06vector\x18\x03 \x03(\x02\x42\x02\x18\x01\x12\r\n\x05\x61lpha\x18\x04 \x01(\x02\x12\x33\n\x0b\x66usion_type\x18\x05 \x01(\x0e\x32\x1e.weaviate.v1.Hybrid.FusionType\x12\x18\n\x0cvector_bytes\x18\x06 \x01(\x0c\x42\x02\x18\x01\x12\x1a\n\x0etarget_vectors\x18\x07 \x03(\tB\x02\x18\x01\x12.\n\tnear_text\x18\x08 \x01(\x0b\x32\x1b.weaviate.v1.NearTextSearch\x12,\n\x0bnear_vector\x18\t \x01(\x0b\x32\x17.weaviate.v1.NearVector\x12%\n\x07targets\x18\n \x01(\x0b\x32\x14.weaviate.v1.Targets\x12\x45\n\x14\x62m25_search_operator\x18\x0b \x01(\x0b\x32\".weaviate.v1.SearchOperatorOptionsH\x01\x88\x01\x01\x12\x19\n\x0fvector_distance\x18\x14 \x01(\x02H\x00\x12%\n\x07vectors\x18\x15 \x03(\x0b\x32\x14.weaviate.v1.Vectors\"a\n\nFusionType\x12\x1b\n\x17\x46USION_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46USION_TYPE_RANKED\x10\x01\x12\x1e\n\x1a\x46USION_TYPE_RELATIVE_SCORE\x10\x02\x42\x0b\n\tthresholdB\x17\n\x15_bm25_search_operator\"\xad\x03\n\nNearVector\x12\x12\n\x06vector\x18\x01 \x03(\x02\x42\x02\x18\x01\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\x12\x18\n\x0cvector_bytes\x18\x04 \x01(\x0c\x42\x02\x18\x01\x12\x1a\n\x0etarget_vectors\x18\x05 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x06 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12K\n\x11vector_per_target\x18\x07 \x03(\x0b\x32,.weaviate.v1.NearVector.VectorPerTargetEntryB\x02\x18\x01\x12\x38\n\x12vector_for_targets\x18\x08 \x03(\x0b\x32\x1c.weaviate.v1.VectorForTarget\x12%\n\x07vectors\x18\t \x03(\x0b\x32\x14.weaviate.v1.Vectors\x1a\x36\n\x14VectorPerTargetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distance\"\xa5\x01\n\nNearObject\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xf0\x02\n\x0eNearTextSearch\x12\r\n\x05query\x18\x01 \x03(\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\x12\x36\n\x07move_to\x18\x04 \x01(\x0b\x32 .weaviate.v1.NearTextSearch.MoveH\x02\x88\x01\x01\x12\x38\n\tmove_away\x18\x05 \x01(\x0b\x32 .weaviate.v1.NearTextSearch.MoveH\x03\x88\x01\x01\x12\x1a\n\x0etarget_vectors\x18\x06 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x07 \x01(\x0b\x32\x14.weaviate.v1.Targets\x1a\x36\n\x04Move\x12\r\n\x05\x66orce\x18\x01 \x01(\x02\x12\x10\n\x08\x63oncepts\x18\x02 \x03(\t\x12\r\n\x05uuids\x18\x03 \x03(\tB\x0c\n\n_certaintyB\x0b\n\t_distanceB\n\n\x08_move_toB\x0c\n\n_move_away\"\xad\x01\n\x0fNearImageSearch\x12\r\n\x05image\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xad\x01\n\x0fNearAudioSearch\x12\r\n\x05\x61udio\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xad\x01\n\x0fNearVideoSearch\x12\r\n\x05video\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xad\x01\n\x0fNearDepthSearch\x12\r\n\x05\x64\x65pth\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xb1\x01\n\x11NearThermalSearch\x12\x0f\n\x07thermal\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\xa9\x01\n\rNearIMUSearch\x12\x0b\n\x03imu\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.TargetsB\x0c\n\n_certaintyB\x0b\n\t_distance\"\x7f\n\x04\x42M25\x12\r\n\x05query\x18\x01 \x01(\t\x12\x12\n\nproperties\x18\x02 \x03(\t\x12@\n\x0fsearch_operator\x18\x03 \x01(\x0b\x32\".weaviate.v1.SearchOperatorOptionsH\x00\x88\x01\x01\x42\x12\n\x10_search_operator*\xee\x01\n\x11\x43ombinationMethod\x12\"\n\x1e\x43OMBINATION_METHOD_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x43OMBINATION_METHOD_TYPE_SUM\x10\x01\x12\x1f\n\x1b\x43OMBINATION_METHOD_TYPE_MIN\x10\x02\x12#\n\x1f\x43OMBINATION_METHOD_TYPE_AVERAGE\x10\x03\x12*\n&COMBINATION_METHOD_TYPE_RELATIVE_SCORE\x10\x04\x12\"\n\x1e\x43OMBINATION_METHOD_TYPE_MANUAL\x10\x05\x42t\n#io.weaviate.client.grpc.protocol.v1B\x17WeaviateProtoBaseSearchZ4github.com/weaviate/weaviate/grpc/generated;protocolb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14v1/base_search.proto\x12\x0bweaviate.v1\x1a\rv1/base.proto\"2\n\x10WeightsForTarget\x12\x0e\n\x06target\x18\x01 \x01(\t\x12\x0e\n\x06weight\x18\x02 \x01(\x02\"\x98\x01\n\x07Targets\x12\x16\n\x0etarget_vectors\x18\x01 \x03(\t\x12\x33\n\x0b\x63ombination\x18\x02 \x01(\x0e\x32\x1e.weaviate.v1.CombinationMethod\x12:\n\x13weights_for_targets\x18\x04 \x03(\x0b\x32\x1d.weaviate.v1.WeightsForTargetJ\x04\x08\x03\x10\x04\"`\n\x0fVectorForTarget\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0cvector_bytes\x18\x02 \x01(\x0c\x42\x02\x18\x01\x12%\n\x07vectors\x18\x03 \x03(\x0b\x32\x14.weaviate.v1.Vectors\"\x8a\x01\n\tSelection\x12)\n\x03mmr\x18\x01 \x01(\x0b\x32\x1a.weaviate.v1.Selection.MMRH\x00\x1a\x45\n\x03MMR\x12\x12\n\x05limit\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x02H\x01\x88\x01\x01\x42\x08\n\x06_limitB\n\n\x08_balanceB\x0b\n\tselection\"\xe1\x01\n\x15SearchOperatorOptions\x12=\n\x08operator\x18\x01 \x01(\x0e\x32+.weaviate.v1.SearchOperatorOptions.Operator\x12$\n\x17minimum_or_tokens_match\x18\x02 \x01(\x05H\x00\x88\x01\x01\"G\n\x08Operator\x12\x18\n\x14OPERATOR_UNSPECIFIED\x10\x00\x12\x0f\n\x0bOPERATOR_OR\x10\x01\x12\x10\n\x0cOPERATOR_AND\x10\x02\x42\x1a\n\x18_minimum_or_tokens_match\"\xbc\x05\n\x06Hybrid\x12\r\n\x05query\x18\x01 \x01(\t\x12\x12\n\nproperties\x18\x02 \x03(\t\x12\x12\n\x06vector\x18\x03 \x03(\x02\x42\x02\x18\x01\x12\x11\n\x05\x61lpha\x18\x04 \x01(\x02\x42\x02\x18\x01\x12\x33\n\x0b\x66usion_type\x18\x05 \x01(\x0e\x32\x1e.weaviate.v1.Hybrid.FusionType\x12\x18\n\x0cvector_bytes\x18\x06 \x01(\x0c\x42\x02\x18\x01\x12\x1a\n\x0etarget_vectors\x18\x07 \x03(\tB\x02\x18\x01\x12.\n\tnear_text\x18\x08 \x01(\x0b\x32\x1b.weaviate.v1.NearTextSearch\x12,\n\x0bnear_vector\x18\t \x01(\x0b\x32\x17.weaviate.v1.NearVector\x12%\n\x07targets\x18\n \x01(\x0b\x32\x14.weaviate.v1.Targets\x12\x45\n\x14\x62m25_search_operator\x18\x0b \x01(\x0b\x32\".weaviate.v1.SearchOperatorOptionsH\x01\x88\x01\x01\x12\x18\n\x0b\x61lpha_param\x18\x0c \x01(\x02H\x02\x88\x01\x01\x12.\n\tselection\x18\r \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x03\x88\x01\x01\x12\x19\n\x0fvector_distance\x18\x14 \x01(\x02H\x00\x12%\n\x07vectors\x18\x15 \x03(\x0b\x32\x14.weaviate.v1.Vectors\"a\n\nFusionType\x12\x1b\n\x17\x46USION_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12\x46USION_TYPE_RANKED\x10\x01\x12\x1e\n\x1a\x46USION_TYPE_RELATIVE_SCORE\x10\x02\x42\x0b\n\tthresholdB\x17\n\x15_bm25_search_operatorB\x0e\n\x0c_alpha_paramB\x0c\n\n_selection\"\xeb\x03\n\nNearVector\x12\x12\n\x06vector\x18\x01 \x03(\x02\x42\x02\x18\x01\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\x12\x18\n\x0cvector_bytes\x18\x04 \x01(\x0c\x42\x02\x18\x01\x12\x1a\n\x0etarget_vectors\x18\x05 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x06 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12K\n\x11vector_per_target\x18\x07 \x03(\x0b\x32,.weaviate.v1.NearVector.VectorPerTargetEntryB\x02\x18\x01\x12\x38\n\x12vector_for_targets\x18\x08 \x03(\x0b\x32\x1c.weaviate.v1.VectorForTarget\x12%\n\x07vectors\x18\t \x03(\x0b\x32\x14.weaviate.v1.Vectors\x12.\n\tselection\x18\n \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x1a\x36\n\x14VectorPerTargetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xe3\x01\n\nNearObject\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xae\x03\n\x0eNearTextSearch\x12\r\n\x05query\x18\x01 \x03(\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\x12\x36\n\x07move_to\x18\x04 \x01(\x0b\x32 .weaviate.v1.NearTextSearch.MoveH\x02\x88\x01\x01\x12\x38\n\tmove_away\x18\x05 \x01(\x0b\x32 .weaviate.v1.NearTextSearch.MoveH\x03\x88\x01\x01\x12\x1a\n\x0etarget_vectors\x18\x06 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x07 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x08 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x04\x88\x01\x01\x1a\x36\n\x04Move\x12\r\n\x05\x66orce\x18\x01 \x01(\x02\x12\x10\n\x08\x63oncepts\x18\x02 \x03(\t\x12\r\n\x05uuids\x18\x03 \x03(\tB\x0c\n\n_certaintyB\x0b\n\t_distanceB\n\n\x08_move_toB\x0c\n\n_move_awayB\x0c\n\n_selection\"\xeb\x01\n\x0fNearImageSearch\x12\r\n\x05image\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xeb\x01\n\x0fNearAudioSearch\x12\r\n\x05\x61udio\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xeb\x01\n\x0fNearVideoSearch\x12\r\n\x05video\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xeb\x01\n\x0fNearDepthSearch\x12\r\n\x05\x64\x65pth\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xef\x01\n\x11NearThermalSearch\x12\x0f\n\x07thermal\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\xe7\x01\n\rNearIMUSearch\x12\x0b\n\x03imu\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\x12\x1a\n\x0etarget_vectors\x18\x04 \x03(\tB\x02\x18\x01\x12%\n\x07targets\x18\x05 \x01(\x0b\x32\x14.weaviate.v1.Targets\x12.\n\tselection\x18\x06 \x01(\x0b\x32\x16.weaviate.v1.SelectionH\x02\x88\x01\x01\x42\x0c\n\n_certaintyB\x0b\n\t_distanceB\x0c\n\n_selection\"\x7f\n\x04\x42M25\x12\r\n\x05query\x18\x01 \x01(\t\x12\x12\n\nproperties\x18\x02 \x03(\t\x12@\n\x0fsearch_operator\x18\x03 \x01(\x0b\x32\".weaviate.v1.SearchOperatorOptionsH\x00\x88\x01\x01\x42\x12\n\x10_search_operator*\xee\x01\n\x11\x43ombinationMethod\x12\"\n\x1e\x43OMBINATION_METHOD_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x43OMBINATION_METHOD_TYPE_SUM\x10\x01\x12\x1f\n\x1b\x43OMBINATION_METHOD_TYPE_MIN\x10\x02\x12#\n\x1f\x43OMBINATION_METHOD_TYPE_AVERAGE\x10\x03\x12*\n&COMBINATION_METHOD_TYPE_RELATIVE_SCORE\x10\x04\x12\"\n\x1e\x43OMBINATION_METHOD_TYPE_MANUAL\x10\x05\x42t\n#io.weaviate.client.grpc.protocol.v1B\x17WeaviateProtoBaseSearchZ4github.com/weaviate/weaviate/grpc/generated;protocolb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -37,6 +37,8 @@ _globals['_VECTORFORTARGET'].fields_by_name['vector_bytes']._serialized_options = b'\030\001' _globals['_HYBRID'].fields_by_name['vector']._loaded_options = None _globals['_HYBRID'].fields_by_name['vector']._serialized_options = b'\030\001' + _globals['_HYBRID'].fields_by_name['alpha']._loaded_options = None + _globals['_HYBRID'].fields_by_name['alpha']._serialized_options = b'\030\001' _globals['_HYBRID'].fields_by_name['vector_bytes']._loaded_options = None _globals['_HYBRID'].fields_by_name['vector_bytes']._serialized_options = b'\030\001' _globals['_HYBRID'].fields_by_name['target_vectors']._loaded_options = None @@ -67,44 +69,48 @@ _globals['_NEARTHERMALSEARCH'].fields_by_name['target_vectors']._serialized_options = b'\030\001' _globals['_NEARIMUSEARCH'].fields_by_name['target_vectors']._loaded_options = None _globals['_NEARIMUSEARCH'].fields_by_name['target_vectors']._serialized_options = b'\030\001' - _globals['_COMBINATIONMETHOD']._serialized_start=3337 - _globals['_COMBINATIONMETHOD']._serialized_end=3575 + _globals['_COMBINATIONMETHOD']._serialized_start=4144 + _globals['_COMBINATIONMETHOD']._serialized_end=4382 _globals['_WEIGHTSFORTARGET']._serialized_start=52 _globals['_WEIGHTSFORTARGET']._serialized_end=102 _globals['_TARGETS']._serialized_start=105 _globals['_TARGETS']._serialized_end=257 _globals['_VECTORFORTARGET']._serialized_start=259 _globals['_VECTORFORTARGET']._serialized_end=355 - _globals['_SEARCHOPERATOROPTIONS']._serialized_start=358 - _globals['_SEARCHOPERATOROPTIONS']._serialized_end=583 - _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_start=484 - _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_end=555 - _globals['_HYBRID']._serialized_start=586 - _globals['_HYBRID']._serialized_end=1178 - _globals['_HYBRID_FUSIONTYPE']._serialized_start=1043 - _globals['_HYBRID_FUSIONTYPE']._serialized_end=1140 - _globals['_NEARVECTOR']._serialized_start=1181 - _globals['_NEARVECTOR']._serialized_end=1610 - _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1529 - _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1583 - _globals['_NEAROBJECT']._serialized_start=1613 - _globals['_NEAROBJECT']._serialized_end=1778 - _globals['_NEARTEXTSEARCH']._serialized_start=1781 - _globals['_NEARTEXTSEARCH']._serialized_end=2149 - _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2042 - _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2096 - _globals['_NEARIMAGESEARCH']._serialized_start=2152 - _globals['_NEARIMAGESEARCH']._serialized_end=2325 - _globals['_NEARAUDIOSEARCH']._serialized_start=2328 - _globals['_NEARAUDIOSEARCH']._serialized_end=2501 - _globals['_NEARVIDEOSEARCH']._serialized_start=2504 - _globals['_NEARVIDEOSEARCH']._serialized_end=2677 - _globals['_NEARDEPTHSEARCH']._serialized_start=2680 - _globals['_NEARDEPTHSEARCH']._serialized_end=2853 - _globals['_NEARTHERMALSEARCH']._serialized_start=2856 - _globals['_NEARTHERMALSEARCH']._serialized_end=3033 - _globals['_NEARIMUSEARCH']._serialized_start=3036 - _globals['_NEARIMUSEARCH']._serialized_end=3205 - _globals['_BM25']._serialized_start=3207 - _globals['_BM25']._serialized_end=3334 + _globals['_SELECTION']._serialized_start=358 + _globals['_SELECTION']._serialized_end=496 + _globals['_SELECTION_MMR']._serialized_start=414 + _globals['_SELECTION_MMR']._serialized_end=483 + _globals['_SEARCHOPERATOROPTIONS']._serialized_start=499 + _globals['_SEARCHOPERATOROPTIONS']._serialized_end=724 + _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_start=625 + _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_end=696 + _globals['_HYBRID']._serialized_start=727 + _globals['_HYBRID']._serialized_end=1427 + _globals['_HYBRID_FUSIONTYPE']._serialized_start=1262 + _globals['_HYBRID_FUSIONTYPE']._serialized_end=1359 + _globals['_NEARVECTOR']._serialized_start=1430 + _globals['_NEARVECTOR']._serialized_end=1921 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1826 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1880 + _globals['_NEAROBJECT']._serialized_start=1924 + _globals['_NEAROBJECT']._serialized_end=2151 + _globals['_NEARTEXTSEARCH']._serialized_start=2154 + _globals['_NEARTEXTSEARCH']._serialized_end=2584 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2463 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2517 + _globals['_NEARIMAGESEARCH']._serialized_start=2587 + _globals['_NEARIMAGESEARCH']._serialized_end=2822 + _globals['_NEARAUDIOSEARCH']._serialized_start=2825 + _globals['_NEARAUDIOSEARCH']._serialized_end=3060 + _globals['_NEARVIDEOSEARCH']._serialized_start=3063 + _globals['_NEARVIDEOSEARCH']._serialized_end=3298 + _globals['_NEARDEPTHSEARCH']._serialized_start=3301 + _globals['_NEARDEPTHSEARCH']._serialized_end=3536 + _globals['_NEARTHERMALSEARCH']._serialized_start=3539 + _globals['_NEARTHERMALSEARCH']._serialized_end=3778 + _globals['_NEARIMUSEARCH']._serialized_start=3781 + _globals['_NEARIMUSEARCH']._serialized_end=4012 + _globals['_BM25']._serialized_start=4014 + _globals['_BM25']._serialized_end=4141 # @@protoc_insertion_point(module_scope) diff --git a/weaviate/proto/v1/v6300/v1/base_search_pb2.pyi b/weaviate/proto/v1/v6300/v1/base_search_pb2.pyi index 80abcb05d..00d421164 100644 --- a/weaviate/proto/v1/v6300/v1/base_search_pb2.pyi +++ b/weaviate/proto/v1/v6300/v1/base_search_pb2.pyi @@ -51,6 +51,19 @@ class VectorForTarget(_message.Message): vectors: _containers.RepeatedCompositeFieldContainer[_base_pb2.Vectors] def __init__(self, name: _Optional[str] = ..., vector_bytes: _Optional[bytes] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ...) -> None: ... +class Selection(_message.Message): + __slots__ = ("mmr",) + class MMR(_message.Message): + __slots__ = ("limit", "balance") + LIMIT_FIELD_NUMBER: _ClassVar[int] + BALANCE_FIELD_NUMBER: _ClassVar[int] + limit: int + balance: float + def __init__(self, limit: _Optional[int] = ..., balance: _Optional[float] = ...) -> None: ... + MMR_FIELD_NUMBER: _ClassVar[int] + mmr: Selection.MMR + def __init__(self, mmr: _Optional[_Union[Selection.MMR, _Mapping]] = ...) -> None: ... + class SearchOperatorOptions(_message.Message): __slots__ = ("operator", "minimum_or_tokens_match") class Operator(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): @@ -68,7 +81,7 @@ class SearchOperatorOptions(_message.Message): def __init__(self, operator: _Optional[_Union[SearchOperatorOptions.Operator, str]] = ..., minimum_or_tokens_match: _Optional[int] = ...) -> None: ... class Hybrid(_message.Message): - __slots__ = ("query", "properties", "vector", "alpha", "fusion_type", "vector_bytes", "target_vectors", "near_text", "near_vector", "targets", "bm25_search_operator", "vector_distance", "vectors") + __slots__ = ("query", "properties", "vector", "alpha", "fusion_type", "vector_bytes", "target_vectors", "near_text", "near_vector", "targets", "bm25_search_operator", "alpha_param", "selection", "vector_distance", "vectors") class FusionType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () FUSION_TYPE_UNSPECIFIED: _ClassVar[Hybrid.FusionType] @@ -88,6 +101,8 @@ class Hybrid(_message.Message): NEAR_VECTOR_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] BM25_SEARCH_OPERATOR_FIELD_NUMBER: _ClassVar[int] + ALPHA_PARAM_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] VECTOR_DISTANCE_FIELD_NUMBER: _ClassVar[int] VECTORS_FIELD_NUMBER: _ClassVar[int] query: str @@ -101,12 +116,14 @@ class Hybrid(_message.Message): near_vector: NearVector targets: Targets bm25_search_operator: SearchOperatorOptions + alpha_param: float + selection: Selection vector_distance: float vectors: _containers.RepeatedCompositeFieldContainer[_base_pb2.Vectors] - def __init__(self, query: _Optional[str] = ..., properties: _Optional[_Iterable[str]] = ..., vector: _Optional[_Iterable[float]] = ..., alpha: _Optional[float] = ..., fusion_type: _Optional[_Union[Hybrid.FusionType, str]] = ..., vector_bytes: _Optional[bytes] = ..., target_vectors: _Optional[_Iterable[str]] = ..., near_text: _Optional[_Union[NearTextSearch, _Mapping]] = ..., near_vector: _Optional[_Union[NearVector, _Mapping]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., bm25_search_operator: _Optional[_Union[SearchOperatorOptions, _Mapping]] = ..., vector_distance: _Optional[float] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ...) -> None: ... + def __init__(self, query: _Optional[str] = ..., properties: _Optional[_Iterable[str]] = ..., vector: _Optional[_Iterable[float]] = ..., alpha: _Optional[float] = ..., fusion_type: _Optional[_Union[Hybrid.FusionType, str]] = ..., vector_bytes: _Optional[bytes] = ..., target_vectors: _Optional[_Iterable[str]] = ..., near_text: _Optional[_Union[NearTextSearch, _Mapping]] = ..., near_vector: _Optional[_Union[NearVector, _Mapping]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., bm25_search_operator: _Optional[_Union[SearchOperatorOptions, _Mapping]] = ..., alpha_param: _Optional[float] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ..., vector_distance: _Optional[float] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ...) -> None: ... class NearVector(_message.Message): - __slots__ = ("vector", "certainty", "distance", "vector_bytes", "target_vectors", "targets", "vector_per_target", "vector_for_targets", "vectors") + __slots__ = ("vector", "certainty", "distance", "vector_bytes", "target_vectors", "targets", "vector_per_target", "vector_for_targets", "vectors", "selection") class VectorPerTargetEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -123,6 +140,7 @@ class NearVector(_message.Message): VECTOR_PER_TARGET_FIELD_NUMBER: _ClassVar[int] VECTOR_FOR_TARGETS_FIELD_NUMBER: _ClassVar[int] VECTORS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] vector: _containers.RepeatedScalarFieldContainer[float] certainty: float distance: float @@ -132,24 +150,27 @@ class NearVector(_message.Message): vector_per_target: _containers.ScalarMap[str, bytes] vector_for_targets: _containers.RepeatedCompositeFieldContainer[VectorForTarget] vectors: _containers.RepeatedCompositeFieldContainer[_base_pb2.Vectors] - def __init__(self, vector: _Optional[_Iterable[float]] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., vector_bytes: _Optional[bytes] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., vector_per_target: _Optional[_Mapping[str, bytes]] = ..., vector_for_targets: _Optional[_Iterable[_Union[VectorForTarget, _Mapping]]] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ...) -> None: ... + selection: Selection + def __init__(self, vector: _Optional[_Iterable[float]] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., vector_bytes: _Optional[bytes] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., vector_per_target: _Optional[_Mapping[str, bytes]] = ..., vector_for_targets: _Optional[_Iterable[_Union[VectorForTarget, _Mapping]]] = ..., vectors: _Optional[_Iterable[_Union[_base_pb2.Vectors, _Mapping]]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearObject(_message.Message): - __slots__ = ("id", "certainty", "distance", "target_vectors", "targets") + __slots__ = ("id", "certainty", "distance", "target_vectors", "targets", "selection") ID_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] id: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, id: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, id: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearTextSearch(_message.Message): - __slots__ = ("query", "certainty", "distance", "move_to", "move_away", "target_vectors", "targets") + __slots__ = ("query", "certainty", "distance", "move_to", "move_away", "target_vectors", "targets", "selection") class Move(_message.Message): __slots__ = ("force", "concepts", "uuids") FORCE_FIELD_NUMBER: _ClassVar[int] @@ -166,6 +187,7 @@ class NearTextSearch(_message.Message): MOVE_AWAY_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] query: _containers.RepeatedScalarFieldContainer[str] certainty: float distance: float @@ -173,91 +195,104 @@ class NearTextSearch(_message.Message): move_away: NearTextSearch.Move target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, query: _Optional[_Iterable[str]] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., move_to: _Optional[_Union[NearTextSearch.Move, _Mapping]] = ..., move_away: _Optional[_Union[NearTextSearch.Move, _Mapping]] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, query: _Optional[_Iterable[str]] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., move_to: _Optional[_Union[NearTextSearch.Move, _Mapping]] = ..., move_away: _Optional[_Union[NearTextSearch.Move, _Mapping]] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearImageSearch(_message.Message): - __slots__ = ("image", "certainty", "distance", "target_vectors", "targets") + __slots__ = ("image", "certainty", "distance", "target_vectors", "targets", "selection") IMAGE_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] image: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, image: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, image: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearAudioSearch(_message.Message): - __slots__ = ("audio", "certainty", "distance", "target_vectors", "targets") + __slots__ = ("audio", "certainty", "distance", "target_vectors", "targets", "selection") AUDIO_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] audio: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, audio: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, audio: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearVideoSearch(_message.Message): - __slots__ = ("video", "certainty", "distance", "target_vectors", "targets") + __slots__ = ("video", "certainty", "distance", "target_vectors", "targets", "selection") VIDEO_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] video: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, video: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, video: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearDepthSearch(_message.Message): - __slots__ = ("depth", "certainty", "distance", "target_vectors", "targets") + __slots__ = ("depth", "certainty", "distance", "target_vectors", "targets", "selection") DEPTH_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] depth: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, depth: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, depth: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearThermalSearch(_message.Message): - __slots__ = ("thermal", "certainty", "distance", "target_vectors", "targets") + __slots__ = ("thermal", "certainty", "distance", "target_vectors", "targets", "selection") THERMAL_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] thermal: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, thermal: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, thermal: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class NearIMUSearch(_message.Message): - __slots__ = ("imu", "certainty", "distance", "target_vectors", "targets") + __slots__ = ("imu", "certainty", "distance", "target_vectors", "targets", "selection") IMU_FIELD_NUMBER: _ClassVar[int] CERTAINTY_FIELD_NUMBER: _ClassVar[int] DISTANCE_FIELD_NUMBER: _ClassVar[int] TARGET_VECTORS_FIELD_NUMBER: _ClassVar[int] TARGETS_FIELD_NUMBER: _ClassVar[int] + SELECTION_FIELD_NUMBER: _ClassVar[int] imu: str certainty: float distance: float target_vectors: _containers.RepeatedScalarFieldContainer[str] targets: Targets - def __init__(self, imu: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ...) -> None: ... + selection: Selection + def __init__(self, imu: _Optional[str] = ..., certainty: _Optional[float] = ..., distance: _Optional[float] = ..., target_vectors: _Optional[_Iterable[str]] = ..., targets: _Optional[_Union[Targets, _Mapping]] = ..., selection: _Optional[_Union[Selection, _Mapping]] = ...) -> None: ... class BM25(_message.Message): __slots__ = ("query", "properties", "search_operator")