From 4925446fdb7dc5a2993b0c718a3576faaa60724f Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 13 Mar 2026 12:04:00 +0000 Subject: [PATCH 01/25] Refactor hybrid queries to use `alpha_param` and remove `0.7` default in favour of `None` --- weaviate/collections/grpc/shared.py | 7 ++- .../queries/hybrid/generate/async_.pyi | 26 ++++---- .../queries/hybrid/generate/executor.py | 28 ++++----- .../queries/hybrid/generate/sync.pyi | 26 ++++---- .../queries/hybrid/query/async_.pyi | 26 ++++---- .../queries/hybrid/query/executor.py | 28 ++++----- .../collections/queries/hybrid/query/sync.pyi | 26 ++++---- weaviate/proto/v1/regen.sh | 2 +- weaviate/proto/v1/v4216/v1/base_search_pb2.py | 62 ++++++++++--------- .../proto/v1/v4216/v1/base_search_pb2.pyi | 6 +- weaviate/proto/v1/v5261/v1/base_search_pb2.py | 62 ++++++++++--------- .../proto/v1/v5261/v1/base_search_pb2.pyi | 6 +- weaviate/proto/v1/v6300/v1/base_search_pb2.py | 62 ++++++++++--------- .../proto/v1/v6300/v1/base_search_pb2.pyi | 6 +- 14 files changed, 195 insertions(+), 178 deletions(-) diff --git a/weaviate/collections/grpc/shared.py b/weaviate/collections/grpc/shared.py index 593811fb3..9a8949451 100644 --- a/weaviate/collections/grpc/shared.py +++ b/weaviate/collections/grpc/shared.py @@ -690,7 +690,12 @@ def _parse_hybrid( base_search_pb2.Hybrid( properties=properties, query=query, - alpha=float(alpha) if alpha is not None else None, + alpha=None + if self._weaviate_version.is_at_least(1, 36, 0) + else (alpha) + if alpha is not None + else None, + alpha_param=alpha if self._weaviate_version.is_at_least(1, 36, 0) else None, fusion_type=( cast( base_search_pb2.Hybrid.FusionType, diff --git a/weaviate/collections/queries/hybrid/generate/async_.pyi b/weaviate/collections/queries/hybrid/generate/async_.pyi index a408a9696..182892fb9 100644 --- a/weaviate/collections/queries/hybrid/generate/async_.pyi +++ b/weaviate/collections/queries/hybrid/generate/async_.pyi @@ -42,7 +42,7 @@ class _HybridGenerateAsync( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -69,7 +69,7 @@ class _HybridGenerateAsync( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -96,7 +96,7 @@ class _HybridGenerateAsync( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -123,7 +123,7 @@ class _HybridGenerateAsync( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -150,7 +150,7 @@ class _HybridGenerateAsync( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -177,7 +177,7 @@ class _HybridGenerateAsync( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -204,7 +204,7 @@ class _HybridGenerateAsync( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -231,7 +231,7 @@ class _HybridGenerateAsync( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -258,7 +258,7 @@ class _HybridGenerateAsync( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -285,7 +285,7 @@ class _HybridGenerateAsync( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -312,7 +312,7 @@ class _HybridGenerateAsync( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -339,7 +339,7 @@ class _HybridGenerateAsync( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -366,7 +366,7 @@ class _HybridGenerateAsync( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, diff --git a/weaviate/collections/queries/hybrid/generate/executor.py b/weaviate/collections/queries/hybrid/generate/executor.py index 9b6762a2b..408e434b1 100644 --- a/weaviate/collections/queries/hybrid/generate/executor.py +++ b/weaviate/collections/queries/hybrid/generate/executor.py @@ -53,7 +53,7 @@ def hybrid( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -81,7 +81,7 @@ def hybrid( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -109,7 +109,7 @@ def hybrid( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -137,7 +137,7 @@ def hybrid( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -165,7 +165,7 @@ def hybrid( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -193,7 +193,7 @@ def hybrid( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -223,7 +223,7 @@ def hybrid( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -251,7 +251,7 @@ def hybrid( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -279,7 +279,7 @@ def hybrid( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -307,7 +307,7 @@ def hybrid( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -335,7 +335,7 @@ def hybrid( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -363,7 +363,7 @@ def hybrid( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -392,7 +392,7 @@ def hybrid( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -421,7 +421,7 @@ def hybrid( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, diff --git a/weaviate/collections/queries/hybrid/generate/sync.pyi b/weaviate/collections/queries/hybrid/generate/sync.pyi index d2befe438..fc430f8f3 100644 --- a/weaviate/collections/queries/hybrid/generate/sync.pyi +++ b/weaviate/collections/queries/hybrid/generate/sync.pyi @@ -41,7 +41,7 @@ class _HybridGenerate( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -68,7 +68,7 @@ class _HybridGenerate( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -95,7 +95,7 @@ class _HybridGenerate( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -122,7 +122,7 @@ class _HybridGenerate( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -149,7 +149,7 @@ class _HybridGenerate( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -176,7 +176,7 @@ class _HybridGenerate( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -203,7 +203,7 @@ class _HybridGenerate( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -230,7 +230,7 @@ class _HybridGenerate( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -257,7 +257,7 @@ class _HybridGenerate( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -284,7 +284,7 @@ class _HybridGenerate( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -311,7 +311,7 @@ class _HybridGenerate( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -338,7 +338,7 @@ class _HybridGenerate( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -365,7 +365,7 @@ class _HybridGenerate( grouped_task: Union[str, _GroupedTask, None] = None, grouped_properties: Optional[List[str]] = None, generative_provider: Optional[_GenerativeConfigRuntime] = None, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, diff --git a/weaviate/collections/queries/hybrid/query/async_.pyi b/weaviate/collections/queries/hybrid/query/async_.pyi index 96628ea81..855da7fc5 100644 --- a/weaviate/collections/queries/hybrid/query/async_.pyi +++ b/weaviate/collections/queries/hybrid/query/async_.pyi @@ -34,7 +34,7 @@ class _HybridQueryAsync( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -57,7 +57,7 @@ class _HybridQueryAsync( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -80,7 +80,7 @@ class _HybridQueryAsync( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -103,7 +103,7 @@ class _HybridQueryAsync( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -126,7 +126,7 @@ class _HybridQueryAsync( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -149,7 +149,7 @@ class _HybridQueryAsync( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -172,7 +172,7 @@ class _HybridQueryAsync( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -195,7 +195,7 @@ class _HybridQueryAsync( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -218,7 +218,7 @@ class _HybridQueryAsync( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -241,7 +241,7 @@ class _HybridQueryAsync( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -264,7 +264,7 @@ class _HybridQueryAsync( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -287,7 +287,7 @@ class _HybridQueryAsync( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -310,7 +310,7 @@ class _HybridQueryAsync( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, diff --git a/weaviate/collections/queries/hybrid/query/executor.py b/weaviate/collections/queries/hybrid/query/executor.py index 7ed027abb..4c618f961 100644 --- a/weaviate/collections/queries/hybrid/query/executor.py +++ b/weaviate/collections/queries/hybrid/query/executor.py @@ -45,7 +45,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -69,7 +69,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -93,7 +93,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -117,7 +117,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -141,7 +141,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -165,7 +165,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -191,7 +191,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -215,7 +215,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -239,7 +239,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -263,7 +263,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -287,7 +287,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -311,7 +311,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -336,7 +336,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -361,7 +361,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, diff --git a/weaviate/collections/queries/hybrid/query/sync.pyi b/weaviate/collections/queries/hybrid/query/sync.pyi index fcf5d559b..5d40db939 100644 --- a/weaviate/collections/queries/hybrid/query/sync.pyi +++ b/weaviate/collections/queries/hybrid/query/sync.pyi @@ -34,7 +34,7 @@ class _HybridQuery( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -57,7 +57,7 @@ class _HybridQuery( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -80,7 +80,7 @@ class _HybridQuery( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -103,7 +103,7 @@ class _HybridQuery( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -126,7 +126,7 @@ class _HybridQuery( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -149,7 +149,7 @@ class _HybridQuery( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -172,7 +172,7 @@ class _HybridQuery( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -195,7 +195,7 @@ class _HybridQuery( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -218,7 +218,7 @@ class _HybridQuery( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -241,7 +241,7 @@ class _HybridQuery( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -264,7 +264,7 @@ class _HybridQuery( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -287,7 +287,7 @@ class _HybridQuery( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, @@ -310,7 +310,7 @@ class _HybridQuery( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[HybridVectorType] = None, query_properties: Optional[List[str]] = None, fusion_type: Optional[HybridFusion] = None, diff --git a/weaviate/proto/v1/regen.sh b/weaviate/proto/v1/regen.sh index 4fcf2cb16..56b5391aa 100755 --- a/weaviate/proto/v1/regen.sh +++ b/weaviate/proto/v1/regen.sh @@ -9,7 +9,7 @@ SCRIPT_DIR="${0%/*}" cd "$SCRIPT_DIR" PROJECT_ROOT=$(pwd) # Get weaviate dir from arg or by navigating up from script location -WEAVIATE_DIR="${1:-../../../../weaviate}" +WEAVIATE_DIR="${1:-../../../../core/weaviate}" echo "Weaviate directory: $WEAVIATE_DIR" echo "Project root: $PROJECT_ROOT" diff --git a/weaviate/proto/v1/v4216/v1/base_search_pb2.py b/weaviate/proto/v1/v4216/v1/base_search_pb2.py index 5767fdb57..f263cb10c 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\"\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\"\xfe\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\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\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_param\"\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') _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,8 +58,8 @@ _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=3383 + _globals['_COMBINATIONMETHOD']._serialized_end=3621 _globals['_WEIGHTSFORTARGET']._serialized_start=52 _globals['_WEIGHTSFORTARGET']._serialized_end=102 _globals['_TARGETS']._serialized_start=105 @@ -69,31 +71,31 @@ _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['_HYBRID']._serialized_end=1224 + _globals['_HYBRID_FUSIONTYPE']._serialized_start=1073 + _globals['_HYBRID_FUSIONTYPE']._serialized_end=1170 + _globals['_NEARVECTOR']._serialized_start=1227 + _globals['_NEARVECTOR']._serialized_end=1656 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1575 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1629 + _globals['_NEAROBJECT']._serialized_start=1659 + _globals['_NEAROBJECT']._serialized_end=1824 + _globals['_NEARTEXTSEARCH']._serialized_start=1827 + _globals['_NEARTEXTSEARCH']._serialized_end=2195 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2088 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2142 + _globals['_NEARIMAGESEARCH']._serialized_start=2198 + _globals['_NEARIMAGESEARCH']._serialized_end=2371 + _globals['_NEARAUDIOSEARCH']._serialized_start=2374 + _globals['_NEARAUDIOSEARCH']._serialized_end=2547 + _globals['_NEARVIDEOSEARCH']._serialized_start=2550 + _globals['_NEARVIDEOSEARCH']._serialized_end=2723 + _globals['_NEARDEPTHSEARCH']._serialized_start=2726 + _globals['_NEARDEPTHSEARCH']._serialized_end=2899 + _globals['_NEARTHERMALSEARCH']._serialized_start=2902 + _globals['_NEARTHERMALSEARCH']._serialized_end=3079 + _globals['_NEARIMUSEARCH']._serialized_start=3082 + _globals['_NEARIMUSEARCH']._serialized_end=3251 + _globals['_BM25']._serialized_start=3253 + _globals['_BM25']._serialized_end=3380 # @@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..ab8a08f38 100644 --- a/weaviate/proto/v1/v4216/v1/base_search_pb2.pyi +++ b/weaviate/proto/v1/v4216/v1/base_search_pb2.pyi @@ -67,7 +67,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", "vector_distance", "vectors"] class FusionType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = [] FUSION_TYPE_UNSPECIFIED: _ClassVar[Hybrid.FusionType] @@ -87,6 +87,7 @@ 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] VECTOR_DISTANCE_FIELD_NUMBER: _ClassVar[int] VECTORS_FIELD_NUMBER: _ClassVar[int] query: str @@ -100,9 +101,10 @@ class Hybrid(_message.Message): near_vector: NearVector targets: Targets bm25_search_operator: SearchOperatorOptions + alpha_param: float 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] = ..., 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"] diff --git a/weaviate/proto/v1/v5261/v1/base_search_pb2.py b/weaviate/proto/v1/v5261/v1/base_search_pb2.py index cde241b1e..cae3e4745 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\"\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\"\xfe\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\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\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_param\"\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') _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,8 +59,8 @@ _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=3383 + _globals['_COMBINATIONMETHOD']._serialized_end=3621 _globals['_WEIGHTSFORTARGET']._serialized_start=52 _globals['_WEIGHTSFORTARGET']._serialized_end=102 _globals['_TARGETS']._serialized_start=105 @@ -70,31 +72,31 @@ _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['_HYBRID']._serialized_end=1224 + _globals['_HYBRID_FUSIONTYPE']._serialized_start=1073 + _globals['_HYBRID_FUSIONTYPE']._serialized_end=1170 + _globals['_NEARVECTOR']._serialized_start=1227 + _globals['_NEARVECTOR']._serialized_end=1656 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1575 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1629 + _globals['_NEAROBJECT']._serialized_start=1659 + _globals['_NEAROBJECT']._serialized_end=1824 + _globals['_NEARTEXTSEARCH']._serialized_start=1827 + _globals['_NEARTEXTSEARCH']._serialized_end=2195 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2088 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2142 + _globals['_NEARIMAGESEARCH']._serialized_start=2198 + _globals['_NEARIMAGESEARCH']._serialized_end=2371 + _globals['_NEARAUDIOSEARCH']._serialized_start=2374 + _globals['_NEARAUDIOSEARCH']._serialized_end=2547 + _globals['_NEARVIDEOSEARCH']._serialized_start=2550 + _globals['_NEARVIDEOSEARCH']._serialized_end=2723 + _globals['_NEARDEPTHSEARCH']._serialized_start=2726 + _globals['_NEARDEPTHSEARCH']._serialized_end=2899 + _globals['_NEARTHERMALSEARCH']._serialized_start=2902 + _globals['_NEARTHERMALSEARCH']._serialized_end=3079 + _globals['_NEARIMUSEARCH']._serialized_start=3082 + _globals['_NEARIMUSEARCH']._serialized_end=3251 + _globals['_BM25']._serialized_start=3253 + _globals['_BM25']._serialized_end=3380 # @@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..ca6f234bc 100644 --- a/weaviate/proto/v1/v5261/v1/base_search_pb2.pyi +++ b/weaviate/proto/v1/v5261/v1/base_search_pb2.pyi @@ -67,7 +67,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", "vector_distance", "vectors") class FusionType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () FUSION_TYPE_UNSPECIFIED: _ClassVar[Hybrid.FusionType] @@ -87,6 +87,7 @@ 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] VECTOR_DISTANCE_FIELD_NUMBER: _ClassVar[int] VECTORS_FIELD_NUMBER: _ClassVar[int] query: str @@ -100,9 +101,10 @@ class Hybrid(_message.Message): near_vector: NearVector targets: Targets bm25_search_operator: SearchOperatorOptions + alpha_param: float 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] = ..., 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") diff --git a/weaviate/proto/v1/v6300/v1/base_search_pb2.py b/weaviate/proto/v1/v6300/v1/base_search_pb2.py index cbf099302..bc7884f55 100644 --- a/weaviate/proto/v1/v6300/v1/base_search_pb2.py +++ b/weaviate/proto/v1/v6300/v1/base_search_pb2.py @@ -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\"\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\"\xfe\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\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\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_param\"\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') _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,8 +69,8 @@ _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=3383 + _globals['_COMBINATIONMETHOD']._serialized_end=3621 _globals['_WEIGHTSFORTARGET']._serialized_start=52 _globals['_WEIGHTSFORTARGET']._serialized_end=102 _globals['_TARGETS']._serialized_start=105 @@ -80,31 +82,31 @@ _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['_HYBRID']._serialized_end=1224 + _globals['_HYBRID_FUSIONTYPE']._serialized_start=1073 + _globals['_HYBRID_FUSIONTYPE']._serialized_end=1170 + _globals['_NEARVECTOR']._serialized_start=1227 + _globals['_NEARVECTOR']._serialized_end=1656 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1575 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1629 + _globals['_NEAROBJECT']._serialized_start=1659 + _globals['_NEAROBJECT']._serialized_end=1824 + _globals['_NEARTEXTSEARCH']._serialized_start=1827 + _globals['_NEARTEXTSEARCH']._serialized_end=2195 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2088 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2142 + _globals['_NEARIMAGESEARCH']._serialized_start=2198 + _globals['_NEARIMAGESEARCH']._serialized_end=2371 + _globals['_NEARAUDIOSEARCH']._serialized_start=2374 + _globals['_NEARAUDIOSEARCH']._serialized_end=2547 + _globals['_NEARVIDEOSEARCH']._serialized_start=2550 + _globals['_NEARVIDEOSEARCH']._serialized_end=2723 + _globals['_NEARDEPTHSEARCH']._serialized_start=2726 + _globals['_NEARDEPTHSEARCH']._serialized_end=2899 + _globals['_NEARTHERMALSEARCH']._serialized_start=2902 + _globals['_NEARTHERMALSEARCH']._serialized_end=3079 + _globals['_NEARIMUSEARCH']._serialized_start=3082 + _globals['_NEARIMUSEARCH']._serialized_end=3251 + _globals['_BM25']._serialized_start=3253 + _globals['_BM25']._serialized_end=3380 # @@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..9ad165a42 100644 --- a/weaviate/proto/v1/v6300/v1/base_search_pb2.pyi +++ b/weaviate/proto/v1/v6300/v1/base_search_pb2.pyi @@ -68,7 +68,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", "vector_distance", "vectors") class FusionType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () FUSION_TYPE_UNSPECIFIED: _ClassVar[Hybrid.FusionType] @@ -88,6 +88,7 @@ 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] VECTOR_DISTANCE_FIELD_NUMBER: _ClassVar[int] VECTORS_FIELD_NUMBER: _ClassVar[int] query: str @@ -101,9 +102,10 @@ class Hybrid(_message.Message): near_vector: NearVector targets: Targets bm25_search_operator: SearchOperatorOptions + alpha_param: float 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] = ..., 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") From 1899ffdb5959a50e69ae7fe1afcac87ab72654b8 Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Mon, 16 Mar 2026 12:12:49 +0000 Subject: [PATCH 02/25] Remove mistakenly commited local change to `regen.sh` --- weaviate/proto/v1/regen.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/weaviate/proto/v1/regen.sh b/weaviate/proto/v1/regen.sh index 56b5391aa..4fcf2cb16 100755 --- a/weaviate/proto/v1/regen.sh +++ b/weaviate/proto/v1/regen.sh @@ -9,7 +9,7 @@ SCRIPT_DIR="${0%/*}" cd "$SCRIPT_DIR" PROJECT_ROOT=$(pwd) # Get weaviate dir from arg or by navigating up from script location -WEAVIATE_DIR="${1:-../../../../core/weaviate}" +WEAVIATE_DIR="${1:-../../../../weaviate}" echo "Weaviate directory: $WEAVIATE_DIR" echo "Project root: $PROJECT_ROOT" From c057270f76b495bafbc33ffe601452b4f482a2e0 Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Mon, 16 Mar 2026 12:13:51 +0000 Subject: [PATCH 03/25] Update logic to use new proto message --- weaviate/collections/grpc/shared.py | 1 + weaviate/proto/v1/v4216/v1/base_search_pb2.py | 60 +++++++++---------- .../proto/v1/v4216/v1/base_search_pb2.pyi | 6 +- weaviate/proto/v1/v5261/v1/base_search_pb2.py | 60 +++++++++---------- .../proto/v1/v5261/v1/base_search_pb2.pyi | 6 +- weaviate/proto/v1/v6300/v1/base_search_pb2.py | 60 +++++++++---------- .../proto/v1/v6300/v1/base_search_pb2.pyi | 6 +- 7 files changed, 103 insertions(+), 96 deletions(-) diff --git a/weaviate/collections/grpc/shared.py b/weaviate/collections/grpc/shared.py index 9a8949451..92af251c5 100644 --- a/weaviate/collections/grpc/shared.py +++ b/weaviate/collections/grpc/shared.py @@ -696,6 +696,7 @@ def _parse_hybrid( if alpha is not None else None, alpha_param=alpha if self._weaviate_version.is_at_least(1, 36, 0) else None, + use_alpha_param=self._weaviate_version.is_at_least(1, 36, 0), fusion_type=( cast( base_search_pb2.Hybrid.FusionType, diff --git a/weaviate/proto/v1/v4216/v1/base_search_pb2.py b/weaviate/proto/v1/v4216/v1/base_search_pb2.py index f263cb10c..3abd15ebf 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\"\xfe\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\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\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_param\"\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\"\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\"\x97\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\x17\n\x0fuse_alpha_param\x18\r \x01(\x08\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_param\"\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') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -58,8 +58,8 @@ _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=3383 - _globals['_COMBINATIONMETHOD']._serialized_end=3621 + _globals['_COMBINATIONMETHOD']._serialized_start=3408 + _globals['_COMBINATIONMETHOD']._serialized_end=3646 _globals['_WEIGHTSFORTARGET']._serialized_start=52 _globals['_WEIGHTSFORTARGET']._serialized_end=102 _globals['_TARGETS']._serialized_start=105 @@ -71,31 +71,31 @@ _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_start=484 _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_end=555 _globals['_HYBRID']._serialized_start=586 - _globals['_HYBRID']._serialized_end=1224 - _globals['_HYBRID_FUSIONTYPE']._serialized_start=1073 - _globals['_HYBRID_FUSIONTYPE']._serialized_end=1170 - _globals['_NEARVECTOR']._serialized_start=1227 - _globals['_NEARVECTOR']._serialized_end=1656 - _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1575 - _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1629 - _globals['_NEAROBJECT']._serialized_start=1659 - _globals['_NEAROBJECT']._serialized_end=1824 - _globals['_NEARTEXTSEARCH']._serialized_start=1827 - _globals['_NEARTEXTSEARCH']._serialized_end=2195 - _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2088 - _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2142 - _globals['_NEARIMAGESEARCH']._serialized_start=2198 - _globals['_NEARIMAGESEARCH']._serialized_end=2371 - _globals['_NEARAUDIOSEARCH']._serialized_start=2374 - _globals['_NEARAUDIOSEARCH']._serialized_end=2547 - _globals['_NEARVIDEOSEARCH']._serialized_start=2550 - _globals['_NEARVIDEOSEARCH']._serialized_end=2723 - _globals['_NEARDEPTHSEARCH']._serialized_start=2726 - _globals['_NEARDEPTHSEARCH']._serialized_end=2899 - _globals['_NEARTHERMALSEARCH']._serialized_start=2902 - _globals['_NEARTHERMALSEARCH']._serialized_end=3079 - _globals['_NEARIMUSEARCH']._serialized_start=3082 - _globals['_NEARIMUSEARCH']._serialized_end=3251 - _globals['_BM25']._serialized_start=3253 - _globals['_BM25']._serialized_end=3380 + _globals['_HYBRID']._serialized_end=1249 + _globals['_HYBRID_FUSIONTYPE']._serialized_start=1098 + _globals['_HYBRID_FUSIONTYPE']._serialized_end=1195 + _globals['_NEARVECTOR']._serialized_start=1252 + _globals['_NEARVECTOR']._serialized_end=1681 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1600 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1654 + _globals['_NEAROBJECT']._serialized_start=1684 + _globals['_NEAROBJECT']._serialized_end=1849 + _globals['_NEARTEXTSEARCH']._serialized_start=1852 + _globals['_NEARTEXTSEARCH']._serialized_end=2220 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2113 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2167 + _globals['_NEARIMAGESEARCH']._serialized_start=2223 + _globals['_NEARIMAGESEARCH']._serialized_end=2396 + _globals['_NEARAUDIOSEARCH']._serialized_start=2399 + _globals['_NEARAUDIOSEARCH']._serialized_end=2572 + _globals['_NEARVIDEOSEARCH']._serialized_start=2575 + _globals['_NEARVIDEOSEARCH']._serialized_end=2748 + _globals['_NEARDEPTHSEARCH']._serialized_start=2751 + _globals['_NEARDEPTHSEARCH']._serialized_end=2924 + _globals['_NEARTHERMALSEARCH']._serialized_start=2927 + _globals['_NEARTHERMALSEARCH']._serialized_end=3104 + _globals['_NEARIMUSEARCH']._serialized_start=3107 + _globals['_NEARIMUSEARCH']._serialized_end=3276 + _globals['_BM25']._serialized_start=3278 + _globals['_BM25']._serialized_end=3405 # @@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 ab8a08f38..440631c88 100644 --- a/weaviate/proto/v1/v4216/v1/base_search_pb2.pyi +++ b/weaviate/proto/v1/v4216/v1/base_search_pb2.pyi @@ -67,7 +67,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", "alpha_param", "vector_distance", "vectors"] + __slots__ = ["query", "properties", "vector", "alpha", "fusion_type", "vector_bytes", "target_vectors", "near_text", "near_vector", "targets", "bm25_search_operator", "alpha_param", "use_alpha_param", "vector_distance", "vectors"] class FusionType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = [] FUSION_TYPE_UNSPECIFIED: _ClassVar[Hybrid.FusionType] @@ -88,6 +88,7 @@ class Hybrid(_message.Message): TARGETS_FIELD_NUMBER: _ClassVar[int] BM25_SEARCH_OPERATOR_FIELD_NUMBER: _ClassVar[int] ALPHA_PARAM_FIELD_NUMBER: _ClassVar[int] + USE_ALPHA_PARAM_FIELD_NUMBER: _ClassVar[int] VECTOR_DISTANCE_FIELD_NUMBER: _ClassVar[int] VECTORS_FIELD_NUMBER: _ClassVar[int] query: str @@ -102,9 +103,10 @@ class Hybrid(_message.Message): targets: Targets bm25_search_operator: SearchOperatorOptions alpha_param: float + use_alpha_param: bool 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]] = ..., alpha_param: _Optional[float] = ..., 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] = ..., use_alpha_param: bool = ..., 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"] diff --git a/weaviate/proto/v1/v5261/v1/base_search_pb2.py b/weaviate/proto/v1/v5261/v1/base_search_pb2.py index cae3e4745..2658b6cc5 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\"\xfe\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\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\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_param\"\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\"\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\"\x97\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\x17\n\x0fuse_alpha_param\x18\r \x01(\x08\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_param\"\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') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -59,8 +59,8 @@ _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=3383 - _globals['_COMBINATIONMETHOD']._serialized_end=3621 + _globals['_COMBINATIONMETHOD']._serialized_start=3408 + _globals['_COMBINATIONMETHOD']._serialized_end=3646 _globals['_WEIGHTSFORTARGET']._serialized_start=52 _globals['_WEIGHTSFORTARGET']._serialized_end=102 _globals['_TARGETS']._serialized_start=105 @@ -72,31 +72,31 @@ _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_start=484 _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_end=555 _globals['_HYBRID']._serialized_start=586 - _globals['_HYBRID']._serialized_end=1224 - _globals['_HYBRID_FUSIONTYPE']._serialized_start=1073 - _globals['_HYBRID_FUSIONTYPE']._serialized_end=1170 - _globals['_NEARVECTOR']._serialized_start=1227 - _globals['_NEARVECTOR']._serialized_end=1656 - _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1575 - _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1629 - _globals['_NEAROBJECT']._serialized_start=1659 - _globals['_NEAROBJECT']._serialized_end=1824 - _globals['_NEARTEXTSEARCH']._serialized_start=1827 - _globals['_NEARTEXTSEARCH']._serialized_end=2195 - _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2088 - _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2142 - _globals['_NEARIMAGESEARCH']._serialized_start=2198 - _globals['_NEARIMAGESEARCH']._serialized_end=2371 - _globals['_NEARAUDIOSEARCH']._serialized_start=2374 - _globals['_NEARAUDIOSEARCH']._serialized_end=2547 - _globals['_NEARVIDEOSEARCH']._serialized_start=2550 - _globals['_NEARVIDEOSEARCH']._serialized_end=2723 - _globals['_NEARDEPTHSEARCH']._serialized_start=2726 - _globals['_NEARDEPTHSEARCH']._serialized_end=2899 - _globals['_NEARTHERMALSEARCH']._serialized_start=2902 - _globals['_NEARTHERMALSEARCH']._serialized_end=3079 - _globals['_NEARIMUSEARCH']._serialized_start=3082 - _globals['_NEARIMUSEARCH']._serialized_end=3251 - _globals['_BM25']._serialized_start=3253 - _globals['_BM25']._serialized_end=3380 + _globals['_HYBRID']._serialized_end=1249 + _globals['_HYBRID_FUSIONTYPE']._serialized_start=1098 + _globals['_HYBRID_FUSIONTYPE']._serialized_end=1195 + _globals['_NEARVECTOR']._serialized_start=1252 + _globals['_NEARVECTOR']._serialized_end=1681 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1600 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1654 + _globals['_NEAROBJECT']._serialized_start=1684 + _globals['_NEAROBJECT']._serialized_end=1849 + _globals['_NEARTEXTSEARCH']._serialized_start=1852 + _globals['_NEARTEXTSEARCH']._serialized_end=2220 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2113 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2167 + _globals['_NEARIMAGESEARCH']._serialized_start=2223 + _globals['_NEARIMAGESEARCH']._serialized_end=2396 + _globals['_NEARAUDIOSEARCH']._serialized_start=2399 + _globals['_NEARAUDIOSEARCH']._serialized_end=2572 + _globals['_NEARVIDEOSEARCH']._serialized_start=2575 + _globals['_NEARVIDEOSEARCH']._serialized_end=2748 + _globals['_NEARDEPTHSEARCH']._serialized_start=2751 + _globals['_NEARDEPTHSEARCH']._serialized_end=2924 + _globals['_NEARTHERMALSEARCH']._serialized_start=2927 + _globals['_NEARTHERMALSEARCH']._serialized_end=3104 + _globals['_NEARIMUSEARCH']._serialized_start=3107 + _globals['_NEARIMUSEARCH']._serialized_end=3276 + _globals['_BM25']._serialized_start=3278 + _globals['_BM25']._serialized_end=3405 # @@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 ca6f234bc..b89f04bfe 100644 --- a/weaviate/proto/v1/v5261/v1/base_search_pb2.pyi +++ b/weaviate/proto/v1/v5261/v1/base_search_pb2.pyi @@ -67,7 +67,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", "alpha_param", "vector_distance", "vectors") + __slots__ = ("query", "properties", "vector", "alpha", "fusion_type", "vector_bytes", "target_vectors", "near_text", "near_vector", "targets", "bm25_search_operator", "alpha_param", "use_alpha_param", "vector_distance", "vectors") class FusionType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () FUSION_TYPE_UNSPECIFIED: _ClassVar[Hybrid.FusionType] @@ -88,6 +88,7 @@ class Hybrid(_message.Message): TARGETS_FIELD_NUMBER: _ClassVar[int] BM25_SEARCH_OPERATOR_FIELD_NUMBER: _ClassVar[int] ALPHA_PARAM_FIELD_NUMBER: _ClassVar[int] + USE_ALPHA_PARAM_FIELD_NUMBER: _ClassVar[int] VECTOR_DISTANCE_FIELD_NUMBER: _ClassVar[int] VECTORS_FIELD_NUMBER: _ClassVar[int] query: str @@ -102,9 +103,10 @@ class Hybrid(_message.Message): targets: Targets bm25_search_operator: SearchOperatorOptions alpha_param: float + use_alpha_param: bool 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]] = ..., alpha_param: _Optional[float] = ..., 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] = ..., use_alpha_param: bool = ..., 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") diff --git a/weaviate/proto/v1/v6300/v1/base_search_pb2.py b/weaviate/proto/v1/v6300/v1/base_search_pb2.py index bc7884f55..9a19ea0ec 100644 --- a/weaviate/proto/v1/v6300/v1/base_search_pb2.py +++ b/weaviate/proto/v1/v6300/v1/base_search_pb2.py @@ -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\"\xfe\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\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\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_param\"\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\"\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\"\x97\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\x17\n\x0fuse_alpha_param\x18\r \x01(\x08\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_param\"\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') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -69,8 +69,8 @@ _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=3383 - _globals['_COMBINATIONMETHOD']._serialized_end=3621 + _globals['_COMBINATIONMETHOD']._serialized_start=3408 + _globals['_COMBINATIONMETHOD']._serialized_end=3646 _globals['_WEIGHTSFORTARGET']._serialized_start=52 _globals['_WEIGHTSFORTARGET']._serialized_end=102 _globals['_TARGETS']._serialized_start=105 @@ -82,31 +82,31 @@ _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_start=484 _globals['_SEARCHOPERATOROPTIONS_OPERATOR']._serialized_end=555 _globals['_HYBRID']._serialized_start=586 - _globals['_HYBRID']._serialized_end=1224 - _globals['_HYBRID_FUSIONTYPE']._serialized_start=1073 - _globals['_HYBRID_FUSIONTYPE']._serialized_end=1170 - _globals['_NEARVECTOR']._serialized_start=1227 - _globals['_NEARVECTOR']._serialized_end=1656 - _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1575 - _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1629 - _globals['_NEAROBJECT']._serialized_start=1659 - _globals['_NEAROBJECT']._serialized_end=1824 - _globals['_NEARTEXTSEARCH']._serialized_start=1827 - _globals['_NEARTEXTSEARCH']._serialized_end=2195 - _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2088 - _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2142 - _globals['_NEARIMAGESEARCH']._serialized_start=2198 - _globals['_NEARIMAGESEARCH']._serialized_end=2371 - _globals['_NEARAUDIOSEARCH']._serialized_start=2374 - _globals['_NEARAUDIOSEARCH']._serialized_end=2547 - _globals['_NEARVIDEOSEARCH']._serialized_start=2550 - _globals['_NEARVIDEOSEARCH']._serialized_end=2723 - _globals['_NEARDEPTHSEARCH']._serialized_start=2726 - _globals['_NEARDEPTHSEARCH']._serialized_end=2899 - _globals['_NEARTHERMALSEARCH']._serialized_start=2902 - _globals['_NEARTHERMALSEARCH']._serialized_end=3079 - _globals['_NEARIMUSEARCH']._serialized_start=3082 - _globals['_NEARIMUSEARCH']._serialized_end=3251 - _globals['_BM25']._serialized_start=3253 - _globals['_BM25']._serialized_end=3380 + _globals['_HYBRID']._serialized_end=1249 + _globals['_HYBRID_FUSIONTYPE']._serialized_start=1098 + _globals['_HYBRID_FUSIONTYPE']._serialized_end=1195 + _globals['_NEARVECTOR']._serialized_start=1252 + _globals['_NEARVECTOR']._serialized_end=1681 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_start=1600 + _globals['_NEARVECTOR_VECTORPERTARGETENTRY']._serialized_end=1654 + _globals['_NEAROBJECT']._serialized_start=1684 + _globals['_NEAROBJECT']._serialized_end=1849 + _globals['_NEARTEXTSEARCH']._serialized_start=1852 + _globals['_NEARTEXTSEARCH']._serialized_end=2220 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_start=2113 + _globals['_NEARTEXTSEARCH_MOVE']._serialized_end=2167 + _globals['_NEARIMAGESEARCH']._serialized_start=2223 + _globals['_NEARIMAGESEARCH']._serialized_end=2396 + _globals['_NEARAUDIOSEARCH']._serialized_start=2399 + _globals['_NEARAUDIOSEARCH']._serialized_end=2572 + _globals['_NEARVIDEOSEARCH']._serialized_start=2575 + _globals['_NEARVIDEOSEARCH']._serialized_end=2748 + _globals['_NEARDEPTHSEARCH']._serialized_start=2751 + _globals['_NEARDEPTHSEARCH']._serialized_end=2924 + _globals['_NEARTHERMALSEARCH']._serialized_start=2927 + _globals['_NEARTHERMALSEARCH']._serialized_end=3104 + _globals['_NEARIMUSEARCH']._serialized_start=3107 + _globals['_NEARIMUSEARCH']._serialized_end=3276 + _globals['_BM25']._serialized_start=3278 + _globals['_BM25']._serialized_end=3405 # @@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 9ad165a42..67a53e25a 100644 --- a/weaviate/proto/v1/v6300/v1/base_search_pb2.pyi +++ b/weaviate/proto/v1/v6300/v1/base_search_pb2.pyi @@ -68,7 +68,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", "alpha_param", "vector_distance", "vectors") + __slots__ = ("query", "properties", "vector", "alpha", "fusion_type", "vector_bytes", "target_vectors", "near_text", "near_vector", "targets", "bm25_search_operator", "alpha_param", "use_alpha_param", "vector_distance", "vectors") class FusionType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () FUSION_TYPE_UNSPECIFIED: _ClassVar[Hybrid.FusionType] @@ -89,6 +89,7 @@ class Hybrid(_message.Message): TARGETS_FIELD_NUMBER: _ClassVar[int] BM25_SEARCH_OPERATOR_FIELD_NUMBER: _ClassVar[int] ALPHA_PARAM_FIELD_NUMBER: _ClassVar[int] + USE_ALPHA_PARAM_FIELD_NUMBER: _ClassVar[int] VECTOR_DISTANCE_FIELD_NUMBER: _ClassVar[int] VECTORS_FIELD_NUMBER: _ClassVar[int] query: str @@ -103,9 +104,10 @@ class Hybrid(_message.Message): targets: Targets bm25_search_operator: SearchOperatorOptions alpha_param: float + use_alpha_param: bool 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]] = ..., alpha_param: _Optional[float] = ..., 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] = ..., use_alpha_param: bool = ..., 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") From 8e5d54d7cd09fc20bc4f1f87b7678b1cdafaa05c Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Mon, 16 Mar 2026 12:14:23 +0000 Subject: [PATCH 04/25] Change formatting --- weaviate/collections/grpc/shared.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/weaviate/collections/grpc/shared.py b/weaviate/collections/grpc/shared.py index 92af251c5..c5131c51e 100644 --- a/weaviate/collections/grpc/shared.py +++ b/weaviate/collections/grpc/shared.py @@ -692,7 +692,7 @@ def _parse_hybrid( query=query, alpha=None if self._weaviate_version.is_at_least(1, 36, 0) - else (alpha) + else alpha if alpha is not None else None, alpha_param=alpha if self._weaviate_version.is_at_least(1, 36, 0) else None, From 367ce7965ad5785f54ac647dc16a23fe5c4894cb Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Mon, 16 Mar 2026 12:15:54 +0000 Subject: [PATCH 05/25] Tidy version check code --- weaviate/collections/grpc/shared.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/weaviate/collections/grpc/shared.py b/weaviate/collections/grpc/shared.py index c5131c51e..ff538020c 100644 --- a/weaviate/collections/grpc/shared.py +++ b/weaviate/collections/grpc/shared.py @@ -686,17 +686,14 @@ def _parse_hybrid( else: vector_bytes = vector_bytes_tmp + is_1_36 = self._weaviate_version.is_at_least(1, 36, 0) return ( base_search_pb2.Hybrid( properties=properties, query=query, - alpha=None - if self._weaviate_version.is_at_least(1, 36, 0) - else alpha - if alpha is not None - else None, - alpha_param=alpha if self._weaviate_version.is_at_least(1, 36, 0) else None, - use_alpha_param=self._weaviate_version.is_at_least(1, 36, 0), + alpha=None if is_1_36 else (alpha if alpha is not None else None), + alpha_param=alpha if is_1_36 else None, + use_alpha_param=is_1_36, fusion_type=( cast( base_search_pb2.Hybrid.FusionType, From 81414a11736c60f532fee516e9ad7a4999092265 Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Mon, 16 Mar 2026 12:17:52 +0000 Subject: [PATCH 06/25] Parse correct default for BC if server < 1.36 --- weaviate/collections/grpc/shared.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/weaviate/collections/grpc/shared.py b/weaviate/collections/grpc/shared.py index ff538020c..6a08e9406 100644 --- a/weaviate/collections/grpc/shared.py +++ b/weaviate/collections/grpc/shared.py @@ -691,7 +691,7 @@ def _parse_hybrid( base_search_pb2.Hybrid( properties=properties, query=query, - alpha=None if is_1_36 else (alpha if alpha is not None else None), + alpha=None if is_1_36 else (alpha if alpha is not None else 0.7), alpha_param=alpha if is_1_36 else None, use_alpha_param=is_1_36, fusion_type=( From a13da2373b9f26c5bb4bb9d136e5c53a81df1251 Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Mon, 16 Mar 2026 12:19:47 +0000 Subject: [PATCH 07/25] Update CI image --- .github/workflows/main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 1fa7afb20..1edbe48cf 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -28,7 +28,7 @@ env: WEAVIATE_134: 1.34.5 WEAVIATE_135: 1.35.0 WEAVIATE_136: 1.36.0 - WEAVIATE_137: 1.37.0-dev-29d5c87.amd64 + WEAVIATE_137: 1.37.0-dev-8ff93a2.amd64 jobs: From 7abe7f534e5976c28c6fc489111d2080489612e0 Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Mon, 16 Mar 2026 15:00:29 +0000 Subject: [PATCH 08/25] Fix wrong version comparison --- weaviate/collections/grpc/shared.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/weaviate/collections/grpc/shared.py b/weaviate/collections/grpc/shared.py index 6a08e9406..cc3be7ec1 100644 --- a/weaviate/collections/grpc/shared.py +++ b/weaviate/collections/grpc/shared.py @@ -686,14 +686,14 @@ def _parse_hybrid( else: vector_bytes = vector_bytes_tmp - is_1_36 = self._weaviate_version.is_at_least(1, 36, 0) + is_1_37 = self._weaviate_version.is_at_least(1, 37, 0) return ( base_search_pb2.Hybrid( properties=properties, query=query, - alpha=None if is_1_36 else (alpha if alpha is not None else 0.7), - alpha_param=alpha if is_1_36 else None, - use_alpha_param=is_1_36, + alpha=None if is_1_37 else (alpha if alpha is not None else 0.7), + alpha_param=alpha if is_1_37 else None, + use_alpha_param=is_1_37, fusion_type=( cast( base_search_pb2.Hybrid.FusionType, From b5f5e559e73dbefcc5b9487aa045ade07eee0062 Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Mon, 16 Mar 2026 15:12:09 +0000 Subject: [PATCH 09/25] Fix typo in ci --- .github/workflows/main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 1edbe48cf..cef92023c 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -310,7 +310,7 @@ jobs: $WEAVIATE_133, $WEAVIATE_134, $WEAVIATE_135, - $WEAVIATE_136 + $WEAVIATE_136, $WEAVIATE_137 ] steps: From 47841d4ed251bfd6b35da5a4030993d697a2598d Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Mon, 16 Mar 2026 16:13:15 +0000 Subject: [PATCH 10/25] Update CI image --- .github/workflows/main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index cef92023c..43253fbb4 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -28,7 +28,7 @@ env: WEAVIATE_134: 1.34.5 WEAVIATE_135: 1.35.0 WEAVIATE_136: 1.36.0 - WEAVIATE_137: 1.37.0-dev-8ff93a2.amd64 + WEAVIATE_137: 1.37.0-dev-4e2d51d.amd64 jobs: From e305b334a2e9b05908801d79c31c1a11f68785be Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Mon, 16 Mar 2026 16:14:59 +0000 Subject: [PATCH 11/25] Remove client-side default from aggregate queries --- weaviate/collections/aggregations/hybrid/async_.pyi | 6 +++--- weaviate/collections/aggregations/hybrid/executor.py | 8 ++++---- weaviate/collections/aggregations/hybrid/sync.pyi | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/weaviate/collections/aggregations/hybrid/async_.pyi b/weaviate/collections/aggregations/hybrid/async_.pyi index 8f217a5d4..f1e4b72ed 100644 --- a/weaviate/collections/aggregations/hybrid/async_.pyi +++ b/weaviate/collections/aggregations/hybrid/async_.pyi @@ -19,7 +19,7 @@ class _HybridAsync(_HybridExecutor[ConnectionAsync]): self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[List[float]] = None, query_properties: Optional[List[str]] = None, object_limit: Optional[int] = None, @@ -36,7 +36,7 @@ class _HybridAsync(_HybridExecutor[ConnectionAsync]): self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[List[float]] = None, query_properties: Optional[List[str]] = None, object_limit: Optional[int] = None, @@ -53,7 +53,7 @@ class _HybridAsync(_HybridExecutor[ConnectionAsync]): self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[List[float]] = None, query_properties: Optional[List[str]] = None, object_limit: Optional[int] = None, diff --git a/weaviate/collections/aggregations/hybrid/executor.py b/weaviate/collections/aggregations/hybrid/executor.py index fae005c9c..c2c87a68f 100644 --- a/weaviate/collections/aggregations/hybrid/executor.py +++ b/weaviate/collections/aggregations/hybrid/executor.py @@ -22,7 +22,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[List[float]] = None, query_properties: Optional[List[str]] = None, object_limit: Optional[int] = None, @@ -40,7 +40,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[List[float]] = None, query_properties: Optional[List[str]] = None, object_limit: Optional[int] = None, @@ -58,7 +58,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[List[float]] = None, query_properties: Optional[List[str]] = None, object_limit: Optional[int] = None, @@ -75,7 +75,7 @@ def hybrid( self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[List[float]] = None, query_properties: Optional[List[str]] = None, object_limit: Optional[int] = None, diff --git a/weaviate/collections/aggregations/hybrid/sync.pyi b/weaviate/collections/aggregations/hybrid/sync.pyi index 81d632f2e..8656fb319 100644 --- a/weaviate/collections/aggregations/hybrid/sync.pyi +++ b/weaviate/collections/aggregations/hybrid/sync.pyi @@ -19,7 +19,7 @@ class _Hybrid(_HybridExecutor[ConnectionSync]): self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[List[float]] = None, query_properties: Optional[List[str]] = None, object_limit: Optional[int] = None, @@ -36,7 +36,7 @@ class _Hybrid(_HybridExecutor[ConnectionSync]): self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[List[float]] = None, query_properties: Optional[List[str]] = None, object_limit: Optional[int] = None, @@ -53,7 +53,7 @@ class _Hybrid(_HybridExecutor[ConnectionSync]): self, query: Optional[str], *, - alpha: NUMBER = 0.7, + alpha: Optional[NUMBER] = None, vector: Optional[List[float]] = None, query_properties: Optional[List[str]] = None, object_limit: Optional[int] = None, From 8520a1c4f418f767732404fc4c6c44e9eef722df Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 20 Mar 2026 11:58:41 +0000 Subject: [PATCH 12/25] Update ver check and CI tags --- .github/workflows/main.yaml | 15 +++++++-------- weaviate/collections/grpc/shared.py | 10 ++++++---- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 43253fbb4..d884891c0 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -22,14 +22,13 @@ env: WEAVIATE_128: 1.28.16 WEAVIATE_129: 1.29.11 WEAVIATE_130: 1.30.22 - WEAVIATE_131: 1.31.20 - WEAVIATE_132: 1.32.23 - WEAVIATE_133: 1.33.10 - WEAVIATE_134: 1.34.5 - WEAVIATE_135: 1.35.0 - WEAVIATE_136: 1.36.0 - WEAVIATE_137: 1.37.0-dev-4e2d51d.amd64 - + WEAVIATE_131: 1.31.22 + WEAVIATE_132: 1.32.27 + WEAVIATE_133: 1.33.18 + WEAVIATE_134: 1.34.19 + WEAVIATE_135: 1.35.15 + WEAVIATE_136: 1.36.6-1abf310 + WEAVIATE_137: 1.37.0-dev-7eb294e jobs: lint-and-format: diff --git a/weaviate/collections/grpc/shared.py b/weaviate/collections/grpc/shared.py index cc3be7ec1..714db67cb 100644 --- a/weaviate/collections/grpc/shared.py +++ b/weaviate/collections/grpc/shared.py @@ -686,14 +686,16 @@ def _parse_hybrid( else: vector_bytes = vector_bytes_tmp - is_1_37 = self._weaviate_version.is_at_least(1, 37, 0) + use_alpha_param = self._weaviate_version.is_at_least( + 1, 36, 6 + ) # TODO: change to 1.36.7 once it's released return ( base_search_pb2.Hybrid( properties=properties, query=query, - alpha=None if is_1_37 else (alpha if alpha is not None else 0.7), - alpha_param=alpha if is_1_37 else None, - use_alpha_param=is_1_37, + alpha=None if use_alpha_param else (alpha if alpha is not None else 0.7), + alpha_param=alpha if use_alpha_param else None, + use_alpha_param=use_alpha_param, fusion_type=( cast( base_search_pb2.Hybrid.FusionType, From ed373755688b09d105a932d15326993ac54059f0 Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 20 Mar 2026 12:30:15 +0000 Subject: [PATCH 13/25] Remove test of lazy loading shards --- integration/test_client.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/integration/test_client.py b/integration/test_client.py index 23ece9885..61d3eb64a 100644 --- a/integration/test_client.py +++ b/integration/test_client.py @@ -383,10 +383,7 @@ def test_client_cluster_without_lazy_shard_loading( ] assert nodes[0].shards[0].vector_queue_length == 0 assert nodes[0].shards[0].compressed is False - if collection._connection._weaviate_version.is_lower_than(1, 25, 0): - assert nodes[0].shards[0].loaded is True - else: - assert nodes[0].shards[0].loaded is False + assert nodes[0].shards[0].loaded is True finally: client.collections.delete(request.node.name) From 14339851c0c5fa9cd3a173369aeb65ccc3ca37f0 Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 20 Mar 2026 13:01:58 +0000 Subject: [PATCH 14/25] Refactor client test for new server lazy shard loading --- integration/test_client.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/integration/test_client.py b/integration/test_client.py index 61d3eb64a..4166cb726 100644 --- a/integration/test_client.py +++ b/integration/test_client.py @@ -355,7 +355,10 @@ def test_client_cluster_with_lazy_shard_loading( ] assert nodes[0].shards[0].vector_queue_length == 0 assert nodes[0].shards[0].compressed is False - assert nodes[0].shards[0].loaded is True + if collection._connection._weaviate_version.is_lower_than(1, 36, 0): + assert nodes[0].shards[0].loaded is False + else: + assert nodes[0].shards[0].loaded is True finally: client.collections.delete(request.node.name) @@ -383,7 +386,10 @@ def test_client_cluster_without_lazy_shard_loading( ] assert nodes[0].shards[0].vector_queue_length == 0 assert nodes[0].shards[0].compressed is False - assert nodes[0].shards[0].loaded is True + if collection._connection._weaviate_version.is_lower_than(1, 25, 0): + assert nodes[0].shards[0].loaded is True + else: + assert nodes[0].shards[0].loaded is False finally: client.collections.delete(request.node.name) From dd6c835f9d4f66409e3010840da76945ddc58e7f Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 20 Mar 2026 13:18:16 +0000 Subject: [PATCH 15/25] Debug failing ci test --- integration/test_client.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/integration/test_client.py b/integration/test_client.py index 4166cb726..23ece9885 100644 --- a/integration/test_client.py +++ b/integration/test_client.py @@ -355,10 +355,7 @@ def test_client_cluster_with_lazy_shard_loading( ] assert nodes[0].shards[0].vector_queue_length == 0 assert nodes[0].shards[0].compressed is False - if collection._connection._weaviate_version.is_lower_than(1, 36, 0): - assert nodes[0].shards[0].loaded is False - else: - assert nodes[0].shards[0].loaded is True + assert nodes[0].shards[0].loaded is True finally: client.collections.delete(request.node.name) From cf96ccb40309a1001abb6c533c6d9b8cec2e9723 Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 20 Mar 2026 13:41:55 +0000 Subject: [PATCH 16/25] Remove outdated lazy shard load test --- integration/test_client.py | 33 +-------------------------------- 1 file changed, 1 insertion(+), 32 deletions(-) diff --git a/integration/test_client.py b/integration/test_client.py index 23ece9885..3560cbbb7 100644 --- a/integration/test_client.py +++ b/integration/test_client.py @@ -334,7 +334,7 @@ def test_collection_name_capitalization( client.collections.delete(name_big) -def test_client_cluster_with_lazy_shard_loading( +def test_client_cluster_without_lazy_shard_loading( client: weaviate.WeaviateClient, request: SubRequest ) -> None: try: @@ -360,37 +360,6 @@ def test_client_cluster_with_lazy_shard_loading( client.collections.delete(request.node.name) -def test_client_cluster_without_lazy_shard_loading( - client_factory: ClientFactory, request: SubRequest -) -> None: - client = client_factory(8090, 50061) - - try: - collection = client.collections.create( - name=request.node.name, vectorizer_config=Configure.Vectorizer.none() - ) - - nodes = client.cluster.nodes(collection.name, output="verbose") - assert len(nodes) == 1 - assert len(nodes[0].shards) == 1 - assert nodes[0].shards[0].collection == collection.name - assert nodes[0].shards[0].object_count == 0 - assert nodes[0].shards[0].vector_indexing_status in [ - "READONLY", - "INDEXING", - "READY", - "LAZY_LOADING", - ] - assert nodes[0].shards[0].vector_queue_length == 0 - assert nodes[0].shards[0].compressed is False - if collection._connection._weaviate_version.is_lower_than(1, 25, 0): - assert nodes[0].shards[0].loaded is True - else: - assert nodes[0].shards[0].loaded is False - finally: - client.collections.delete(request.node.name) - - def test_client_cluster_multitenant(client: weaviate.WeaviateClient, request: SubRequest) -> None: try: collection = client.collections.create( From 4b669e10706fca04573f5f767d11c6e848b0b02d Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 20 Mar 2026 15:21:09 +0000 Subject: [PATCH 17/25] Update CI images --- .github/workflows/main.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index d884891c0..7cc9934e7 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -27,8 +27,8 @@ env: WEAVIATE_133: 1.33.18 WEAVIATE_134: 1.34.19 WEAVIATE_135: 1.35.15 - WEAVIATE_136: 1.36.6-1abf310 - WEAVIATE_137: 1.37.0-dev-7eb294e + WEAVIATE_136: 1.36.6-21aaadc + WEAVIATE_137: 1.37.0-dev-8fb696b jobs: lint-and-format: From 890a414aa43eeb355f40c7ed9402a1edd45f40cd Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 20 Mar 2026 15:59:52 +0000 Subject: [PATCH 18/25] Add per-test timeouts and stack dump on timeout --- integration/conftest.py | 63 ++++++++++++++++++++++++++++++++++++++++- pytest.ini | 4 ++- requirements-test.txt | 1 + 3 files changed, 66 insertions(+), 2 deletions(-) diff --git a/integration/conftest.py b/integration/conftest.py index 256517ea6..891c66307 100644 --- a/integration/conftest.py +++ b/integration/conftest.py @@ -1,5 +1,10 @@ import os import time +import sys +import threading +import traceback +import signal +import pytest from typing import ( Any, AsyncGenerator, @@ -14,7 +19,6 @@ ) from typing import Callable, TypeVar -import pytest import pytest_asyncio from _pytest.fixtures import SubRequest @@ -500,3 +504,60 @@ def retry_on_http_error( raise # This should never be reached, but satisfies the type checker raise last_exception # type: ignore + + +TIMEOUT_SECONDS = 30 + + +def dump_all_stacks(): + """Print stack traces for every live thread.""" + frames = sys._current_frames() + lines = ["\n===== DEADLOCK DETECTED — THREAD DUMP =====\n"] + for thread in threading.enumerate(): + frame = frames.get(thread.ident) # pyright: ignore + lines.append(f"\n--- Thread: {thread.name} (id={thread.ident}, daemon={thread.daemon}) ---") + if frame: + lines.append("".join(traceback.format_stack(frame))) + else: + lines.append(" (no frame available)\n") + lines.append("===========================================\n") + return "\n".join(lines) + + +class DeadlockWatchdog: + def __init__(self, timeout): + self.timeout = timeout + self._timer = None + self._test_name = None + + def start(self, test_name): + self._test_name = test_name + self._timer = threading.Timer(self.timeout, self._on_timeout) + self._timer.daemon = True + self._timer.start() + + def stop(self): + if self._timer: + self._timer.cancel() + self._timer = None + + def _on_timeout(self): + dump = dump_all_stacks() + # Write to stderr so it's always visible even if captured + sys.stderr.write(f"\n[WATCHDOG] Test '{self._test_name}' timed out after {self.timeout}s\n") + sys.stderr.write(dump) + sys.stderr.flush() + # Force-kill the process so CI doesn't hang forever + signal.raise_signal(signal.SIGTERM) + + +_watchdog = DeadlockWatchdog(TIMEOUT_SECONDS) + + +@pytest.hookimpl(hookwrapper=True) +def pytest_runtest_call(item): + _watchdog.start(item.nodeid) + try: + yield + finally: + _watchdog.stop() diff --git a/pytest.ini b/pytest.ini index 36321aa1d..09bfb6983 100644 --- a/pytest.ini +++ b/pytest.ini @@ -2,4 +2,6 @@ addopts = -m 'not profiling' --benchmark-skip -l markers = profiling: marks tests that can be profiled -asyncio_default_fixture_loop_scope = function \ No newline at end of file +asyncio_default_fixture_loop_scope = function +timeout = 600 # 10 minutes +timeout_method = thread \ No newline at end of file diff --git a/requirements-test.txt b/requirements-test.txt index 9817a6d5e..40121fcce 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -3,6 +3,7 @@ pytest-cov==6.2.1 pytest-asyncio==1.3.0 pytest-benchmark==5.1.0 pytest-profiling==1.8.1 +pytest-timeout==2.4.0 coverage==7.10.7 pytest-xdist==3.7.0 werkzeug==3.1.6 From 2893822041959749f6cd12554f304c114d4015e0 Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 20 Mar 2026 16:01:09 +0000 Subject: [PATCH 19/25] Reduce per-test timeout to 5 mins --- pytest.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytest.ini b/pytest.ini index 09bfb6983..36de4d551 100644 --- a/pytest.ini +++ b/pytest.ini @@ -3,5 +3,5 @@ addopts = -m 'not profiling' --benchmark-skip -l markers = profiling: marks tests that can be profiled asyncio_default_fixture_loop_scope = function -timeout = 600 # 10 minutes +timeout = 300 # 5 minutes timeout_method = thread \ No newline at end of file From 6edd0e155630549f65ead7ff9a2c63baedca363d Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 20 Mar 2026 16:03:32 +0000 Subject: [PATCH 20/25] Fix inc backups test --- integration/test_backup_v4.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration/test_backup_v4.py b/integration/test_backup_v4.py index 1204a1269..6da10bc7c 100644 --- a/integration/test_backup_v4.py +++ b/integration/test_backup_v4.py @@ -764,7 +764,7 @@ def test_incremental_backup(client: weaviate.WeaviateClient, request: SubRequest backend=BACKEND, include_collections=["Article"], wait_for_completion=True, - incremental_backup_base_id=base_backup_id, + incremental_base_backup_id=base_backup_id, ) # remove existing class From e7cb6979581e87a5836d6e1dbc983a989eed284b Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 20 Mar 2026 16:04:07 +0000 Subject: [PATCH 21/25] Add server version check for incremental backups --- weaviate/backup/executor.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/weaviate/backup/executor.py b/weaviate/backup/executor.py index e8c52239d..09a47bd0a 100644 --- a/weaviate/backup/executor.py +++ b/weaviate/backup/executor.py @@ -88,6 +88,16 @@ def create( wait_for_completion=wait_for_completion, ) + if ( + incremental_base_backup_id is not None + and self._connection._weaviate_version.is_lower_than(1, 37, 0) + ): + raise WeaviateUnsupportedFeatureError( + "Incremental backups", + str(self._connection._weaviate_version), + "1.37.0", + ) + payload: dict = { "id": backup_id, "include": include_collections, From 12d064ff617a400c3348ad8eac42980efea99597 Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 20 Mar 2026 16:09:03 +0000 Subject: [PATCH 22/25] Remove comment --- pytest.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytest.ini b/pytest.ini index 36de4d551..8b61c6947 100644 --- a/pytest.ini +++ b/pytest.ini @@ -3,5 +3,5 @@ addopts = -m 'not profiling' --benchmark-skip -l markers = profiling: marks tests that can be profiled asyncio_default_fixture_loop_scope = function -timeout = 300 # 5 minutes +timeout = 300 timeout_method = thread \ No newline at end of file From fe5c5223901ebcf67f7f693e72278d99a9bed5cc Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 20 Mar 2026 16:34:16 +0000 Subject: [PATCH 23/25] Hard kill the process on timeout detection --- integration/conftest.py | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/integration/conftest.py b/integration/conftest.py index 891c66307..73a032f57 100644 --- a/integration/conftest.py +++ b/integration/conftest.py @@ -3,7 +3,6 @@ import sys import threading import traceback -import signal import pytest from typing import ( Any, @@ -506,20 +505,19 @@ def retry_on_http_error( raise last_exception # type: ignore -TIMEOUT_SECONDS = 30 +TIMEOUT_SECONDS = 300 def dump_all_stacks(): - """Print stack traces for every live thread.""" frames = sys._current_frames() lines = ["\n===== DEADLOCK DETECTED — THREAD DUMP =====\n"] for thread in threading.enumerate(): frame = frames.get(thread.ident) # pyright: ignore - lines.append(f"\n--- Thread: {thread.name} (id={thread.ident}, daemon={thread.daemon}) ---") + lines.append(f"\n--- Thread: {thread.name} (id={thread.ident}) ---") if frame: lines.append("".join(traceback.format_stack(frame))) else: - lines.append(" (no frame available)\n") + lines.append(" (no frame)\n") lines.append("===========================================\n") return "\n".join(lines) @@ -528,10 +526,9 @@ class DeadlockWatchdog: def __init__(self, timeout): self.timeout = timeout self._timer = None - self._test_name = None - def start(self, test_name): - self._test_name = test_name + def start(self, label): + self._label = label self._timer = threading.Timer(self.timeout, self._on_timeout) self._timer.daemon = True self._timer.start() @@ -542,22 +539,30 @@ def stop(self): self._timer = None def _on_timeout(self): - dump = dump_all_stacks() - # Write to stderr so it's always visible even if captured - sys.stderr.write(f"\n[WATCHDOG] Test '{self._test_name}' timed out after {self.timeout}s\n") - sys.stderr.write(dump) + sys.stderr.write(f"\n[WATCHDOG] Hung at: '{self._label}' after {self.timeout}s\n") + sys.stderr.write(dump_all_stacks()) sys.stderr.flush() - # Force-kill the process so CI doesn't hang forever - signal.raise_signal(signal.SIGTERM) + os._exit(1) # Hard kill — works reliably in xdist workers _watchdog = DeadlockWatchdog(TIMEOUT_SECONDS) +# Covers setup + call + teardown @pytest.hookimpl(hookwrapper=True) -def pytest_runtest_call(item): +def pytest_runtest_protocol(item, nextitem): _watchdog.start(item.nodeid) try: yield finally: _watchdog.stop() + + +# Separately watch session-scoped fixture setup +@pytest.hookimpl(hookwrapper=True) +def pytest_sessionstart(session): + _watchdog.start("session startup / session-scoped fixtures") + try: + yield + finally: + _watchdog.stop() From 2d961d18842bcf678f62d666b7a2a44388ea4dbc Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 20 Mar 2026 16:58:40 +0000 Subject: [PATCH 24/25] Timeout putting the sentinel to avoid deadlocking --- weaviate/collections/batch/async_.py | 2 +- weaviate/collections/batch/sync.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/weaviate/collections/batch/async_.py b/weaviate/collections/batch/async_.py index b71f8be39..b86bc80d3 100644 --- a/weaviate/collections/batch/async_.py +++ b/weaviate/collections/batch/async_.py @@ -254,7 +254,7 @@ async def __loop(self) -> None: and not self.__is_shutting_down.is_set() and not self.__is_oom.is_set() ): - await self.__reqs.put(None) + await asyncio.wait_for(self.__reqs.put(None), timeout=60) self.__sent_sentinel.set() await asyncio.sleep(refresh_time) diff --git a/weaviate/collections/batch/sync.py b/weaviate/collections/batch/sync.py index f219de563..eaa96b1c5 100644 --- a/weaviate/collections/batch/sync.py +++ b/weaviate/collections/batch/sync.py @@ -206,7 +206,7 @@ def __loop(self) -> None: and not self.__is_shutting_down.is_set() and not self.__is_oom.is_set() ): - self.__reqs.put(None) + self.__reqs.put(None, timeout=60) self.__sent_sentinel.set() time.sleep(refresh_time) From fadcebb906644fdba18be771ebbb1d4e4fdeec13 Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 20 Mar 2026 17:00:55 +0000 Subject: [PATCH 25/25] Handle the timeout of sentinel pushing gracefully --- weaviate/collections/batch/async_.py | 9 ++++++++- weaviate/collections/batch/sync.py | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/weaviate/collections/batch/async_.py b/weaviate/collections/batch/async_.py index b86bc80d3..cb7454b30 100644 --- a/weaviate/collections/batch/async_.py +++ b/weaviate/collections/batch/async_.py @@ -254,7 +254,14 @@ async def __loop(self) -> None: and not self.__is_shutting_down.is_set() and not self.__is_oom.is_set() ): - await asyncio.wait_for(self.__reqs.put(None), timeout=60) + try: + await asyncio.wait_for(self.__reqs.put(None), timeout=60) + except asyncio.TimeoutError as e: + logger.warning( + "Batch queue is blocked for more than 60 seconds while trying to send shutdown signal. Exiting the loop" + ) + self.__bg_exception = e + return self.__sent_sentinel.set() await asyncio.sleep(refresh_time) diff --git a/weaviate/collections/batch/sync.py b/weaviate/collections/batch/sync.py index eaa96b1c5..cf7ac2532 100644 --- a/weaviate/collections/batch/sync.py +++ b/weaviate/collections/batch/sync.py @@ -206,7 +206,14 @@ def __loop(self) -> None: and not self.__is_shutting_down.is_set() and not self.__is_oom.is_set() ): - self.__reqs.put(None, timeout=60) + try: + self.__reqs.put(None, timeout=60) + except Full as e: + logger.warning( + "Batch queue is blocked for more than 60 seconds while trying to send shutdown signal. Exiting the loop" + ) + self.__bg_exception = e + return self.__sent_sentinel.set() time.sleep(refresh_time)