From c9d02cab351e6d59275e92651c39be37a45887ac Mon Sep 17 00:00:00 2001 From: Soby Chacko Date: Thu, 20 Feb 2025 20:16:26 -0500 Subject: [PATCH] Migrate vector store auto-configurations to dedicated modules Move vector store auto-configuration classes to dedicated modules under auto-configurations/vector-stores/: - Creates separate modules for Milvus, Pinecone, Qdrant, and Typesense vector stores - Moves CommonVectorStoreProperties to spring-ai-core for better reusability - Updates pom.xml dependencies to maintain proper relationships between modules - Name the artifacts based on the pattern spring-ai-autoconfigure-vectorestore-. For example - spring-ai-autoconfigure-vectorestore-milvus - Package names follow the pattern org.springframework.ai.vectorstore..autoconfigure This change improves modularity by allowing each vector store implementation to be independently versioned and maintained, continuing the migration pattern established with previous vector stores. Signed-off-by: Soby Chacko --- .../pom.xml | 101 ++++++++++++++++ .../MilvusServiceClientConnectionDetails.java | 4 +- .../MilvusServiceClientProperties.java | 4 +- .../MilvusVectorStoreAutoConfiguration.java | 4 +- .../MilvusVectorStoreProperties.java | 6 +- ...ot.autoconfigure.AutoConfiguration.imports | 16 +++ .../MilvusVectorStoreAutoConfigurationIT.java | 18 +-- .../pom.xml | 96 +++++++++++++++ .../PineconeVectorStoreAutoConfiguration.java | 4 +- .../PineconeVectorStoreProperties.java | 4 +- ...ot.autoconfigure.AutoConfiguration.imports | 16 +++ ...ineconeVectorStoreAutoConfigurationIT.java | 18 +-- .../PineconeVectorStorePropertiesTests.java | 4 +- .../pom.xml | 111 ++++++++++++++++++ .../QdrantConnectionDetails.java | 4 +- .../QdrantVectorStoreAutoConfiguration.java | 4 +- .../QdrantVectorStoreProperties.java | 6 +- ...ot.autoconfigure.AutoConfiguration.imports | 16 +++ .../QdrantVectorStoreAutoConfigurationIT.java | 12 +- ...ntVectorStoreCloudAutoConfigurationIT.java | 4 +- .../QdrantVectorStorePropertiesTests.java | 4 +- .../pom.xml | 102 ++++++++++++++++ .../TypesenseConnectionDetails.java | 4 +- .../TypesenseServiceClientProperties.java | 4 +- ...TypesenseVectorStoreAutoConfiguration.java | 2 +- .../TypesenseVectorStoreProperties.java | 6 +- ...ot.autoconfigure.AutoConfiguration.imports | 16 +++ ...pesenseVectorStoreAutoConfigurationIT.java | 12 +- .../pom.xml | 2 +- .../WeaviateConnectionDetails.java | 2 +- .../WeaviateVectorStoreAutoConfiguration.java | 2 +- .../WeaviateVectorStoreProperties.java | 2 +- ...ot.autoconfigure.AutoConfiguration.imports | 2 +- ...eaviateVectorStoreAutoConfigurationIT.java | 2 +- pom.xml | 6 +- .../CommonVectorStoreProperties.java | 4 +- spring-ai-spring-boot-autoconfigure/pom.xml | 41 ------- .../azure/AzureVectorStoreProperties.java | 2 +- .../CassandraVectorStoreProperties.java | 2 +- .../chroma/ChromaVectorStoreProperties.java | 2 +- .../CosmosDBVectorStoreProperties.java | 2 +- .../ElasticsearchVectorStoreProperties.java | 2 +- .../gemfire/GemFireVectorStoreProperties.java | 2 +- .../mariadb/MariaDbStoreProperties.java | 2 +- .../MongoDBAtlasVectorStoreProperties.java | 2 +- .../neo4j/Neo4jVectorStoreProperties.java | 2 +- .../OpenSearchVectorStoreProperties.java | 2 +- .../oracle/OracleVectorStoreProperties.java | 2 +- .../pgvector/PgVectorStoreProperties.java | 2 +- .../redis/RedisVectorStoreProperties.java | 2 +- ...ot.autoconfigure.AutoConfiguration.imports | 4 - spring-ai-spring-boot-docker-compose/pom.xml | 12 +- ...DockerComposeConnectionDetailsFactory.java | 2 +- ...DockerComposeConnectionDetailsFactory.java | 2 +- ...DockerComposeConnectionDetailsFactory.java | 2 +- ...ckerComposeConnectionDetailsFactoryIT.java | 2 +- ...ckerComposeConnectionDetailsFactoryIT.java | 2 +- ...ckerComposeConnectionDetailsFactoryIT.java | 2 +- .../spring-ai-starter-milvus-store/pom.xml | 6 + .../spring-ai-starter-pinecone-store/pom.xml | 6 + .../spring-ai-starter-qdrant-store/pom.xml | 6 + .../spring-ai-starter-typesense-store/pom.xml | 8 +- .../spring-ai-starter-weaviate-store/pom.xml | 2 +- spring-ai-spring-boot-testcontainers/pom.xml | 18 ++- ...lvusContainerConnectionDetailsFactory.java | 2 +- ...rantContainerConnectionDetailsFactory.java | 2 +- ...enseContainerConnectionDetailsFactory.java | 2 +- ...iateContainerConnectionDetailsFactory.java | 2 +- ...usContainerConnectionDetailsFactoryIT.java | 2 +- ...ntContainerConnectionDetailsFactoryIT.java | 2 +- ...rWithApiKeyConnectionDetailsFactoryIT.java | 2 +- ...seContainerConnectionDetailsFactoryIT.java | 2 +- ...teContainerConnectionDetailsFactoryIT.java | 4 +- 73 files changed, 634 insertions(+), 151 deletions(-) create mode 100644 auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/pom.xml rename {spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure}/MilvusServiceClientConnectionDetails.java (87%) rename {spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure}/MilvusServiceClientProperties.java (98%) rename {spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure}/MilvusVectorStoreAutoConfiguration.java (98%) rename {spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure}/MilvusVectorStoreProperties.java (96%) create mode 100644 auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports rename {spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/milvus => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/test/java/org/springframework/ai/vectorstore/milvus/autoconfigure}/MilvusVectorStoreAutoConfigurationIT.java (89%) create mode 100644 auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/pom.xml rename {spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/main/java/org/springframework/ai/vectorstore/pinecone/autoconfigure}/PineconeVectorStoreAutoConfiguration.java (95%) rename {spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/main/java/org/springframework/ai/vectorstore/pinecone/autoconfigure}/PineconeVectorStoreProperties.java (95%) create mode 100644 auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports rename {spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/pinecone => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/test/java/org/springframework/ai/vectorstore/pinecone/autoconfigure}/PineconeVectorStoreAutoConfigurationIT.java (85%) rename {spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/pinecone => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/test/java/org/springframework/ai/vectorstore/pinecone/autoconfigure}/PineconeVectorStorePropertiesTests.java (95%) create mode 100644 auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/pom.xml rename {spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/java/org/springframework/ai/vectorstore/qdrant/autoconfigure}/QdrantConnectionDetails.java (88%) rename {spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/java/org/springframework/ai/vectorstore/qdrant/autoconfigure}/QdrantVectorStoreAutoConfiguration.java (97%) rename {spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/java/org/springframework/ai/vectorstore/qdrant/autoconfigure}/QdrantVectorStoreProperties.java (91%) create mode 100644 auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports rename {spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/qdrant => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/test/java/org/springframework/ai/vectorstore/qdrant/autoconfigure}/QdrantVectorStoreAutoConfigurationIT.java (90%) rename {spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/qdrant => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/test/java/org/springframework/ai/vectorstore/qdrant/autoconfigure}/QdrantVectorStoreCloudAutoConfigurationIT.java (97%) rename {spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/qdrant => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/test/java/org/springframework/ai/vectorstore/qdrant/autoconfigure}/QdrantVectorStorePropertiesTests.java (93%) create mode 100644 auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/pom.xml rename {spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure}/TypesenseConnectionDetails.java (88%) rename {spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure}/TypesenseServiceClientProperties.java (93%) rename {spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure}/TypesenseVectorStoreAutoConfiguration.java (98%) rename {spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure}/TypesenseVectorStoreProperties.java (89%) create mode 100644 auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports rename {spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/typesense => auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/test/java/org/springframework/ai/vectorstore/typesense/autoconfigure}/TypesenseVectorStoreAutoConfigurationIT.java (90%) rename auto-configurations/vector-stores/{spring-ai-weaviate-store-spring-boot-autoconfigure => spring-ai-autoconfigure-vectorstore-weaviate}/pom.xml (97%) rename auto-configurations/vector-stores/{spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate => spring-ai-autoconfigure-vectorstore-weaviate/src/main/java/org/springframework/ai/vectorstore/weaviate/autoconfigure}/WeaviateConnectionDetails.java (92%) rename auto-configurations/vector-stores/{spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate => spring-ai-autoconfigure-vectorstore-weaviate/src/main/java/org/springframework/ai/vectorstore/weaviate/autoconfigure}/WeaviateVectorStoreAutoConfiguration.java (98%) rename auto-configurations/vector-stores/{spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate => spring-ai-autoconfigure-vectorstore-weaviate/src/main/java/org/springframework/ai/vectorstore/weaviate/autoconfigure}/WeaviateVectorStoreProperties.java (97%) rename auto-configurations/vector-stores/{spring-ai-weaviate-store-spring-boot-autoconfigure => spring-ai-autoconfigure-vectorstore-weaviate}/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports (90%) rename auto-configurations/vector-stores/{spring-ai-weaviate-store-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/weaviate => spring-ai-autoconfigure-vectorstore-weaviate/src/test/java/org/springframework/ai/vectorstore/weaviate/autoconfigure}/WeaviateVectorStoreAutoConfigurationIT.java (99%) rename {spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore => spring-ai-core/src/main/java/org/springframework/ai/vectorstore/properties}/CommonVectorStoreProperties.java (91%) diff --git a/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/pom.xml b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/pom.xml new file mode 100644 index 00000000000..20763425a8b --- /dev/null +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/pom.xml @@ -0,0 +1,101 @@ + + + + + 4.0.0 + + org.springframework.ai + spring-ai + 1.0.0-SNAPSHOT + ../../../pom.xml + + spring-ai-autoconfigure-vectorstore-milvus + jar + Spring AI Auto Configuration for Weaviate vector store + Spring AI Auto Configuration for Weaviate vector store + https://github.com/spring-projects/spring-ai + + + https://github.com/spring-projects/spring-ai + git://github.com/spring-projects/spring-ai.git + git@github.com:spring-projects/spring-ai.git + + + + + + org.springframework.ai + spring-ai-milvus-store + ${project.parent.version} + true + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-configuration-processor + true + + + + org.springframework.ai + spring-ai-test + ${project.parent.version} + test + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-testcontainers + test + + + org.testcontainers + testcontainers + test + + + org.testcontainers + junit-jupiter + test + + + org.awaitility + awaitility + test + + + org.testcontainers + milvus + test + + + org.springframework.ai + spring-ai-transformers + ${project.parent.version} + test + + + diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusServiceClientConnectionDetails.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusServiceClientConnectionDetails.java similarity index 87% rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusServiceClientConnectionDetails.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusServiceClientConnectionDetails.java index 2a480e9d736..66fee30ca1d 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusServiceClientConnectionDetails.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusServiceClientConnectionDetails.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.milvus; +package org.springframework.ai.vectorstore.milvus.autoconfigure; import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusServiceClientProperties.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusServiceClientProperties.java similarity index 98% rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusServiceClientProperties.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusServiceClientProperties.java index 9d677aa2ffa..13caf1cba0f 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusServiceClientProperties.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusServiceClientProperties.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.milvus; +package org.springframework.ai.vectorstore.milvus.autoconfigure; import java.util.concurrent.TimeUnit; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreAutoConfiguration.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusVectorStoreAutoConfiguration.java similarity index 98% rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreAutoConfiguration.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusVectorStoreAutoConfiguration.java index bb432b135ff..6ba8d36f6cf 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreAutoConfiguration.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusVectorStoreAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.milvus; +package org.springframework.ai.vectorstore.milvus.autoconfigure; import java.util.concurrent.TimeUnit; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreProperties.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusVectorStoreProperties.java similarity index 96% rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreProperties.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusVectorStoreProperties.java index 5e43925d044..8ab62eb94dc 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreProperties.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusVectorStoreProperties.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,9 +14,9 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.milvus; +package org.springframework.ai.vectorstore.milvus.autoconfigure; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.ai.vectorstore.milvus.MilvusVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.util.Assert; diff --git a/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 00000000000..d6c7b3039e0 --- /dev/null +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,16 @@ +# +# Copyright 2025-2025 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +org.springframework.ai.vectorstore.milvus.autoconfigure.MilvusVectorStoreAutoConfiguration diff --git a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreAutoConfigurationIT.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/test/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusVectorStoreAutoConfigurationIT.java similarity index 89% rename from spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreAutoConfigurationIT.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/test/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusVectorStoreAutoConfigurationIT.java index ef27d5564ea..1b2051b2988 100644 --- a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/milvus/MilvusVectorStoreAutoConfigurationIT.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus/src/test/java/org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusVectorStoreAutoConfigurationIT.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.milvus; +package org.springframework.ai.vectorstore.milvus.autoconfigure; import java.util.List; import java.util.Map; @@ -29,6 +29,7 @@ import org.springframework.ai.document.Document; import org.springframework.ai.embedding.EmbeddingModel; import org.springframework.ai.observation.conventions.VectorStoreProvider; +import org.springframework.ai.test.vectorstore.ObservationTestUtil; import org.springframework.ai.transformers.TransformersEmbeddingModel; import org.springframework.ai.vectorstore.SearchRequest; import org.springframework.ai.vectorstore.VectorStore; @@ -39,7 +40,6 @@ import org.springframework.context.annotation.Configuration; import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.ai.autoconfigure.vectorstore.observation.ObservationTestUtil.assertObservationRegistry; /** * @author Christian Tzolov @@ -79,7 +79,7 @@ public void addAndSearch() { vectorStore.add(this.documents); - assertObservationRegistry(observationRegistry, VectorStoreProvider.MILVUS, + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.MILVUS, VectorStoreObservationContext.Operation.ADD); observationRegistry.clear(); @@ -94,7 +94,7 @@ public void addAndSearch() { assertThat(resultDoc.getMetadata()).hasSize(2); assertThat(resultDoc.getMetadata()).containsKeys("spring", "distance"); - assertObservationRegistry(observationRegistry, VectorStoreProvider.MILVUS, + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.MILVUS, VectorStoreObservationContext.Operation.QUERY); observationRegistry.clear(); @@ -104,7 +104,7 @@ public void addAndSearch() { results = vectorStore.similaritySearch(SearchRequest.builder().query("Spring").topK(1).build()); assertThat(results).hasSize(0); - assertObservationRegistry(observationRegistry, VectorStoreProvider.MILVUS, + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.MILVUS, VectorStoreObservationContext.Operation.DELETE); observationRegistry.clear(); @@ -131,7 +131,7 @@ public void searchWithCustomFields() { vectorStore.add(this.documents); - assertObservationRegistry(observationRegistry, VectorStoreProvider.MILVUS, + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.MILVUS, VectorStoreObservationContext.Operation.ADD); observationRegistry.clear(); @@ -146,7 +146,7 @@ public void searchWithCustomFields() { assertThat(resultDoc.getMetadata()).hasSize(2); assertThat(resultDoc.getMetadata()).containsKeys("spring", "distance"); - assertObservationRegistry(observationRegistry, VectorStoreProvider.MILVUS, + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.MILVUS, VectorStoreObservationContext.Operation.QUERY); observationRegistry.clear(); @@ -156,7 +156,7 @@ public void searchWithCustomFields() { results = vectorStore.similaritySearch(SearchRequest.builder().query("Spring").topK(1).build()); assertThat(results).hasSize(0); - assertObservationRegistry(observationRegistry, VectorStoreProvider.MILVUS, + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.MILVUS, VectorStoreObservationContext.Operation.DELETE); observationRegistry.clear(); diff --git a/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/pom.xml b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/pom.xml new file mode 100644 index 00000000000..14a4cb54b1c --- /dev/null +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/pom.xml @@ -0,0 +1,96 @@ + + + + + 4.0.0 + + org.springframework.ai + spring-ai + 1.0.0-SNAPSHOT + ../../../pom.xml + + spring-ai-autoconfigure-vectorstore-pinecone + jar + Spring AI Auto Configuration for Pinecone vector store + Spring AI Auto Configuration for Pinecone vector store + https://github.com/spring-projects/spring-ai + + + https://github.com/spring-projects/spring-ai + git://github.com/spring-projects/spring-ai.git + git@github.com:spring-projects/spring-ai.git + + + + + + org.springframework.ai + spring-ai-pinecone-store + ${project.parent.version} + true + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-configuration-processor + true + + + + org.springframework.ai + spring-ai-test + ${project.parent.version} + test + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-testcontainers + test + + + org.testcontainers + testcontainers + test + + + org.testcontainers + junit-jupiter + test + + + org.awaitility + awaitility + test + + + org.springframework.ai + spring-ai-transformers + ${project.parent.version} + test + + + diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreAutoConfiguration.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/main/java/org/springframework/ai/vectorstore/pinecone/autoconfigure/PineconeVectorStoreAutoConfiguration.java similarity index 95% rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreAutoConfiguration.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/main/java/org/springframework/ai/vectorstore/pinecone/autoconfigure/PineconeVectorStoreAutoConfiguration.java index fb266aecd9d..e8683d78d99 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreAutoConfiguration.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/main/java/org/springframework/ai/vectorstore/pinecone/autoconfigure/PineconeVectorStoreAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.pinecone; +package org.springframework.ai.vectorstore.pinecone.autoconfigure; import io.micrometer.observation.ObservationRegistry; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreProperties.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/main/java/org/springframework/ai/vectorstore/pinecone/autoconfigure/PineconeVectorStoreProperties.java similarity index 95% rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreProperties.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/main/java/org/springframework/ai/vectorstore/pinecone/autoconfigure/PineconeVectorStoreProperties.java index c6d96d00391..fd7b72eb648 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreProperties.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/main/java/org/springframework/ai/vectorstore/pinecone/autoconfigure/PineconeVectorStoreProperties.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.pinecone; +package org.springframework.ai.vectorstore.pinecone.autoconfigure; import java.time.Duration; diff --git a/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 00000000000..84c4d772c41 --- /dev/null +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,16 @@ +# +# Copyright 2025-2025 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +org.springframework.ai.vectorstore.pinecone.autoconfigure.PineconeVectorStoreAutoConfiguration diff --git a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreAutoConfigurationIT.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/test/java/org/springframework/ai/vectorstore/pinecone/autoconfigure/PineconeVectorStoreAutoConfigurationIT.java similarity index 85% rename from spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreAutoConfigurationIT.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/test/java/org/springframework/ai/vectorstore/pinecone/autoconfigure/PineconeVectorStoreAutoConfigurationIT.java index 4ed5257ca25..1a7495bf77e 100644 --- a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStoreAutoConfigurationIT.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/test/java/org/springframework/ai/vectorstore/pinecone/autoconfigure/PineconeVectorStoreAutoConfigurationIT.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.pinecone; +package org.springframework.ai.vectorstore.pinecone.autoconfigure; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -33,6 +33,7 @@ import org.springframework.ai.document.Document; import org.springframework.ai.embedding.EmbeddingModel; import org.springframework.ai.observation.conventions.VectorStoreProvider; +import org.springframework.ai.test.vectorstore.ObservationTestUtil; import org.springframework.ai.transformers.TransformersEmbeddingModel; import org.springframework.ai.vectorstore.pinecone.PineconeVectorStore; import org.springframework.ai.vectorstore.SearchRequest; @@ -52,7 +53,6 @@ * @author Thomas Vitale */ @EnabledIfEnvironmentVariable(named = "PINECONE_API_KEY", matches = ".+") -@Disabled("Can be re-enabled once the auto-configuration is modularised") public class PineconeVectorStoreAutoConfigurationIT { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() @@ -95,8 +95,8 @@ public void addAndSearchTest() { vectorStore.add(this.documents); - org.springframework.ai.autoconfigure.vectorstore.observation.ObservationTestUtil.assertObservationRegistry( - observationRegistry, VectorStoreProvider.PINECONE, VectorStoreObservationContext.Operation.ADD); + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.PINECONE, + VectorStoreObservationContext.Operation.ADD); Awaitility.await() .until(() -> vectorStore.similaritySearch(SearchRequest.builder().query("Spring").topK(1).build()), @@ -114,15 +114,15 @@ public void addAndSearchTest() { assertThat(resultDoc.getMetadata()).hasSize(2); assertThat(resultDoc.getMetadata()).containsKeys("spring", "customDistanceField"); - org.springframework.ai.autoconfigure.vectorstore.observation.ObservationTestUtil.assertObservationRegistry( - observationRegistry, VectorStoreProvider.PINECONE, VectorStoreObservationContext.Operation.QUERY); + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.PINECONE, + VectorStoreObservationContext.Operation.QUERY); observationRegistry.clear(); // Remove all documents from the store vectorStore.delete(this.documents.stream().map(doc -> doc.getId()).toList()); - org.springframework.ai.autoconfigure.vectorstore.observation.ObservationTestUtil.assertObservationRegistry( - observationRegistry, VectorStoreProvider.PINECONE, VectorStoreObservationContext.Operation.DELETE); + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.PINECONE, + VectorStoreObservationContext.Operation.DELETE); observationRegistry.clear(); Awaitility.await() diff --git a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStorePropertiesTests.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/test/java/org/springframework/ai/vectorstore/pinecone/autoconfigure/PineconeVectorStorePropertiesTests.java similarity index 95% rename from spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStorePropertiesTests.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/test/java/org/springframework/ai/vectorstore/pinecone/autoconfigure/PineconeVectorStorePropertiesTests.java index 42d0eb74647..0e407b8e255 100644 --- a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/pinecone/PineconeVectorStorePropertiesTests.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone/src/test/java/org/springframework/ai/vectorstore/pinecone/autoconfigure/PineconeVectorStorePropertiesTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.pinecone; +package org.springframework.ai.vectorstore.pinecone.autoconfigure; import java.time.Duration; diff --git a/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/pom.xml b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/pom.xml new file mode 100644 index 00000000000..f806146d5d5 --- /dev/null +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/pom.xml @@ -0,0 +1,111 @@ + + + + + 4.0.0 + + org.springframework.ai + spring-ai + 1.0.0-SNAPSHOT + ../../../pom.xml + + spring-ai-autoconfigure-vectorstore-qdrant + jar + Spring AI Auto Configuration for Qdrant vector store + Spring AI Auto Configuration for Qdrant vector store + https://github.com/spring-projects/spring-ai + + + https://github.com/spring-projects/spring-ai + git://github.com/spring-projects/spring-ai.git + git@github.com:spring-projects/spring-ai.git + + + + 1.65.1 + + + + + org.springframework.ai + spring-ai-qdrant-store + ${project.parent.version} + true + + + + io.grpc + grpc-api + ${grpc.version} + provided + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-configuration-processor + true + + + + org.springframework.ai + spring-ai-test + ${project.parent.version} + test + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-testcontainers + test + + + org.testcontainers + testcontainers + test + + + org.testcontainers + qdrant + test + + + org.testcontainers + junit-jupiter + test + + + org.awaitility + awaitility + test + + + org.springframework.ai + spring-ai-transformers + ${project.parent.version} + test + + + diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantConnectionDetails.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantConnectionDetails.java similarity index 88% rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantConnectionDetails.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantConnectionDetails.java index 9027c6ab016..c3dea25a492 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantConnectionDetails.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantConnectionDetails.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.qdrant; +package org.springframework.ai.vectorstore.qdrant.autoconfigure; import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreAutoConfiguration.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStoreAutoConfiguration.java similarity index 97% rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreAutoConfiguration.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStoreAutoConfiguration.java index 0521484be57..b01143a9a94 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreAutoConfiguration.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStoreAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.qdrant; +package org.springframework.ai.vectorstore.qdrant.autoconfigure; import io.micrometer.observation.ObservationRegistry; import io.qdrant.client.QdrantClient; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreProperties.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStoreProperties.java similarity index 91% rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreProperties.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStoreProperties.java index 64552550c7d..2de14e4fda0 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreProperties.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStoreProperties.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,9 +14,9 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.qdrant; +package org.springframework.ai.vectorstore.qdrant.autoconfigure; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.ai.vectorstore.qdrant.QdrantVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 00000000000..dd052b67e2a --- /dev/null +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,16 @@ +# +# Copyright 2025-2025 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +org.springframework.ai.vectorstore.qdrant.autoconfigure.QdrantVectorStoreAutoConfiguration diff --git a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreAutoConfigurationIT.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/test/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStoreAutoConfigurationIT.java similarity index 90% rename from spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreAutoConfigurationIT.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/test/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStoreAutoConfigurationIT.java index c6b28d44017..764c94a3333 100644 --- a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreAutoConfigurationIT.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/test/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStoreAutoConfigurationIT.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.qdrant; +package org.springframework.ai.vectorstore.qdrant.autoconfigure; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -30,6 +30,7 @@ import org.springframework.ai.document.Document; import org.springframework.ai.embedding.EmbeddingModel; import org.springframework.ai.observation.conventions.VectorStoreProvider; +import org.springframework.ai.test.vectorstore.ObservationTestUtil; import org.springframework.ai.transformers.TransformersEmbeddingModel; import org.springframework.ai.vectorstore.SearchRequest; import org.springframework.ai.vectorstore.VectorStore; @@ -41,7 +42,6 @@ import org.springframework.core.io.DefaultResourceLoader; import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.ai.autoconfigure.vectorstore.observation.ObservationTestUtil.assertObservationRegistry; /** * @author Christian Tzolov @@ -87,7 +87,7 @@ public void addAndSearch() { vectorStore.add(this.documents); - assertObservationRegistry(observationRegistry, VectorStoreProvider.QDRANT, + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.QDRANT, VectorStoreObservationContext.Operation.ADD); observationRegistry.clear(); @@ -99,7 +99,7 @@ public void addAndSearch() { assertThat(resultDoc.getId()).isEqualTo(this.documents.get(2).getId()); assertThat(resultDoc.getMetadata()).containsKeys("depression", "distance"); - assertObservationRegistry(observationRegistry, VectorStoreProvider.QDRANT, + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.QDRANT, VectorStoreObservationContext.Operation.QUERY); observationRegistry.clear(); @@ -108,7 +108,7 @@ public void addAndSearch() { results = vectorStore.similaritySearch(SearchRequest.builder().query("Great Depression").topK(1).build()); assertThat(results).hasSize(0); - assertObservationRegistry(observationRegistry, VectorStoreProvider.QDRANT, + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.QDRANT, VectorStoreObservationContext.Operation.DELETE); observationRegistry.clear(); }); diff --git a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreCloudAutoConfigurationIT.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/test/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStoreCloudAutoConfigurationIT.java similarity index 97% rename from spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreCloudAutoConfigurationIT.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/test/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStoreCloudAutoConfigurationIT.java index be3e0536996..4cb8a794e6e 100644 --- a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStoreCloudAutoConfigurationIT.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/test/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStoreCloudAutoConfigurationIT.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.qdrant; +package org.springframework.ai.vectorstore.qdrant.autoconfigure; import java.io.IOException; import java.nio.charset.StandardCharsets; diff --git a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStorePropertiesTests.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/test/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStorePropertiesTests.java similarity index 93% rename from spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStorePropertiesTests.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/test/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStorePropertiesTests.java index 31c3e528262..ef7169a93f3 100644 --- a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/qdrant/QdrantVectorStorePropertiesTests.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant/src/test/java/org/springframework/ai/vectorstore/qdrant/autoconfigure/QdrantVectorStorePropertiesTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.qdrant; +package org.springframework.ai.vectorstore.qdrant.autoconfigure; import org.junit.jupiter.api.Test; diff --git a/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/pom.xml b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/pom.xml new file mode 100644 index 00000000000..38c105d3469 --- /dev/null +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/pom.xml @@ -0,0 +1,102 @@ + + + + + 4.0.0 + + org.springframework.ai + spring-ai + 1.0.0-SNAPSHOT + ../../../pom.xml + + spring-ai-autoconfigure-vectorstore-typesense + jar + Spring AI Auto Configuration for Typesense vector store + Spring AI Auto Configuration for Typesense vector store + https://github.com/spring-projects/spring-ai + + + https://github.com/spring-projects/spring-ai + git://github.com/spring-projects/spring-ai.git + git@github.com:spring-projects/spring-ai.git + + + + + + org.springframework.ai + spring-ai-typesense-store + ${project.parent.version} + true + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-configuration-processor + true + + + + org.springframework.ai + spring-ai-test + ${project.parent.version} + test + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-testcontainers + test + + + org.testcontainers + testcontainers + test + + + org.testcontainers + junit-jupiter + test + + + org.awaitility + awaitility + test + + + org.testcontainers + typesense + 1.20.4 + test + + + org.springframework.ai + spring-ai-transformers + ${project.parent.version} + test + + + diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseConnectionDetails.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseConnectionDetails.java similarity index 88% rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseConnectionDetails.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseConnectionDetails.java index 3145c15dc19..79643b2527e 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseConnectionDetails.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseConnectionDetails.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.typesense; +package org.springframework.ai.vectorstore.typesense.autoconfigure; import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseServiceClientProperties.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseServiceClientProperties.java similarity index 93% rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseServiceClientProperties.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseServiceClientProperties.java index 64683100c2f..9b62ef893df 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseServiceClientProperties.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseServiceClientProperties.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.typesense; +package org.springframework.ai.vectorstore.typesense.autoconfigure; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreAutoConfiguration.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseVectorStoreAutoConfiguration.java similarity index 98% rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreAutoConfiguration.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseVectorStoreAutoConfiguration.java index badcfbba17d..8822ce57e89 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreAutoConfiguration.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseVectorStoreAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.typesense; +package org.springframework.ai.vectorstore.typesense.autoconfigure; import java.time.Duration; import java.util.ArrayList; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreProperties.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseVectorStoreProperties.java similarity index 89% rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreProperties.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseVectorStoreProperties.java index 6c49bfa8a05..8b678d49e27 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreProperties.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseVectorStoreProperties.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,9 +14,9 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.typesense; +package org.springframework.ai.vectorstore.typesense.autoconfigure; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.ai.vectorstore.typesense.TypesenseVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 00000000000..1f761aacd7c --- /dev/null +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,16 @@ +# +# Copyright 2025-2025 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +org.springframework.ai.vectorstore.typesense.autoconfigure.TypesenseVectorStoreAutoConfiguration diff --git a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreAutoConfigurationIT.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/test/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseVectorStoreAutoConfigurationIT.java similarity index 90% rename from spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreAutoConfigurationIT.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/test/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseVectorStoreAutoConfigurationIT.java index 2c297ee7748..a3213b05dd9 100644 --- a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/typesense/TypesenseVectorStoreAutoConfigurationIT.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense/src/test/java/org/springframework/ai/vectorstore/typesense/autoconfigure/TypesenseVectorStoreAutoConfigurationIT.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.typesense; +package org.springframework.ai.vectorstore.typesense.autoconfigure; import java.util.List; import java.util.Map; @@ -29,6 +29,7 @@ import org.springframework.ai.document.Document; import org.springframework.ai.embedding.EmbeddingModel; import org.springframework.ai.observation.conventions.VectorStoreProvider; +import org.springframework.ai.test.vectorstore.ObservationTestUtil; import org.springframework.ai.transformers.TransformersEmbeddingModel; import org.springframework.ai.vectorstore.SearchRequest; import org.springframework.ai.vectorstore.VectorStore; @@ -39,7 +40,6 @@ import org.springframework.context.annotation.Configuration; import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.ai.autoconfigure.vectorstore.observation.ObservationTestUtil.assertObservationRegistry; /** * @author Pablo Sanchidrian Herrera @@ -79,7 +79,7 @@ public void addAndSearch() { vectorStore.add(this.documents); - assertObservationRegistry(observationRegistry, VectorStoreProvider.TYPESENSE, + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.TYPESENSE, VectorStoreObservationContext.Operation.ADD); observationRegistry.clear(); @@ -94,13 +94,13 @@ public void addAndSearch() { assertThat(resultDoc.getMetadata()).hasSize(2); assertThat(resultDoc.getMetadata()).containsKeys("spring", "distance"); - assertObservationRegistry(observationRegistry, VectorStoreProvider.TYPESENSE, + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.TYPESENSE, VectorStoreObservationContext.Operation.QUERY); observationRegistry.clear(); vectorStore.delete(this.documents.stream().map(doc -> doc.getId()).toList()); - assertObservationRegistry(observationRegistry, VectorStoreProvider.TYPESENSE, + ObservationTestUtil.assertObservationRegistry(observationRegistry, VectorStoreProvider.TYPESENSE, VectorStoreObservationContext.Operation.DELETE); observationRegistry.clear(); diff --git a/auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/pom.xml b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/pom.xml similarity index 97% rename from auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/pom.xml rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/pom.xml index 6fa0237130e..09f2320a4cc 100644 --- a/auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/pom.xml +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/pom.xml @@ -25,7 +25,7 @@ 1.0.0-SNAPSHOT ../../../pom.xml - spring-ai-weaviate-store-spring-boot-autoconfigure + spring-ai-autoconfigure-vectorstore-weaviate jar Spring AI Auto Configuration for Weaviate vector store Spring AI Auto Configuration for Weaviate vector store diff --git a/auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateConnectionDetails.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/main/java/org/springframework/ai/vectorstore/weaviate/autoconfigure/WeaviateConnectionDetails.java similarity index 92% rename from auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateConnectionDetails.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/main/java/org/springframework/ai/vectorstore/weaviate/autoconfigure/WeaviateConnectionDetails.java index 403c3307990..a9fde49c625 100644 --- a/auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateConnectionDetails.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/main/java/org/springframework/ai/vectorstore/weaviate/autoconfigure/WeaviateConnectionDetails.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.weaviate; +package org.springframework.ai.vectorstore.weaviate.autoconfigure; import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails; diff --git a/auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreAutoConfiguration.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/main/java/org/springframework/ai/vectorstore/weaviate/autoconfigure/WeaviateVectorStoreAutoConfiguration.java similarity index 98% rename from auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreAutoConfiguration.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/main/java/org/springframework/ai/vectorstore/weaviate/autoconfigure/WeaviateVectorStoreAutoConfiguration.java index 0f744b87161..a7d1453a1e1 100644 --- a/auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreAutoConfiguration.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/main/java/org/springframework/ai/vectorstore/weaviate/autoconfigure/WeaviateVectorStoreAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.weaviate; +package org.springframework.ai.vectorstore.weaviate.autoconfigure; import io.micrometer.observation.ObservationRegistry; import io.weaviate.client.Config; diff --git a/auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreProperties.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/main/java/org/springframework/ai/vectorstore/weaviate/autoconfigure/WeaviateVectorStoreProperties.java similarity index 97% rename from auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreProperties.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/main/java/org/springframework/ai/vectorstore/weaviate/autoconfigure/WeaviateVectorStoreProperties.java index 57dd955939a..4241af11ddc 100644 --- a/auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreProperties.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/main/java/org/springframework/ai/vectorstore/weaviate/autoconfigure/WeaviateVectorStoreProperties.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.weaviate; +package org.springframework.ai.vectorstore.weaviate.autoconfigure; import java.util.Map; diff --git a/auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports similarity index 90% rename from auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 294e964625d..0c318ccf71c 100644 --- a/auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -org.springframework.ai.autoconfigure.vectorstore.weaviate.WeaviateVectorStoreAutoConfiguration +org.springframework.ai.vectorstore.weaviate.autoconfigure.WeaviateVectorStoreAutoConfiguration diff --git a/auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreAutoConfigurationIT.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/test/java/org/springframework/ai/vectorstore/weaviate/autoconfigure/WeaviateVectorStoreAutoConfigurationIT.java similarity index 99% rename from auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreAutoConfigurationIT.java rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/test/java/org/springframework/ai/vectorstore/weaviate/autoconfigure/WeaviateVectorStoreAutoConfigurationIT.java index 0f68b9358c6..eddd4ba8057 100644 --- a/auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/weaviate/WeaviateVectorStoreAutoConfigurationIT.java +++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate/src/test/java/org/springframework/ai/vectorstore/weaviate/autoconfigure/WeaviateVectorStoreAutoConfigurationIT.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore.weaviate; +package org.springframework.ai.vectorstore.weaviate.autoconfigure; import java.util.List; import java.util.Map; diff --git a/pom.xml b/pom.xml index 79e670db33b..f24869059b6 100644 --- a/pom.xml +++ b/pom.xml @@ -39,7 +39,11 @@ auto-configurations/spring-ai-mcp-client auto-configurations/spring-ai-mcp-server - auto-configurations/vector-stores/spring-ai-weaviate-store-spring-boot-autoconfigure + auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-milvus + auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-pinecone + auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-qdrant + auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-typesense + auto-configurations/vector-stores/spring-ai-autoconfigure-vectorstore-weaviate spring-ai-retry spring-ai-spring-boot-docker-compose diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/CommonVectorStoreProperties.java b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/properties/CommonVectorStoreProperties.java similarity index 91% rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/CommonVectorStoreProperties.java rename to spring-ai-core/src/main/java/org/springframework/ai/vectorstore/properties/CommonVectorStoreProperties.java index 8106eb3b2c4..a30704d0f1d 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/CommonVectorStoreProperties.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/properties/CommonVectorStoreProperties.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 the original author or authors. + * Copyright 2023-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.ai.autoconfigure.vectorstore; +package org.springframework.ai.vectorstore.properties; /** * Common properties for vector stores. diff --git a/spring-ai-spring-boot-autoconfigure/pom.xml b/spring-ai-spring-boot-autoconfigure/pom.xml index 402abd895a5..fa508c9de19 100644 --- a/spring-ai-spring-boot-autoconfigure/pom.xml +++ b/spring-ai-spring-boot-autoconfigure/pom.xml @@ -132,14 +132,6 @@ true - - - org.springframework.ai - spring-ai-milvus-store - ${project.parent.version} - true - - org.springframework.ai @@ -332,14 +324,6 @@ true - - - org.springframework.ai - spring-ai-qdrant-store - ${project.parent.version} - true - - org.springframework.ai spring-ai-mongodb-atlas-store @@ -535,12 +519,6 @@ test - - org.testcontainers - milvus - test - - org.testcontainers mongodb @@ -548,31 +526,12 @@ test - - org.testcontainers - qdrant - test - - org.testcontainers elasticsearch test - - org.testcontainers - typesense - 1.20.4 - test - - - - org.testcontainers - weaviate - test - - org.opensearch opensearch-testcontainers diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreProperties.java index 96c55b7c678..3afd114d6a5 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreProperties.java @@ -16,7 +16,7 @@ package org.springframework.ai.autoconfigure.vectorstore.azure; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.ai.vectorstore.azure.AzureVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cassandra/CassandraVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cassandra/CassandraVectorStoreProperties.java index 19174772f6b..b7a8d202024 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cassandra/CassandraVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cassandra/CassandraVectorStoreProperties.java @@ -20,7 +20,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.ai.vectorstore.cassandra.CassandraVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreProperties.java index 2a54f449a6a..3c102e1c1ee 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreProperties.java @@ -16,7 +16,7 @@ package org.springframework.ai.autoconfigure.vectorstore.chroma; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.ai.chroma.vectorstore.ChromaVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreProperties.java index 6f34b69a1de..1c4382a0cf5 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreProperties.java @@ -16,7 +16,7 @@ package org.springframework.ai.autoconfigure.vectorstore.cosmosdb; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.boot.context.properties.ConfigurationProperties; /** diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/elasticsearch/ElasticsearchVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/elasticsearch/ElasticsearchVectorStoreProperties.java index 876c13ab579..ddc48279c33 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/elasticsearch/ElasticsearchVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/elasticsearch/ElasticsearchVectorStoreProperties.java @@ -16,7 +16,7 @@ package org.springframework.ai.autoconfigure.vectorstore.elasticsearch; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.ai.vectorstore.elasticsearch.SimilarityFunction; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreProperties.java index fcdfee049b3..8d0b3a77164 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreProperties.java @@ -16,7 +16,7 @@ package org.springframework.ai.autoconfigure.vectorstore.gemfire; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.ai.vectorstore.gemfire.GemFireVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mariadb/MariaDbStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mariadb/MariaDbStoreProperties.java index 2e9f3cb27c5..e3cefd7ad72 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mariadb/MariaDbStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mariadb/MariaDbStoreProperties.java @@ -16,7 +16,7 @@ package org.springframework.ai.autoconfigure.vectorstore.mariadb; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.ai.vectorstore.mariadb.MariaDBVectorStore; import org.springframework.ai.vectorstore.mariadb.MariaDBVectorStore.MariaDBDistanceType; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mongo/MongoDBAtlasVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mongo/MongoDBAtlasVectorStoreProperties.java index a666855d512..99812f4ec7f 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mongo/MongoDBAtlasVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/mongo/MongoDBAtlasVectorStoreProperties.java @@ -18,7 +18,7 @@ import java.util.List; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.boot.context.properties.ConfigurationProperties; /** diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/neo4j/Neo4jVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/neo4j/Neo4jVectorStoreProperties.java index 52606c754b1..ae46afecdae 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/neo4j/Neo4jVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/neo4j/Neo4jVectorStoreProperties.java @@ -16,7 +16,7 @@ package org.springframework.ai.autoconfigure.vectorstore.neo4j; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.ai.vectorstore.neo4j.Neo4jVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/opensearch/OpenSearchVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/opensearch/OpenSearchVectorStoreProperties.java index 16617288ef9..2a08ebc5f14 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/opensearch/OpenSearchVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/opensearch/OpenSearchVectorStoreProperties.java @@ -18,7 +18,7 @@ import java.util.List; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties(prefix = OpenSearchVectorStoreProperties.CONFIG_PREFIX) diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/oracle/OracleVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/oracle/OracleVectorStoreProperties.java index ff355b99261..9357d6c5f0d 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/oracle/OracleVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/oracle/OracleVectorStoreProperties.java @@ -16,7 +16,7 @@ package org.springframework.ai.autoconfigure.vectorstore.oracle; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.ai.vectorstore.oracle.OracleVectorStore; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pgvector/PgVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pgvector/PgVectorStoreProperties.java index 371b06255e1..d27c1b30f21 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pgvector/PgVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/pgvector/PgVectorStoreProperties.java @@ -16,7 +16,7 @@ package org.springframework.ai.autoconfigure.vectorstore.pgvector; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.ai.vectorstore.pgvector.PgVectorStore; import org.springframework.ai.vectorstore.pgvector.PgVectorStore.PgDistanceType; import org.springframework.ai.vectorstore.pgvector.PgVectorStore.PgIndexType; diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreProperties.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreProperties.java index 21859a5bd78..310e8f5d987 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreProperties.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreProperties.java @@ -16,7 +16,7 @@ package org.springframework.ai.autoconfigure.vectorstore.redis; -import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties; +import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties; import org.springframework.boot.context.properties.ConfigurationProperties; /** diff --git a/spring-ai-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-ai-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 286f6b36a64..bcc1ff83da4 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/spring-ai-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -31,13 +31,10 @@ org.springframework.ai.autoconfigure.ollama.OllamaAutoConfiguration org.springframework.ai.autoconfigure.mistralai.MistralAiAutoConfiguration org.springframework.ai.autoconfigure.vectorstore.oracle.OracleVectorStoreAutoConfiguration org.springframework.ai.autoconfigure.vectorstore.pgvector.PgVectorStoreAutoConfiguration -org.springframework.ai.autoconfigure.vectorstore.pinecone.PineconeVectorStoreAutoConfiguration -org.springframework.ai.autoconfigure.vectorstore.milvus.MilvusVectorStoreAutoConfiguration org.springframework.ai.autoconfigure.vectorstore.redis.RedisVectorStoreAutoConfiguration org.springframework.ai.autoconfigure.vectorstore.chroma.ChromaVectorStoreAutoConfiguration org.springframework.ai.autoconfigure.vectorstore.azure.AzureVectorStoreAutoConfiguration org.springframework.ai.autoconfigure.vectorstore.neo4j.Neo4jVectorStoreAutoConfiguration -org.springframework.ai.autoconfigure.vectorstore.qdrant.QdrantVectorStoreAutoConfiguration org.springframework.ai.autoconfigure.vectorstore.hanadb.HanaCloudVectorStoreAutoConfiguration org.springframework.ai.autoconfigure.vectorstore.cosmosdb.CosmosDBVectorStoreAutoConfiguration org.springframework.ai.autoconfigure.vectorstore.mariadb.MariaDbStoreAutoConfiguration @@ -51,7 +48,6 @@ org.springframework.ai.autoconfigure.vectorstore.gemfire.GemFireVectorStoreAutoC org.springframework.ai.autoconfigure.vectorstore.cassandra.CassandraVectorStoreAutoConfiguration org.springframework.ai.autoconfigure.zhipuai.ZhiPuAiAutoConfiguration org.springframework.ai.autoconfigure.chat.client.ChatClientAutoConfiguration -org.springframework.ai.autoconfigure.vectorstore.typesense.TypesenseVectorStoreAutoConfiguration org.springframework.ai.autoconfigure.vectorstore.opensearch.OpenSearchVectorStoreAutoConfiguration org.springframework.ai.autoconfigure.moonshot.MoonshotAutoConfiguration org.springframework.ai.autoconfigure.qianfan.QianFanAutoConfiguration diff --git a/spring-ai-spring-boot-docker-compose/pom.xml b/spring-ai-spring-boot-docker-compose/pom.xml index 68e1b02e53d..1dda0d1b9a1 100644 --- a/spring-ai-spring-boot-docker-compose/pom.xml +++ b/spring-ai-spring-boot-docker-compose/pom.xml @@ -49,7 +49,17 @@ org.springframework.ai - spring-ai-weaviate-store-spring-boot-autoconfigure + spring-ai-autoconfigure-vectorstore-weaviate + ${project.parent.version} + + + org.springframework.ai + spring-ai-autoconfigure-vectorstore-qdrant + ${project.parent.version} + + + org.springframework.ai + spring-ai-autoconfigure-vectorstore-typesense ${project.parent.version} diff --git a/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/qdrant/QdrantDockerComposeConnectionDetailsFactory.java b/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/qdrant/QdrantDockerComposeConnectionDetailsFactory.java index 2de9b0a4be9..18880b78e58 100644 --- a/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/qdrant/QdrantDockerComposeConnectionDetailsFactory.java +++ b/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/qdrant/QdrantDockerComposeConnectionDetailsFactory.java @@ -16,7 +16,7 @@ package org.springframework.ai.docker.compose.service.connection.qdrant; -import org.springframework.ai.autoconfigure.vectorstore.qdrant.QdrantConnectionDetails; +import org.springframework.ai.vectorstore.qdrant.autoconfigure.QdrantConnectionDetails; import org.springframework.boot.docker.compose.core.RunningService; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionDetailsFactory; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionSource; diff --git a/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/typesense/TypesenseDockerComposeConnectionDetailsFactory.java b/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/typesense/TypesenseDockerComposeConnectionDetailsFactory.java index 011461828e2..f6cd46b2f97 100644 --- a/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/typesense/TypesenseDockerComposeConnectionDetailsFactory.java +++ b/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/typesense/TypesenseDockerComposeConnectionDetailsFactory.java @@ -16,7 +16,7 @@ package org.springframework.ai.docker.compose.service.connection.typesense; -import org.springframework.ai.autoconfigure.vectorstore.typesense.TypesenseConnectionDetails; +import org.springframework.ai.vectorstore.typesense.autoconfigure.TypesenseConnectionDetails; import org.springframework.boot.docker.compose.core.RunningService; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionDetailsFactory; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionSource; diff --git a/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/weaviate/WeaviateDockerComposeConnectionDetailsFactory.java b/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/weaviate/WeaviateDockerComposeConnectionDetailsFactory.java index 2f8216b7db2..21c7515d697 100644 --- a/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/weaviate/WeaviateDockerComposeConnectionDetailsFactory.java +++ b/spring-ai-spring-boot-docker-compose/src/main/java/org/springframework/ai/docker/compose/service/connection/weaviate/WeaviateDockerComposeConnectionDetailsFactory.java @@ -16,7 +16,7 @@ package org.springframework.ai.docker.compose.service.connection.weaviate; -import org.springframework.ai.autoconfigure.vectorstore.weaviate.WeaviateConnectionDetails; +import org.springframework.ai.vectorstore.weaviate.autoconfigure.WeaviateConnectionDetails; import org.springframework.boot.docker.compose.core.RunningService; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionDetailsFactory; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionSource; diff --git a/spring-ai-spring-boot-docker-compose/src/test/java/org/springframework/ai/docker/compose/service/connection/qdrant/QdrantDockerComposeConnectionDetailsFactoryIT.java b/spring-ai-spring-boot-docker-compose/src/test/java/org/springframework/ai/docker/compose/service/connection/qdrant/QdrantDockerComposeConnectionDetailsFactoryIT.java index d1547198218..f44b31dad02 100644 --- a/spring-ai-spring-boot-docker-compose/src/test/java/org/springframework/ai/docker/compose/service/connection/qdrant/QdrantDockerComposeConnectionDetailsFactoryIT.java +++ b/spring-ai-spring-boot-docker-compose/src/test/java/org/springframework/ai/docker/compose/service/connection/qdrant/QdrantDockerComposeConnectionDetailsFactoryIT.java @@ -19,7 +19,7 @@ import org.junit.jupiter.api.Test; import org.testcontainers.utility.DockerImageName; -import org.springframework.ai.autoconfigure.vectorstore.qdrant.QdrantConnectionDetails; +import org.springframework.ai.vectorstore.qdrant.autoconfigure.QdrantConnectionDetails; import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIT; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-ai-spring-boot-docker-compose/src/test/java/org/springframework/ai/docker/compose/service/connection/typesense/TypesenseDockerComposeConnectionDetailsFactoryIT.java b/spring-ai-spring-boot-docker-compose/src/test/java/org/springframework/ai/docker/compose/service/connection/typesense/TypesenseDockerComposeConnectionDetailsFactoryIT.java index d27a345240d..2b35fcffa38 100644 --- a/spring-ai-spring-boot-docker-compose/src/test/java/org/springframework/ai/docker/compose/service/connection/typesense/TypesenseDockerComposeConnectionDetailsFactoryIT.java +++ b/spring-ai-spring-boot-docker-compose/src/test/java/org/springframework/ai/docker/compose/service/connection/typesense/TypesenseDockerComposeConnectionDetailsFactoryIT.java @@ -19,7 +19,7 @@ import org.junit.jupiter.api.Test; import org.testcontainers.utility.DockerImageName; -import org.springframework.ai.autoconfigure.vectorstore.typesense.TypesenseConnectionDetails; +import org.springframework.ai.vectorstore.typesense.autoconfigure.TypesenseConnectionDetails; import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIT; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-ai-spring-boot-docker-compose/src/test/java/org/springframework/ai/docker/compose/service/connection/weaviate/WeaviateDockerComposeConnectionDetailsFactoryIT.java b/spring-ai-spring-boot-docker-compose/src/test/java/org/springframework/ai/docker/compose/service/connection/weaviate/WeaviateDockerComposeConnectionDetailsFactoryIT.java index 3cc30eb196d..6c4f6e06ad3 100644 --- a/spring-ai-spring-boot-docker-compose/src/test/java/org/springframework/ai/docker/compose/service/connection/weaviate/WeaviateDockerComposeConnectionDetailsFactoryIT.java +++ b/spring-ai-spring-boot-docker-compose/src/test/java/org/springframework/ai/docker/compose/service/connection/weaviate/WeaviateDockerComposeConnectionDetailsFactoryIT.java @@ -19,7 +19,7 @@ import org.junit.jupiter.api.Test; import org.testcontainers.utility.DockerImageName; -import org.springframework.ai.autoconfigure.vectorstore.weaviate.WeaviateConnectionDetails; +import org.springframework.ai.vectorstore.weaviate.autoconfigure.WeaviateConnectionDetails; import org.springframework.boot.docker.compose.service.connection.test.AbstractDockerComposeIT; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-ai-spring-boot-starters/spring-ai-starter-milvus-store/pom.xml b/spring-ai-spring-boot-starters/spring-ai-starter-milvus-store/pom.xml index 49c66a4c2c8..6ae45ad1be8 100644 --- a/spring-ai-spring-boot-starters/spring-ai-starter-milvus-store/pom.xml +++ b/spring-ai-spring-boot-starters/spring-ai-starter-milvus-store/pom.xml @@ -48,6 +48,12 @@ ${project.parent.version} + + org.springframework.ai + spring-ai-autoconfigure-vectorstore-milvus + ${project.parent.version} + + org.springframework.ai spring-ai-milvus-store diff --git a/spring-ai-spring-boot-starters/spring-ai-starter-pinecone-store/pom.xml b/spring-ai-spring-boot-starters/spring-ai-starter-pinecone-store/pom.xml index bb1977f6d82..8b803f9e21a 100644 --- a/spring-ai-spring-boot-starters/spring-ai-starter-pinecone-store/pom.xml +++ b/spring-ai-spring-boot-starters/spring-ai-starter-pinecone-store/pom.xml @@ -48,6 +48,12 @@ ${project.parent.version} + + org.springframework.ai + spring-ai-autoconfigure-vectorstore-pinecone + ${project.parent.version} + + org.springframework.ai spring-ai-pinecone-store diff --git a/spring-ai-spring-boot-starters/spring-ai-starter-qdrant-store/pom.xml b/spring-ai-spring-boot-starters/spring-ai-starter-qdrant-store/pom.xml index fddb080fe56..14aa1c68cb4 100644 --- a/spring-ai-spring-boot-starters/spring-ai-starter-qdrant-store/pom.xml +++ b/spring-ai-spring-boot-starters/spring-ai-starter-qdrant-store/pom.xml @@ -48,6 +48,12 @@ ${project.parent.version} + + org.springframework.ai + spring-ai-autoconfigure-vectorstore-qdrant + ${project.parent.version} + + org.springframework.ai spring-ai-qdrant-store diff --git a/spring-ai-spring-boot-starters/spring-ai-starter-typesense-store/pom.xml b/spring-ai-spring-boot-starters/spring-ai-starter-typesense-store/pom.xml index 2b3e525187e..11c993621fd 100644 --- a/spring-ai-spring-boot-starters/spring-ai-starter-typesense-store/pom.xml +++ b/spring-ai-spring-boot-starters/spring-ai-starter-typesense-store/pom.xml @@ -50,6 +50,12 @@ ${project.parent.version} + + org.springframework.ai + spring-ai-autoconfigure-vectorstore-typesense + ${project.parent.version} + + org.springframework.ai spring-ai-typesense-store @@ -57,4 +63,4 @@ - \ No newline at end of file + diff --git a/spring-ai-spring-boot-starters/spring-ai-starter-weaviate-store/pom.xml b/spring-ai-spring-boot-starters/spring-ai-starter-weaviate-store/pom.xml index 443d10ebbfd..a97750b84b1 100644 --- a/spring-ai-spring-boot-starters/spring-ai-starter-weaviate-store/pom.xml +++ b/spring-ai-spring-boot-starters/spring-ai-starter-weaviate-store/pom.xml @@ -44,7 +44,7 @@ org.springframework.ai - spring-ai-weaviate-store-spring-boot-autoconfigure + spring-ai-autoconfigure-vectorstore-weaviate ${project.parent.version} diff --git a/spring-ai-spring-boot-testcontainers/pom.xml b/spring-ai-spring-boot-testcontainers/pom.xml index 11a8dda11af..3957c2ffbf9 100644 --- a/spring-ai-spring-boot-testcontainers/pom.xml +++ b/spring-ai-spring-boot-testcontainers/pom.xml @@ -49,7 +49,23 @@ org.springframework.ai - spring-ai-weaviate-store-spring-boot-autoconfigure + spring-ai-autoconfigure-vectorstore-milvus + ${project.parent.version} + + + org.springframework.ai + spring-ai-autoconfigure-vectorstore-qdrant + ${project.parent.version} + + + org.springframework.ai + spring-ai-autoconfigure-vectorstore-weaviate + ${project.parent.version} + + + + org.springframework.ai + spring-ai-autoconfigure-vectorstore-typesense ${project.parent.version} diff --git a/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/milvus/MilvusContainerConnectionDetailsFactory.java b/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/milvus/MilvusContainerConnectionDetailsFactory.java index 137f8529676..c317c2cc07d 100644 --- a/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/milvus/MilvusContainerConnectionDetailsFactory.java +++ b/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/milvus/MilvusContainerConnectionDetailsFactory.java @@ -18,7 +18,7 @@ import org.testcontainers.milvus.MilvusContainer; -import org.springframework.ai.autoconfigure.vectorstore.milvus.MilvusServiceClientConnectionDetails; +import org.springframework.ai.vectorstore.milvus.autoconfigure.MilvusServiceClientConnectionDetails; import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory; import org.springframework.boot.testcontainers.service.connection.ContainerConnectionSource; diff --git a/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/qdrant/QdrantContainerConnectionDetailsFactory.java b/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/qdrant/QdrantContainerConnectionDetailsFactory.java index e6a6bd5368c..bc1f169fffd 100644 --- a/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/qdrant/QdrantContainerConnectionDetailsFactory.java +++ b/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/qdrant/QdrantContainerConnectionDetailsFactory.java @@ -18,7 +18,7 @@ import org.testcontainers.qdrant.QdrantContainer; -import org.springframework.ai.autoconfigure.vectorstore.qdrant.QdrantConnectionDetails; +import org.springframework.ai.vectorstore.qdrant.autoconfigure.QdrantConnectionDetails; import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory; import org.springframework.boot.testcontainers.service.connection.ContainerConnectionSource; diff --git a/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/typesense/TypesenseContainerConnectionDetailsFactory.java b/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/typesense/TypesenseContainerConnectionDetailsFactory.java index f2bc175c026..28f312d4eb0 100644 --- a/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/typesense/TypesenseContainerConnectionDetailsFactory.java +++ b/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/typesense/TypesenseContainerConnectionDetailsFactory.java @@ -18,7 +18,7 @@ import org.testcontainers.typesense.TypesenseContainer; -import org.springframework.ai.autoconfigure.vectorstore.typesense.TypesenseConnectionDetails; +import org.springframework.ai.vectorstore.typesense.autoconfigure.TypesenseConnectionDetails; import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory; import org.springframework.boot.testcontainers.service.connection.ContainerConnectionSource; diff --git a/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/weaviate/WeaviateContainerConnectionDetailsFactory.java b/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/weaviate/WeaviateContainerConnectionDetailsFactory.java index d953dfa9c7d..86cbbd93223 100644 --- a/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/weaviate/WeaviateContainerConnectionDetailsFactory.java +++ b/spring-ai-spring-boot-testcontainers/src/main/java/org/springframework/ai/testcontainers/service/connection/weaviate/WeaviateContainerConnectionDetailsFactory.java @@ -18,7 +18,7 @@ import org.testcontainers.weaviate.WeaviateContainer; -import org.springframework.ai.autoconfigure.vectorstore.weaviate.WeaviateConnectionDetails; +import org.springframework.ai.vectorstore.weaviate.autoconfigure.WeaviateConnectionDetails; import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory; import org.springframework.boot.testcontainers.service.connection.ContainerConnectionSource; diff --git a/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/milvus/MilvusContainerConnectionDetailsFactoryIT.java b/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/milvus/MilvusContainerConnectionDetailsFactoryIT.java index c148932b9fa..4dbf043cd95 100644 --- a/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/milvus/MilvusContainerConnectionDetailsFactoryIT.java +++ b/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/milvus/MilvusContainerConnectionDetailsFactoryIT.java @@ -25,7 +25,7 @@ import org.testcontainers.milvus.MilvusContainer; import org.springframework.ai.ResourceUtils; -import org.springframework.ai.autoconfigure.vectorstore.milvus.MilvusVectorStoreAutoConfiguration; +import org.springframework.ai.vectorstore.milvus.autoconfigure.MilvusVectorStoreAutoConfiguration; import org.springframework.ai.document.Document; import org.springframework.ai.embedding.EmbeddingModel; import org.springframework.ai.transformers.TransformersEmbeddingModel; diff --git a/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/qdrant/QdrantContainerConnectionDetailsFactoryIT.java b/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/qdrant/QdrantContainerConnectionDetailsFactoryIT.java index 15c5c981fbd..39b4c94f125 100644 --- a/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/qdrant/QdrantContainerConnectionDetailsFactoryIT.java +++ b/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/qdrant/QdrantContainerConnectionDetailsFactoryIT.java @@ -26,7 +26,7 @@ import org.testcontainers.junit.jupiter.Testcontainers; import org.testcontainers.qdrant.QdrantContainer; -import org.springframework.ai.autoconfigure.vectorstore.qdrant.QdrantVectorStoreAutoConfiguration; +import org.springframework.ai.vectorstore.qdrant.autoconfigure.QdrantVectorStoreAutoConfiguration; import org.springframework.ai.document.Document; import org.springframework.ai.embedding.EmbeddingModel; import org.springframework.ai.transformers.TransformersEmbeddingModel; diff --git a/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/qdrant/QdrantContainerWithApiKeyConnectionDetailsFactoryIT.java b/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/qdrant/QdrantContainerWithApiKeyConnectionDetailsFactoryIT.java index b856ae52dc1..11df3e951a1 100644 --- a/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/qdrant/QdrantContainerWithApiKeyConnectionDetailsFactoryIT.java +++ b/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/qdrant/QdrantContainerWithApiKeyConnectionDetailsFactoryIT.java @@ -26,7 +26,7 @@ import org.testcontainers.junit.jupiter.Testcontainers; import org.testcontainers.qdrant.QdrantContainer; -import org.springframework.ai.autoconfigure.vectorstore.qdrant.QdrantVectorStoreAutoConfiguration; +import org.springframework.ai.vectorstore.qdrant.autoconfigure.QdrantVectorStoreAutoConfiguration; import org.springframework.ai.document.Document; import org.springframework.ai.embedding.EmbeddingModel; import org.springframework.ai.transformers.TransformersEmbeddingModel; diff --git a/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/typesense/TypesenseContainerConnectionDetailsFactoryIT.java b/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/typesense/TypesenseContainerConnectionDetailsFactoryIT.java index b6b8c3b3f1a..e66146fb592 100644 --- a/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/typesense/TypesenseContainerConnectionDetailsFactoryIT.java +++ b/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/typesense/TypesenseContainerConnectionDetailsFactoryIT.java @@ -25,7 +25,7 @@ import org.testcontainers.typesense.TypesenseContainer; import org.springframework.ai.ResourceUtils; -import org.springframework.ai.autoconfigure.vectorstore.typesense.TypesenseVectorStoreAutoConfiguration; +import org.springframework.ai.vectorstore.typesense.autoconfigure.TypesenseVectorStoreAutoConfiguration; import org.springframework.ai.document.Document; import org.springframework.ai.embedding.EmbeddingModel; import org.springframework.ai.transformers.TransformersEmbeddingModel; diff --git a/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/weaviate/WeaviateContainerConnectionDetailsFactoryIT.java b/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/weaviate/WeaviateContainerConnectionDetailsFactoryIT.java index 17107c3c1ff..adcb49a787b 100644 --- a/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/weaviate/WeaviateContainerConnectionDetailsFactoryIT.java +++ b/spring-ai-spring-boot-testcontainers/src/test/java/org/springframework/ai/testcontainers/service/connection/weaviate/WeaviateContainerConnectionDetailsFactoryIT.java @@ -25,8 +25,8 @@ import org.testcontainers.junit.jupiter.Testcontainers; import org.testcontainers.weaviate.WeaviateContainer; -import org.springframework.ai.autoconfigure.vectorstore.weaviate.WeaviateVectorStoreAutoConfiguration; -import org.springframework.ai.autoconfigure.vectorstore.weaviate.WeaviateVectorStoreProperties; +import org.springframework.ai.vectorstore.weaviate.autoconfigure.WeaviateVectorStoreAutoConfiguration; +import org.springframework.ai.vectorstore.weaviate.autoconfigure.WeaviateVectorStoreProperties; import org.springframework.ai.document.Document; import org.springframework.ai.embedding.EmbeddingModel; import org.springframework.ai.transformers.TransformersEmbeddingModel;