diff --git a/providers/weaviate/README.rst b/providers/weaviate/README.rst index fba9b3e8a172e..4086bd7a2b8c5 100644 --- a/providers/weaviate/README.rst +++ b/providers/weaviate/README.rst @@ -56,7 +56,7 @@ PIP package Version required ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.8.0`` ``httpx`` ``>=0.25.0`` -``weaviate-client`` ``!=4.16.7,>=4.4.0`` +``weaviate-client`` ``>=4.16.0,!=4.16.7`` ``pandas`` ``>=2.1.2; python_version < "3.13"`` ``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` ``pandas`` ``>=2.3.3; python_version >= "3.14"`` diff --git a/providers/weaviate/docs/index.rst b/providers/weaviate/docs/index.rst index 43dc78ecab2f3..1b5379cb7c176 100644 --- a/providers/weaviate/docs/index.rst +++ b/providers/weaviate/docs/index.rst @@ -105,7 +105,7 @@ PIP package Version required ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.8.0`` ``httpx`` ``>=0.25.0`` -``weaviate-client`` ``!=4.16.7,>=4.4.0`` +``weaviate-client`` ``>=4.16.0,!=4.16.7`` ``pandas`` ``>=2.1.2; python_version < "3.13"`` ``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` ``pandas`` ``>=2.3.3; python_version >= "3.14"`` diff --git a/providers/weaviate/pyproject.toml b/providers/weaviate/pyproject.toml index 5800e8fb50955..1579aaffef3c0 100644 --- a/providers/weaviate/pyproject.toml +++ b/providers/weaviate/pyproject.toml @@ -62,7 +62,7 @@ dependencies = [ "apache-airflow>=2.11.0", "apache-airflow-providers-common-compat>=1.8.0", "httpx>=0.25.0", - "weaviate-client>=4.4.0,!=4.16.7", + "weaviate-client>=4.16.0,!=4.16.7", 'pandas>=2.1.2; python_version <"3.13"', 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', 'pandas>=2.3.3; python_version >="3.14"', diff --git a/providers/weaviate/tests/system/weaviate/example_weaviate_cohere.py b/providers/weaviate/tests/system/weaviate/example_weaviate_cohere.py index d76b60f4868f6..1a9d7a7c44720 100644 --- a/providers/weaviate/tests/system/weaviate/example_weaviate_cohere.py +++ b/providers/weaviate/tests/system/weaviate/example_weaviate_cohere.py @@ -19,6 +19,7 @@ from datetime import timedelta import pendulum +from weaviate.classes.config import Configure try: from airflow.sdk import dag, setup, task, teardown @@ -59,7 +60,7 @@ def create_weaviate_collection(): weaviate_hook = WeaviateHook() # Collection definition object. Weaviate's autoschema feature will infer properties when importing. - weaviate_hook.create_collection(name=COLLECTION_NAME, vectorizer_config=None) + weaviate_hook.create_collection(name=COLLECTION_NAME, vector_config=Configure.Vectors.self_provided()) @setup @task diff --git a/providers/weaviate/tests/system/weaviate/example_weaviate_dynamic_mapping_dag.py b/providers/weaviate/tests/system/weaviate/example_weaviate_dynamic_mapping_dag.py index ecd31c6ffd987..4a750973f8faf 100644 --- a/providers/weaviate/tests/system/weaviate/example_weaviate_dynamic_mapping_dag.py +++ b/providers/weaviate/tests/system/weaviate/example_weaviate_dynamic_mapping_dag.py @@ -19,7 +19,7 @@ from datetime import timedelta import pendulum -from weaviate.collections.classes.config import Configure +from weaviate.classes.config import Configure try: from airflow.sdk import dag, setup, task, teardown @@ -58,7 +58,7 @@ def create_weaviate_collection(data): weaviate_hook = WeaviateHook() # collection definition object. Weaviate's autoschema feature will infer properties when importing. - weaviate_hook.create_collection(data[0], vectorizer_config=data[1]) + weaviate_hook.create_collection(data[0], vector_config=data[1]) @setup @task @@ -96,7 +96,10 @@ def delete_weaviate_collection(collection_name): ( create_weaviate_collection.expand( - data=[[COLLECTION_NAMES[0], None], [COLLECTION_NAMES[1], Configure.Vectorizer.text2vec_openai()]] + data=[ + [COLLECTION_NAMES[0], Configure.Vectors.self_provided()], + [COLLECTION_NAMES[1], Configure.Vectors.text2vec_openai(vectorize_collection_name=True)], + ] ) >> perform_ingestion >> delete_weaviate_collection.expand(collection_name=COLLECTION_NAMES) diff --git a/providers/weaviate/tests/system/weaviate/example_weaviate_openai.py b/providers/weaviate/tests/system/weaviate/example_weaviate_openai.py index 2dc39a446a627..bead4d0918d44 100644 --- a/providers/weaviate/tests/system/weaviate/example_weaviate_openai.py +++ b/providers/weaviate/tests/system/weaviate/example_weaviate_openai.py @@ -21,6 +21,7 @@ from pathlib import Path import pendulum +from weaviate.classes.config import Configure try: from airflow.sdk import dag, setup, task, teardown @@ -60,7 +61,7 @@ def create_weaviate_collection(): """ weaviate_hook = WeaviateHook() # collection definition object. Weaviate's autoschema feature will infer properties when importing. - weaviate_hook.create_collection(COLLECTION_NAME) + weaviate_hook.create_collection(COLLECTION_NAME, vector_config=Configure.Vectors.self_provided()) @setup @task diff --git a/providers/weaviate/tests/system/weaviate/example_weaviate_operator.py b/providers/weaviate/tests/system/weaviate/example_weaviate_operator.py index c1bab9f2eb58a..a8499deb8cdf5 100644 --- a/providers/weaviate/tests/system/weaviate/example_weaviate_operator.py +++ b/providers/weaviate/tests/system/weaviate/example_weaviate_operator.py @@ -19,8 +19,7 @@ from datetime import timedelta import pendulum -from weaviate.classes.config import DataType, Property -from weaviate.collections.classes.config import Configure +from weaviate.classes.config import Configure, DataType, Property try: from airflow.sdk import dag, task, teardown @@ -124,7 +123,7 @@ def create_collection_without_vectorizer(): weaviate_hook = WeaviateHook() # collection definition object. Weaviate's autoschema feature will infer properties when importing. - weaviate_hook.create_collection(COLLECTION_NAME) + weaviate_hook.create_collection(COLLECTION_NAME, vector_config=Configure.Vectors.self_provided()) @task(trigger_rule="all_done") def store_data_with_vectors_in_xcom(): @@ -168,7 +167,7 @@ def create_collection_with_vectorizer(): Property(name="answer", description="The answer", data_type=DataType.TEXT), Property(name="category", description="The category", data_type=DataType.TEXT), ], - vectorizer_config=Configure.Vectorizer.text2vec_openai(), + vector_config=Configure.Vectors.text2vec_openai(), ) @task() @@ -188,7 +187,7 @@ def create_collection_for_doc_data_with_vectorizer(): Property(name="category", description="The category", data_type=DataType.TEXT), Property(name="docLink", description="URL for source document", data_type=DataType.TEXT), ], - vectorizer_config=Configure.Vectorizer.text2vec_openai(), + vector_config=Configure.Vectors.text2vec_openai(), ) @task(trigger_rule="all_done") diff --git a/providers/weaviate/tests/system/weaviate/example_weaviate_using_hook.py b/providers/weaviate/tests/system/weaviate/example_weaviate_using_hook.py index 9cc84af73ec5b..40c24bda4db43 100644 --- a/providers/weaviate/tests/system/weaviate/example_weaviate_using_hook.py +++ b/providers/weaviate/tests/system/weaviate/example_weaviate_using_hook.py @@ -19,8 +19,7 @@ from datetime import timedelta import pendulum -from weaviate.classes.config import DataType, Property -from weaviate.collections.classes.config import Configure +from weaviate.classes.config import Configure, DataType, Property try: from airflow.sdk import dag, task, teardown @@ -63,7 +62,7 @@ def create_collection_with_vectorizer(): Property(name="answer", description="The answer", data_type=DataType.TEXT), Property(name="category", description="The category", data_type=DataType.TEXT), ], - vectorizer_config=Configure.Vectorizer.text2vec_openai(), + vector_config=Configure.Vectors.text2vec_openai(), ) @task() @@ -77,7 +76,7 @@ def create_collection_without_vectorizer(): # collection definition object. Weaviate's autoschema feature will infer properties when importing. weaviate_hook.create_collection( "QuestionWithoutVectorizerUsingHook", - vectorizer_config=None, + vector_config=Configure.Vectors.self_provided(), ) @task(trigger_rule="all_done") diff --git a/providers/weaviate/tests/system/weaviate/example_weaviate_vectorizer_dag.py b/providers/weaviate/tests/system/weaviate/example_weaviate_vectorizer_dag.py index 40d26b677d733..e8cf7a628e80e 100644 --- a/providers/weaviate/tests/system/weaviate/example_weaviate_vectorizer_dag.py +++ b/providers/weaviate/tests/system/weaviate/example_weaviate_vectorizer_dag.py @@ -19,7 +19,7 @@ from datetime import timedelta import pendulum -from weaviate.collections.classes.config import Configure +from weaviate.classes.config import Configure try: from airflow.sdk import dag, setup, task, teardown @@ -61,7 +61,7 @@ def create_weaviate_collection(): # collection definition object. Weaviate's autoschema feature will infer properties when importing. weaviate_hook.create_collection( COLLECTION_NAME, - vectorizer_config=Configure.Vectorizer.text2vec_openai(), + vector_config=Configure.Vectors.text2vec_openai(vectorize_collection_name=True), ) @setup diff --git a/providers/weaviate/tests/system/weaviate/example_weaviate_without_vectorizer_dag.py b/providers/weaviate/tests/system/weaviate/example_weaviate_without_vectorizer_dag.py index 24d10424bf11b..a8fa01c5d9b61 100644 --- a/providers/weaviate/tests/system/weaviate/example_weaviate_without_vectorizer_dag.py +++ b/providers/weaviate/tests/system/weaviate/example_weaviate_without_vectorizer_dag.py @@ -19,6 +19,7 @@ from datetime import timedelta import pendulum +from weaviate.classes.config import Configure try: from airflow.sdk import dag, setup, task, teardown @@ -59,7 +60,7 @@ def create_weaviate_collection(): weaviate_hook = WeaviateHook() # collection definition object. Weaviate's autoschema feature will infer properties when importing. - weaviate_hook.create_collection(COLLECTION_NAME, vectorizer_config=None) + weaviate_hook.create_collection(COLLECTION_NAME, vector_config=Configure.Vectors.self_provided()) @setup @task diff --git a/uv.lock b/uv.lock index cb582853c5492..10fb859f2eaf9 100644 --- a/uv.lock +++ b/uv.lock @@ -8293,7 +8293,7 @@ requires-dist = [ { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2" }, { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3" }, { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3" }, - { name = "weaviate-client", specifier = ">=4.4.0,!=4.16.7" }, + { name = "weaviate-client", specifier = ">=4.16.0,!=4.16.7" }, ] [package.metadata.requires-dev]