diff --git a/pom.xml b/pom.xml
index 5e69fa184..879f238a3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,6 +37,7 @@
spring-ai-model
spring-ai-test
spring-ai-vector-store
+ spring-ai-rag
advisors/spring-ai-advisors
auto-configurations/common/spring-ai-autoconfigure-retry
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/package-info.java b/spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/package-info.java
deleted file mode 100644
index cc6e0613b..000000000
--- a/spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/package-info.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 2023-2024 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.
- */
-
-/**
- * RAG Module: Information Retrieval.
- *
- * This package includes components for handling the retrieval stage in Retrieval
- * Augmented Generation flows.
- */
-@NonNullApi
-@NonNullFields
-package org.springframework.ai.rag.retrieval;
-
-import org.springframework.lang.NonNullApi;
-import org.springframework.lang.NonNullFields;
diff --git a/spring-ai-integration-tests/pom.xml b/spring-ai-integration-tests/pom.xml
index 303e31d7b..edc0a0ce6 100644
--- a/spring-ai-integration-tests/pom.xml
+++ b/spring-ai-integration-tests/pom.xml
@@ -54,6 +54,13 @@
test
+
+ org.springframework.ai
+ spring-ai-rag
+ ${project.parent.version}
+ test
+
+
org.springframework.ai
spring-ai-starter-model-openai
diff --git a/spring-ai-rag/pom.xml b/spring-ai-rag/pom.xml
new file mode 100644
index 000000000..eba5d4e14
--- /dev/null
+++ b/spring-ai-rag/pom.xml
@@ -0,0 +1,99 @@
+
+
+
+
+ 4.0.0
+
+ org.springframework.ai
+ spring-ai
+ 1.0.0-SNAPSHOT
+
+ spring-ai-rag
+ jar
+ Spring AI RAG
+ Retrieval Augmented Generation (RAG) support for Spring AI
+ 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
+
+
+
+ 17
+ 17
+
+
+
+
+ org.springframework.ai
+ spring-ai-core
+ ${project.parent.version}
+
+
+
+
+ org.springframework.ai
+ spring-ai-vector-store
+ ${project.parent.version}
+
+
+
+
+ org.springframework
+ spring-context
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
+
+
+ io.projectreactor
+ reactor-core
+
+
+
+ org.jetbrains.kotlin
+ kotlin-stdlib
+ true
+
+
+
+ org.jetbrains.kotlin
+ kotlin-reflect
+ true
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+ com.fasterxml.jackson.module
+ jackson-module-kotlin
+ test
+
+
+
+
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/RetrievalAugmentationAdvisor.java b/spring-ai-rag/src/main/java/org/springframework/ai/chat/client/advisor/RetrievalAugmentationAdvisor.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/RetrievalAugmentationAdvisor.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/chat/client/advisor/RetrievalAugmentationAdvisor.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/Query.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/Query.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/Query.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/Query.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/generation/augmentation/ContextualQueryAugmenter.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/generation/augmentation/ContextualQueryAugmenter.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/generation/augmentation/ContextualQueryAugmenter.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/generation/augmentation/ContextualQueryAugmenter.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/generation/augmentation/QueryAugmenter.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/generation/augmentation/QueryAugmenter.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/generation/augmentation/QueryAugmenter.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/generation/augmentation/QueryAugmenter.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/generation/augmentation/package-info.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/generation/augmentation/package-info.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/generation/augmentation/package-info.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/generation/augmentation/package-info.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/generation/package-info.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/generation/package-info.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/generation/package-info.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/generation/package-info.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/package-info.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/package-info.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/package-info.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/package-info.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/postretrieval/compression/DocumentCompressor.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/postretrieval/compression/DocumentCompressor.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/postretrieval/compression/DocumentCompressor.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/postretrieval/compression/DocumentCompressor.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/postretrieval/compression/package-info.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/postretrieval/compression/package-info.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/postretrieval/compression/package-info.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/postretrieval/compression/package-info.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/postretrieval/package-info.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/postretrieval/package-info.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/postretrieval/package-info.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/postretrieval/package-info.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/postretrieval/ranking/DocumentRanker.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/postretrieval/ranking/DocumentRanker.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/postretrieval/ranking/DocumentRanker.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/postretrieval/ranking/DocumentRanker.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/postretrieval/ranking/package-info.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/postretrieval/ranking/package-info.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/postretrieval/ranking/package-info.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/postretrieval/ranking/package-info.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/postretrieval/selection/DocumentSelector.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/postretrieval/selection/DocumentSelector.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/postretrieval/selection/DocumentSelector.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/postretrieval/selection/DocumentSelector.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/postretrieval/selection/package-info.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/postretrieval/selection/package-info.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/postretrieval/selection/package-info.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/postretrieval/selection/package-info.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/package-info.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/package-info.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/package-info.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/package-info.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/MultiQueryExpander.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/MultiQueryExpander.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/MultiQueryExpander.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/MultiQueryExpander.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/QueryExpander.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/QueryExpander.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/QueryExpander.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/QueryExpander.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/package-info.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/package-info.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/package-info.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/package-info.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/CompressionQueryTransformer.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/CompressionQueryTransformer.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/CompressionQueryTransformer.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/CompressionQueryTransformer.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/QueryTransformer.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/QueryTransformer.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/QueryTransformer.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/QueryTransformer.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/RewriteQueryTransformer.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/RewriteQueryTransformer.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/RewriteQueryTransformer.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/RewriteQueryTransformer.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/TranslationQueryTransformer.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/TranslationQueryTransformer.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/TranslationQueryTransformer.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/TranslationQueryTransformer.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/package-info.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/package-info.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/package-info.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/package-info.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/join/ConcatenationDocumentJoiner.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/retrieval/join/ConcatenationDocumentJoiner.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/join/ConcatenationDocumentJoiner.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/retrieval/join/ConcatenationDocumentJoiner.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/join/DocumentJoiner.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/retrieval/join/DocumentJoiner.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/join/DocumentJoiner.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/retrieval/join/DocumentJoiner.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/join/package-info.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/retrieval/join/package-info.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/join/package-info.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/retrieval/join/package-info.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/search/DocumentRetriever.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/retrieval/search/DocumentRetriever.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/search/DocumentRetriever.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/retrieval/search/DocumentRetriever.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/search/VectorStoreDocumentRetriever.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/retrieval/search/VectorStoreDocumentRetriever.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/search/VectorStoreDocumentRetriever.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/retrieval/search/VectorStoreDocumentRetriever.java
diff --git a/spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/search/package-info.java b/spring-ai-rag/src/main/java/org/springframework/ai/rag/retrieval/search/package-info.java
similarity index 100%
rename from spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/search/package-info.java
rename to spring-ai-rag/src/main/java/org/springframework/ai/rag/retrieval/search/package-info.java
diff --git a/spring-ai-core/src/test/java/org/springframework/ai/chat/client/advisor/RetrievalAugmentationAdvisorTests.java b/spring-ai-rag/src/test/java/org/springframework/ai/chat/client/advisor/RetrievalAugmentationAdvisorTests.java
similarity index 95%
rename from spring-ai-core/src/test/java/org/springframework/ai/chat/client/advisor/RetrievalAugmentationAdvisorTests.java
rename to spring-ai-rag/src/test/java/org/springframework/ai/chat/client/advisor/RetrievalAugmentationAdvisorTests.java
index a86f31f24..276ae1769 100644
--- a/spring-ai-core/src/test/java/org/springframework/ai/chat/client/advisor/RetrievalAugmentationAdvisorTests.java
+++ b/spring-ai-rag/src/test/java/org/springframework/ai/chat/client/advisor/RetrievalAugmentationAdvisorTests.java
@@ -20,6 +20,7 @@ import java.util.List;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
+import org.mockito.Mockito;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.messages.AssistantMessage;
@@ -47,8 +48,8 @@ class RetrievalAugmentationAdvisorTests {
@Test
void whenQueryTransformersContainNullElementsThenThrow() {
assertThatThrownBy(() -> RetrievalAugmentationAdvisor.builder()
- .queryTransformers(mock(QueryTransformer.class), null)
- .documentRetriever(mock(DocumentRetriever.class))
+ .queryTransformers(Mockito.mock(QueryTransformer.class), null)
+ .documentRetriever(Mockito.mock(DocumentRetriever.class))
.build()).isInstanceOf(IllegalArgumentException.class)
.hasMessageContaining("queryTransformers cannot contain null elements");
}
@@ -72,7 +73,7 @@ class RetrievalAugmentationAdvisorTests {
// Document Retriever
var documentContext = List.of(Document.builder().id("1").text("doc1").build(),
Document.builder().id("2").text("doc2").build());
- var documentRetriever = mock(DocumentRetriever.class);
+ var documentRetriever = Mockito.mock(DocumentRetriever.class);
var queryCaptor = ArgumentCaptor.forClass(Query.class);
given(documentRetriever.retrieve(queryCaptor.capture())).willReturn(documentContext);
diff --git a/spring-ai-core/src/test/java/org/springframework/ai/rag/QueryTests.java b/spring-ai-rag/src/test/java/org/springframework/ai/rag/QueryTests.java
similarity index 100%
rename from spring-ai-core/src/test/java/org/springframework/ai/rag/QueryTests.java
rename to spring-ai-rag/src/test/java/org/springframework/ai/rag/QueryTests.java
diff --git a/spring-ai-core/src/test/java/org/springframework/ai/rag/generation/augmentation/ContextualQueryAugmenterTests.java b/spring-ai-rag/src/test/java/org/springframework/ai/rag/generation/augmentation/ContextualQueryAugmenterTests.java
similarity index 100%
rename from spring-ai-core/src/test/java/org/springframework/ai/rag/generation/augmentation/ContextualQueryAugmenterTests.java
rename to spring-ai-rag/src/test/java/org/springframework/ai/rag/generation/augmentation/ContextualQueryAugmenterTests.java
diff --git a/spring-ai-core/src/test/java/org/springframework/ai/rag/preretrieval/query/expansion/MultiQueryExpanderTests.java b/spring-ai-rag/src/test/java/org/springframework/ai/rag/preretrieval/query/expansion/MultiQueryExpanderTests.java
similarity index 100%
rename from spring-ai-core/src/test/java/org/springframework/ai/rag/preretrieval/query/expansion/MultiQueryExpanderTests.java
rename to spring-ai-rag/src/test/java/org/springframework/ai/rag/preretrieval/query/expansion/MultiQueryExpanderTests.java
diff --git a/spring-ai-core/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/CompressionQueryTransformerTests.java b/spring-ai-rag/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/CompressionQueryTransformerTests.java
similarity index 100%
rename from spring-ai-core/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/CompressionQueryTransformerTests.java
rename to spring-ai-rag/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/CompressionQueryTransformerTests.java
diff --git a/spring-ai-core/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/RewriteQueryTransformerTests.java b/spring-ai-rag/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/RewriteQueryTransformerTests.java
similarity index 100%
rename from spring-ai-core/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/RewriteQueryTransformerTests.java
rename to spring-ai-rag/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/RewriteQueryTransformerTests.java
diff --git a/spring-ai-core/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/TranslationQueryTransformerTests.java b/spring-ai-rag/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/TranslationQueryTransformerTests.java
similarity index 100%
rename from spring-ai-core/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/TranslationQueryTransformerTests.java
rename to spring-ai-rag/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/TranslationQueryTransformerTests.java
diff --git a/spring-ai-core/src/test/java/org/springframework/ai/rag/retrieval/join/ConcatenationDocumentJoinerTests.java b/spring-ai-rag/src/test/java/org/springframework/ai/rag/retrieval/join/ConcatenationDocumentJoinerTests.java
similarity index 100%
rename from spring-ai-core/src/test/java/org/springframework/ai/rag/retrieval/join/ConcatenationDocumentJoinerTests.java
rename to spring-ai-rag/src/test/java/org/springframework/ai/rag/retrieval/join/ConcatenationDocumentJoinerTests.java
diff --git a/spring-ai-core/src/test/java/org/springframework/ai/rag/retrieval/search/VectorStoreDocumentRetrieverTests.java b/spring-ai-rag/src/test/java/org/springframework/ai/rag/retrieval/search/VectorStoreDocumentRetrieverTests.java
similarity index 100%
rename from spring-ai-core/src/test/java/org/springframework/ai/rag/retrieval/search/VectorStoreDocumentRetrieverTests.java
rename to spring-ai-rag/src/test/java/org/springframework/ai/rag/retrieval/search/VectorStoreDocumentRetrieverTests.java
diff --git a/vector-stores/spring-ai-pgvector-store/pom.xml b/vector-stores/spring-ai-pgvector-store/pom.xml
index 8df1a966d..4a8d3fa52 100644
--- a/vector-stores/spring-ai-pgvector-store/pom.xml
+++ b/vector-stores/spring-ai-pgvector-store/pom.xml
@@ -120,7 +120,19 @@
micrometer-observation-test
test
-
+
+ org.springframework.ai
+ spring-ai-advisors
+ 1.0.0-SNAPSHOT
+ test
+
+
+ org.springframework.ai
+ spring-ai-advisors
+ 1.0.0-SNAPSHOT
+ test
+
+