From 79671d47ec6adff3262dc98d114041dda49134cb Mon Sep 17 00:00:00 2001 From: Mark Pollack Date: Mon, 31 Mar 2025 16:33:16 -0400 Subject: [PATCH] Move rag classes out of spring-ai-core and into new module spring-ai-rag --- pom.xml | 1 + .../ai/rag/retrieval/package-info.java | 28 ------ spring-ai-integration-tests/pom.xml | 7 ++ spring-ai-rag/pom.xml | 99 +++++++++++++++++++ .../advisor/RetrievalAugmentationAdvisor.java | 0 .../org/springframework/ai/rag/Query.java | 0 .../ContextualQueryAugmenter.java | 0 .../augmentation/QueryAugmenter.java | 0 .../generation/augmentation/package-info.java | 0 .../ai/rag/generation/package-info.java | 0 .../springframework/ai/rag/package-info.java | 0 .../compression/DocumentCompressor.java | 0 .../compression/package-info.java | 0 .../ai/rag/postretrieval/package-info.java | 0 .../postretrieval/ranking/DocumentRanker.java | 0 .../postretrieval/ranking/package-info.java | 0 .../selection/DocumentSelector.java | 0 .../postretrieval/selection/package-info.java | 0 .../ai/rag/preretrieval/package-info.java | 0 .../query/expansion/MultiQueryExpander.java | 0 .../query/expansion/QueryExpander.java | 0 .../query/expansion/package-info.java | 0 .../CompressionQueryTransformer.java | 0 .../transformation/QueryTransformer.java | 0 .../RewriteQueryTransformer.java | 0 .../TranslationQueryTransformer.java | 0 .../query/transformation/package-info.java | 0 .../join/ConcatenationDocumentJoiner.java | 0 .../ai/rag/retrieval/join/DocumentJoiner.java | 0 .../ai/rag/retrieval/join/package-info.java | 0 .../retrieval/search/DocumentRetriever.java | 0 .../search/VectorStoreDocumentRetriever.java | 0 .../ai/rag/retrieval/search/package-info.java | 0 .../RetrievalAugmentationAdvisorTests.java | 7 +- .../springframework/ai/rag/QueryTests.java | 0 .../ContextualQueryAugmenterTests.java | 0 .../expansion/MultiQueryExpanderTests.java | 0 .../CompressionQueryTransformerTests.java | 0 .../RewriteQueryTransformerTests.java | 0 .../TranslationQueryTransformerTests.java | 0 .../ConcatenationDocumentJoinerTests.java | 0 .../VectorStoreDocumentRetrieverTests.java | 0 .../spring-ai-pgvector-store/pom.xml | 14 ++- 43 files changed, 124 insertions(+), 32 deletions(-) delete mode 100644 spring-ai-core/src/main/java/org/springframework/ai/rag/retrieval/package-info.java create mode 100644 spring-ai-rag/pom.xml rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/chat/client/advisor/RetrievalAugmentationAdvisor.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/Query.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/generation/augmentation/ContextualQueryAugmenter.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/generation/augmentation/QueryAugmenter.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/generation/augmentation/package-info.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/generation/package-info.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/package-info.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/postretrieval/compression/DocumentCompressor.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/postretrieval/compression/package-info.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/postretrieval/package-info.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/postretrieval/ranking/DocumentRanker.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/postretrieval/ranking/package-info.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/postretrieval/selection/DocumentSelector.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/postretrieval/selection/package-info.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/preretrieval/package-info.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/MultiQueryExpander.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/QueryExpander.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/preretrieval/query/expansion/package-info.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/CompressionQueryTransformer.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/QueryTransformer.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/RewriteQueryTransformer.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/TranslationQueryTransformer.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/preretrieval/query/transformation/package-info.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/retrieval/join/ConcatenationDocumentJoiner.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/retrieval/join/DocumentJoiner.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/retrieval/join/package-info.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/retrieval/search/DocumentRetriever.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/retrieval/search/VectorStoreDocumentRetriever.java (100%) rename {spring-ai-core => spring-ai-rag}/src/main/java/org/springframework/ai/rag/retrieval/search/package-info.java (100%) rename {spring-ai-core => spring-ai-rag}/src/test/java/org/springframework/ai/chat/client/advisor/RetrievalAugmentationAdvisorTests.java (95%) rename {spring-ai-core => spring-ai-rag}/src/test/java/org/springframework/ai/rag/QueryTests.java (100%) rename {spring-ai-core => spring-ai-rag}/src/test/java/org/springframework/ai/rag/generation/augmentation/ContextualQueryAugmenterTests.java (100%) rename {spring-ai-core => spring-ai-rag}/src/test/java/org/springframework/ai/rag/preretrieval/query/expansion/MultiQueryExpanderTests.java (100%) rename {spring-ai-core => spring-ai-rag}/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/CompressionQueryTransformerTests.java (100%) rename {spring-ai-core => spring-ai-rag}/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/RewriteQueryTransformerTests.java (100%) rename {spring-ai-core => spring-ai-rag}/src/test/java/org/springframework/ai/rag/preretrieval/query/transformation/TranslationQueryTransformerTests.java (100%) rename {spring-ai-core => spring-ai-rag}/src/test/java/org/springframework/ai/rag/retrieval/join/ConcatenationDocumentJoinerTests.java (100%) rename {spring-ai-core => spring-ai-rag}/src/test/java/org/springframework/ai/rag/retrieval/search/VectorStoreDocumentRetrieverTests.java (100%) 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 + +