From 0e8620b5457cc42d6659c0be3f9ecb4f4b5571b4 Mon Sep 17 00:00:00 2001 From: Ivan Despot <66276597+g-despot@users.noreply.github.com> Date: Mon, 22 Jun 2026 09:56:14 +0200 Subject: [PATCH] feat(config): add optional dimensions to text2vec-aws vectorizer --- test/collection/test_config.py | 2 ++ weaviate/collections/classes/config_named_vectors.py | 3 +++ weaviate/collections/classes/config_vectorizers.py | 4 ++++ weaviate/collections/classes/config_vectors.py | 9 +++++++++ 4 files changed, 18 insertions(+) diff --git a/test/collection/test_config.py b/test/collection/test_config.py index c1ccfca84..cc44604d4 100644 --- a/test/collection/test_config.py +++ b/test/collection/test_config.py @@ -238,6 +238,7 @@ def test_basic_config(): model="cohere.embed-english-v3", region="us-east-1", service="bedrock", + dimensions=512, ), { "text2vec-aws": { @@ -245,6 +246,7 @@ def test_basic_config(): "model": "cohere.embed-english-v3", "region": "us-east-1", "service": "bedrock", + "dimensions": 512, } }, ), diff --git a/weaviate/collections/classes/config_named_vectors.py b/weaviate/collections/classes/config_named_vectors.py index 8aa6347c2..466d65602 100644 --- a/weaviate/collections/classes/config_named_vectors.py +++ b/weaviate/collections/classes/config_named_vectors.py @@ -453,6 +453,7 @@ def text2vec_aws( source_properties: Optional[List[str]] = None, vector_index_config: Optional[_VectorIndexConfigCreate] = None, vectorize_collection_name: bool = True, + dimensions: Optional[int] = None, ) -> _NamedVectorConfigCreate: """Create a named vector using the `text2vec_aws` model. @@ -468,6 +469,7 @@ def text2vec_aws( source_properties: Which properties should be included when vectorizing. By default all text properties are included. vector_index_config: The configuration for Weaviate's vector index. Use wvc.config.Configure.VectorIndex to create a vector index configuration. None by default vectorize_collection_name: Whether to vectorize the collection name. Defaults to `True`. + dimensions: The dimensionality of the vectors. Defaults to `None`, which uses the server-defined default. """ return _NamedVectorConfigCreate( name=name, @@ -480,6 +482,7 @@ def text2vec_aws( vectorizeClassName=vectorize_collection_name, targetModel=None, targetVariant=None, + dimensions=dimensions, ), vector_index_config=vector_index_config, ) diff --git a/weaviate/collections/classes/config_vectorizers.py b/weaviate/collections/classes/config_vectorizers.py index 6d947e4aa..938ef3a53 100644 --- a/weaviate/collections/classes/config_vectorizers.py +++ b/weaviate/collections/classes/config_vectorizers.py @@ -215,6 +215,7 @@ class _Text2VecAWSConfig(_VectorizerConfigCreate): service: str targetModel: Optional[str] targetVariant: Optional[str] + dimensions: Optional[int] vectorizeClassName: bool @field_validator("region") @@ -770,6 +771,7 @@ def text2vec_aws( endpoint: Optional[str] = None, service: Union[AWSService, str] = "bedrock", vectorize_collection_name: bool = True, + dimensions: Optional[int] = None, ) -> _VectorizerConfigCreate: """Create a `_Text2VecAWSConfigCreate` object for use when vectorizing using the `text2vec-aws` model. @@ -782,6 +784,7 @@ def text2vec_aws( endpoint: The model to use, REQUIRED for service "sagemaker". service: The AWS service to use, options are "bedrock" and "sagemaker". vectorize_collection_name: Whether to vectorize the collection name. Defaults to `True`. + dimensions: The dimensionality of the vectors. Defaults to `None`, which uses the server-defined default. """ return _Text2VecAWSConfig( model=model, @@ -791,6 +794,7 @@ def text2vec_aws( endpoint=endpoint, targetModel=None, targetVariant=None, + dimensions=dimensions, ) @staticmethod diff --git a/weaviate/collections/classes/config_vectors.py b/weaviate/collections/classes/config_vectors.py index 6d785776a..c5b562f3c 100644 --- a/weaviate/collections/classes/config_vectors.py +++ b/weaviate/collections/classes/config_vectors.py @@ -795,6 +795,7 @@ def text2vec_aws( source_properties: Optional[List[str]] = None, vector_index_config: Optional[_VectorIndexConfigCreate] = None, vectorize_collection_name: bool = True, + dimensions: Optional[int] = None, ) -> _VectorConfigCreate: """Create a vector using the `text2vec-aws` module. @@ -811,6 +812,7 @@ def text2vec_aws( source_properties: Which properties should be included when vectorizing. By default all text properties are included. vector_index_config: The configuration for Weaviate's vector index. Use `wvc.config.Configure.VectorIndex` to create a vector index configuration. None by default vectorize_collection_name: Whether to vectorize the collection name. Defaults to `True`. + dimensions: The dimensionality of the vectors. Defaults to `None`, which uses the server-defined default. """ return _VectorConfigCreate( name=name, @@ -823,6 +825,7 @@ def text2vec_aws( vectorizeClassName=vectorize_collection_name, targetModel=None, targetVariant=None, + dimensions=dimensions, ), vector_index_config=_IndexWrappers.single(vector_index_config, quantizer), ) @@ -837,6 +840,7 @@ def text2vec_aws_bedrock( source_properties: Optional[List[str]] = None, vector_index_config: Optional[_VectorIndexConfigCreate] = None, vectorize_collection_name: bool = True, + dimensions: Optional[int] = None, ) -> _VectorConfigCreate: """Create a vector using the `text2vec-aws` module. @@ -851,6 +855,7 @@ def text2vec_aws_bedrock( source_properties: Which properties should be included when vectorizing. By default all text properties are included. vector_index_config: The configuration for Weaviate's vector index. Use `wvc.config.Configure.VectorIndex` to create a vector index configuration. None by default vectorize_collection_name: Whether to vectorize the collection name. Defaults to `True`. + dimensions: The dimensionality of the vectors. Defaults to `None`, which uses the server-defined default. """ return _VectorConfigCreate( name=name, @@ -863,6 +868,7 @@ def text2vec_aws_bedrock( vectorizeClassName=vectorize_collection_name, targetModel=None, targetVariant=None, + dimensions=dimensions, ), vector_index_config=_IndexWrappers.single(vector_index_config, quantizer), ) @@ -879,6 +885,7 @@ def text2vec_aws_sagemaker( source_properties: Optional[List[str]] = None, vector_index_config: Optional[_VectorIndexConfigCreate] = None, vectorize_collection_name: bool = True, + dimensions: Optional[int] = None, ) -> _VectorConfigCreate: """Create a vector using the `text2vec-aws` module. @@ -895,6 +902,7 @@ def text2vec_aws_sagemaker( source_properties: Which properties should be included when vectorizing. By default all text properties are included. vector_index_config: The configuration for Weaviate's vector index. Use `wvc.config.Configure.VectorIndex` to create a vector index configuration. None by default vectorize_collection_name: Whether to vectorize the collection name. Defaults to `True`. + dimensions: The dimensionality of the vectors. Defaults to `None`, which uses the server-defined default. """ return _VectorConfigCreate( name=name, @@ -907,6 +915,7 @@ def text2vec_aws_sagemaker( targetVariant=target_variant, service="sagemaker", vectorizeClassName=vectorize_collection_name, + dimensions=dimensions, ), vector_index_config=_IndexWrappers.single(vector_index_config, quantizer), )