diff --git a/docarray/index/backends/weaviate.py b/docarray/index/backends/weaviate.py index b001888dd98..13eb6893753 100644 --- a/docarray/index/backends/weaviate.py +++ b/docarray/index/backends/weaviate.py @@ -257,6 +257,16 @@ class DBConfig(BaseDocIndex.DBConfig): } ) + def __post_init__(self): + # To prevent errors, it is important to capitalize the provided index name + # when working with Weaviate, as it stores index names in a capitalized format. + # Can't use .capitalize() because it modifies the whole string (See test). + self.index_name = ( + self.index_name[0].upper() + self.index_name[1:] + if self.index_name + else None + ) + @dataclass class RuntimeConfig(BaseDocIndex.RuntimeConfig): """Dataclass that contains all "dynamic" configurations of WeaviateDocumentIndex.""" diff --git a/tests/index/weaviate/test_column_config_weaviate.py b/tests/index/weaviate/test_column_config_weaviate.py index fd5a18d7560..f377d459794 100644 --- a/tests/index/weaviate/test_column_config_weaviate.py +++ b/tests/index/weaviate/test_column_config_weaviate.py @@ -48,3 +48,9 @@ class StringDoc(BaseDoc): index = WeaviateDocumentIndex[StringDoc]() assert index.index_name == StringDoc.__name__ + + index = WeaviateDocumentIndex[StringDoc](index_name='BaseDoc') + assert index.index_name == 'BaseDoc' + + index = WeaviateDocumentIndex[StringDoc](index_name='index_name') + assert index.index_name == 'Index_name'