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;