diff --git a/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/pom.xml b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/pom.xml
new file mode 100644
index 000000000..61980a98f
--- /dev/null
+++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/pom.xml
@@ -0,0 +1,81 @@
+
+
+
+
+ 4.0.0
+
+ org.springframework.ai
+ spring-ai
+ 1.0.0-SNAPSHOT
+ ../../../pom.xml
+
+ spring-ai-autoconfigure-vector-store-azure-cosmos-db
+ jar
+ Spring AI Auto Configuration for Azure Cosmos DB vector store
+ Spring AI Auto Configuration for Azure Cosmos DB 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-azure-cosmos-db-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.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/cosmosdb/CosmosDBVectorStoreAutoConfiguration.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/src/main/java/org/springframework/ai/vectorstore/cosmosdb/autoconfigure/CosmosDBVectorStoreAutoConfiguration.java
similarity index 97%
rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreAutoConfiguration.java
rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/src/main/java/org/springframework/ai/vectorstore/cosmosdb/autoconfigure/CosmosDBVectorStoreAutoConfiguration.java
index 5a1ff2f8f..9f3609ef6 100644
--- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreAutoConfiguration.java
+++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/src/main/java/org/springframework/ai/vectorstore/cosmosdb/autoconfigure/CosmosDBVectorStoreAutoConfiguration.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.autoconfigure.vectorstore.cosmosdb;
+package org.springframework.ai.vectorstore.cosmosdb.autoconfigure;
import com.azure.cosmos.CosmosAsyncClient;
import com.azure.cosmos.CosmosClientBuilder;
diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreProperties.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/src/main/java/org/springframework/ai/vectorstore/cosmosdb/autoconfigure/CosmosDBVectorStoreProperties.java
similarity index 97%
rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreProperties.java
rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/src/main/java/org/springframework/ai/vectorstore/cosmosdb/autoconfigure/CosmosDBVectorStoreProperties.java
index 1c4382a0c..644df9322 100644
--- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreProperties.java
+++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/src/main/java/org/springframework/ai/vectorstore/cosmosdb/autoconfigure/CosmosDBVectorStoreProperties.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.autoconfigure.vectorstore.cosmosdb;
+package org.springframework.ai.vectorstore.cosmosdb.autoconfigure;
import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git a/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 000000000..70a161c22
--- /dev/null
+++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/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.cosmosdb.autoconfigure.CosmosDBVectorStoreAutoConfiguration
diff --git a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreAutoConfigurationIT.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/src/test/java/org/springframework/ai/vectorstore/cosmosdb/autoconfigure/CosmosDBVectorStoreAutoConfigurationIT.java
similarity index 99%
rename from spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreAutoConfigurationIT.java
rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/src/test/java/org/springframework/ai/vectorstore/cosmosdb/autoconfigure/CosmosDBVectorStoreAutoConfigurationIT.java
index f1fab9f74..1912e1409 100644
--- a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/cosmosdb/CosmosDBVectorStoreAutoConfigurationIT.java
+++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db/src/test/java/org/springframework/ai/vectorstore/cosmosdb/autoconfigure/CosmosDBVectorStoreAutoConfigurationIT.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.autoconfigure.vectorstore.cosmosdb;
+package org.springframework.ai.vectorstore.cosmosdb.autoconfigure;
import java.util.HashMap;
import java.util.List;
diff --git a/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/pom.xml b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/pom.xml
new file mode 100644
index 000000000..71bd6add3
--- /dev/null
+++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/pom.xml
@@ -0,0 +1,81 @@
+
+
+
+
+ 4.0.0
+
+ org.springframework.ai
+ spring-ai
+ 1.0.0-SNAPSHOT
+ ../../../pom.xml
+
+ spring-ai-autoconfigure-vector-store-azure
+ jar
+ Spring AI Auto Configuration for Azure vector store
+ Spring AI Auto Configuration for Azure 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-azure-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.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/azure/AzureVectorStoreAutoConfiguration.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/src/main/java/org/springframework/ai/vectorstore/azure/autoconfigure/AzureVectorStoreAutoConfiguration.java
similarity index 98%
rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreAutoConfiguration.java
rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/src/main/java/org/springframework/ai/vectorstore/azure/autoconfigure/AzureVectorStoreAutoConfiguration.java
index 1d30c15c7..efd07c513 100644
--- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreAutoConfiguration.java
+++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/src/main/java/org/springframework/ai/vectorstore/azure/autoconfigure/AzureVectorStoreAutoConfiguration.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.autoconfigure.vectorstore.azure;
+package org.springframework.ai.vectorstore.azure.autoconfigure;
import java.util.List;
diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreProperties.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/src/main/java/org/springframework/ai/vectorstore/azure/autoconfigure/AzureVectorStoreProperties.java
similarity index 97%
rename from spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreProperties.java
rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/src/main/java/org/springframework/ai/vectorstore/azure/autoconfigure/AzureVectorStoreProperties.java
index 3afd114d6..cafde9578 100644
--- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreProperties.java
+++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/src/main/java/org/springframework/ai/vectorstore/azure/autoconfigure/AzureVectorStoreProperties.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.autoconfigure.vectorstore.azure;
+package org.springframework.ai.vectorstore.azure.autoconfigure;
import org.springframework.ai.vectorstore.properties.CommonVectorStoreProperties;
import org.springframework.ai.vectorstore.azure.AzureVectorStore;
diff --git a/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 000000000..62e6456f1
--- /dev/null
+++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/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.azure.autoconfigure.AzureVectorStoreAutoConfiguration
diff --git a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreAutoConfigurationIT.java b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/src/test/java/org/springframework/ai/vectorstore/azure/autoconfigure/AzureVectorStoreAutoConfigurationIT.java
similarity index 89%
rename from spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreAutoConfigurationIT.java
rename to auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/src/test/java/org/springframework/ai/vectorstore/azure/autoconfigure/AzureVectorStoreAutoConfigurationIT.java
index edf6d3a2c..66ba09fa6 100644
--- a/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/azure/AzureVectorStoreAutoConfigurationIT.java
+++ b/auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure/src/test/java/org/springframework/ai/vectorstore/azure/autoconfigure/AzureVectorStoreAutoConfigurationIT.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.autoconfigure.vectorstore.azure;
+package org.springframework.ai.vectorstore.azure.autoconfigure;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
@@ -45,6 +45,7 @@ import org.springframework.core.io.DefaultResourceLoader;
import static org.assertj.core.api.Assertions.assertThat;
import static org.hamcrest.Matchers.hasSize;
+import static org.springframework.ai.test.vectorstore.ObservationTestUtil.assertObservationRegistry;
/**
* @author Christian Tzolov
@@ -112,9 +113,8 @@ public class AzureVectorStoreAutoConfigurationIT {
.until(() -> vectorStore.similaritySearch(SearchRequest.builder().query("Spring").topK(1).build()),
hasSize(1));
- org.springframework.ai.autoconfigure.vectorstore.observation.ObservationTestUtil
- .assertObservationRegistry(observationRegistry, VectorStoreProvider.AZURE,
- VectorStoreObservationContext.Operation.ADD);
+ assertObservationRegistry(observationRegistry, VectorStoreProvider.AZURE,
+ VectorStoreObservationContext.Operation.ADD);
observationRegistry.clear();
List results = vectorStore
@@ -128,9 +128,8 @@ public class AzureVectorStoreAutoConfigurationIT {
assertThat(resultDoc.getMetadata()).hasSize(2);
assertThat(resultDoc.getMetadata()).containsKeys("spring", "distance");
- org.springframework.ai.autoconfigure.vectorstore.observation.ObservationTestUtil
- .assertObservationRegistry(observationRegistry, VectorStoreProvider.AZURE,
- VectorStoreObservationContext.Operation.QUERY);
+ assertObservationRegistry(observationRegistry, VectorStoreProvider.AZURE,
+ VectorStoreObservationContext.Operation.QUERY);
observationRegistry.clear();
// Remove all documents from the store
@@ -140,9 +139,8 @@ public class AzureVectorStoreAutoConfigurationIT {
.until(() -> vectorStore.similaritySearch(SearchRequest.builder().query("Spring").topK(1).build()),
hasSize(0));
- org.springframework.ai.autoconfigure.vectorstore.observation.ObservationTestUtil
- .assertObservationRegistry(observationRegistry, VectorStoreProvider.AZURE,
- VectorStoreObservationContext.Operation.DELETE);
+ assertObservationRegistry(observationRegistry, VectorStoreProvider.AZURE,
+ VectorStoreObservationContext.Operation.DELETE);
observationRegistry.clear();
});
diff --git a/pom.xml b/pom.xml
index 69fc7e8a7..ce9c382ee 100644
--- a/pom.xml
+++ b/pom.xml
@@ -66,6 +66,8 @@
auto-configurations/mcp/spring-ai-autoconfigure-mcp-client
auto-configurations/mcp/spring-ai-autoconfigure-mcp-server
+ auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure
+ auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-azure-cosmos-db
auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-cassandra
auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-chroma
auto-configurations/vector-stores/spring-ai-autoconfigure-vector-store-elasticsearch
@@ -118,11 +120,11 @@
vector-stores/spring-ai-typesense-store
vector-stores/spring-ai-weaviate-store
- spring-ai-spring-boot-starters/spring-ai-starter-azure-cosmos-db-store
- spring-ai-spring-boot-starters/spring-ai-starter-azure-store
spring-ai-spring-boot-starters/spring-ai-starter-coherence-store
spring-ai-spring-boot-starters/spring-ai-starter-couchbase-store
spring-ai-spring-boot-starters/spring-ai-starter-vector-store-aws-opensearch
+ spring-ai-spring-boot-starters/spring-ai-starter-vector-store-azure
+ spring-ai-spring-boot-starters/spring-ai-starter-vector-store-azure-cosmos-db
spring-ai-spring-boot-starters/spring-ai-starter-vector-store-cassandra
spring-ai-spring-boot-starters/spring-ai-starter-vector-store-chroma
spring-ai-spring-boot-starters/spring-ai-starter-vector-store-elasticsearch
diff --git a/spring-ai-spring-boot-autoconfigure/pom.xml b/spring-ai-spring-boot-autoconfigure/pom.xml
index 2c441fb2b..3cb3683fe 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-azure-store
- ${project.parent.version}
- true
-
-
org.springframework.ai
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 730d3ce21..b3465f2e1 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
@@ -29,8 +29,6 @@ org.springframework.ai.autoconfigure.embedding.observation.EmbeddingObservationA
org.springframework.ai.autoconfigure.image.observation.ImageObservationAutoConfiguration
org.springframework.ai.model.ollama.autoconfigure.OllamaAutoConfiguration
org.springframework.ai.model.mistralai.autoconfigure.MistralAiAutoConfiguration
-org.springframework.ai.autoconfigure.vectorstore.azure.AzureVectorStoreAutoConfiguration
-org.springframework.ai.autoconfigure.vectorstore.cosmosdb.CosmosDBVectorStoreAutoConfiguration
org.springframework.ai.retry.autoconfigure.SpringAiRetryAutoConfiguration
org.springframework.ai.model.postgresml.autoconfigure.PostgresMlAutoConfiguration
org.springframework.ai.model.anthropic.autoconfigure.AnthropicAutoConfiguration
diff --git a/spring-ai-spring-boot-starters/spring-ai-starter-azure-cosmos-db-store/pom.xml b/spring-ai-spring-boot-starters/spring-ai-starter-vector-store-azure-cosmos-db/pom.xml
similarity index 89%
rename from spring-ai-spring-boot-starters/spring-ai-starter-azure-cosmos-db-store/pom.xml
rename to spring-ai-spring-boot-starters/spring-ai-starter-vector-store-azure-cosmos-db/pom.xml
index e2c3ec1cc..115da874a 100644
--- a/spring-ai-spring-boot-starters/spring-ai-starter-azure-cosmos-db-store/pom.xml
+++ b/spring-ai-spring-boot-starters/spring-ai-starter-vector-store-azure-cosmos-db/pom.xml
@@ -23,10 +23,10 @@
1.0.0-SNAPSHOT
../../pom.xml
- spring-ai-azure-cosmos-db-store-spring-boot-starter
+ spring-ai-starter-vector-store-azure-cosmos-db
jar
Spring AI Starter - Azure Cosmos DB Vector Store
- Spring AI Azure Cosmos DB Vector Store Auto Configuration
+ Spring AI Azure Cosmos DB Vector Store Starter
https://github.com/spring-projects/spring-ai
@@ -44,7 +44,7 @@
org.springframework.ai
- spring-ai-spring-boot-autoconfigure
+ spring-ai-autoconfigure-vector-store-azure-cosmos-db
${project.parent.version}
diff --git a/spring-ai-spring-boot-starters/spring-ai-starter-azure-store/pom.xml b/spring-ai-spring-boot-starters/spring-ai-starter-vector-store-azure/pom.xml
similarity index 90%
rename from spring-ai-spring-boot-starters/spring-ai-starter-azure-store/pom.xml
rename to spring-ai-spring-boot-starters/spring-ai-starter-vector-store-azure/pom.xml
index f5face502..dc1794c3d 100644
--- a/spring-ai-spring-boot-starters/spring-ai-starter-azure-store/pom.xml
+++ b/spring-ai-spring-boot-starters/spring-ai-starter-vector-store-azure/pom.xml
@@ -23,10 +23,10 @@
1.0.0-SNAPSHOT
../../pom.xml
- spring-ai-azure-store-spring-boot-starter
+ spring-ai-starter-vector-store-azure
jar
Spring AI Starter - Azure Vector Store
- Spring AI Azure Vector Store Auto Configuration
+ Spring AI Azure Vector Store Starter
https://github.com/spring-projects/spring-ai
@@ -44,7 +44,7 @@
org.springframework.ai
- spring-ai-spring-boot-autoconfigure
+ spring-ai-autoconfigure-vector-store-azure
${project.parent.version}