diff --git a/pom.xml b/pom.xml
index d1c3684de872..89c030428d20 100644
--- a/pom.xml
+++ b/pom.xml
@@ -771,10 +771,6 @@
spring-6-rsocket
spring-activiti
spring-actuator
- spring-ai
- spring-ai-2
- spring-ai-3
- spring-ai-4
spring-ai-modules
spring-aop
spring-aop-2
@@ -1216,10 +1212,6 @@
spring-6-rsocket
spring-activiti
spring-actuator
- spring-ai
- spring-ai-2
- spring-ai-3
- spring-ai-4
spring-ai-modules
spring-aop
spring-aop-2
diff --git a/spring-ai-modules/pom.xml b/spring-ai-modules/pom.xml
index 17649e22f089..d45a5ece219c 100644
--- a/spring-ai-modules/pom.xml
+++ b/spring-ai-modules/pom.xml
@@ -16,12 +16,16 @@
+ spring-ai
+ spring-ai-2
+ spring-ai-3
+ spring-ai-4
+ spring-ai-agentic-patterns
spring-ai-chat-stream
spring-ai-introduction
spring-ai-mcp
spring-ai-multiple-llms
spring-ai-text-to-sql
spring-ai-vector-stores
- spring-ai-agentic-patterns
diff --git a/spring-ai-2/README.md b/spring-ai-modules/spring-ai-2/README.md
similarity index 100%
rename from spring-ai-2/README.md
rename to spring-ai-modules/spring-ai-2/README.md
diff --git a/spring-ai-2/pom.xml b/spring-ai-modules/spring-ai-2/pom.xml
similarity index 96%
rename from spring-ai-2/pom.xml
rename to spring-ai-modules/spring-ai-2/pom.xml
index 591141b18ccd..107f25ee1b77 100644
--- a/spring-ai-2/pom.xml
+++ b/spring-ai-modules/spring-ai-2/pom.xml
@@ -8,12 +8,12 @@
jar
spring-ai-2
-
- com.baeldung
- parent-boot-3
- 0.0.1-SNAPSHOT
- ../parent-boot-3
-
+
+ com.baeldung
+ spring-ai-modules
+ 0.0.1
+ ../pom.xml
+
diff --git a/spring-ai-2/src/main/java/com/baeldung/airag/SpringAiRagApplication.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/airag/SpringAiRagApplication.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/airag/SpringAiRagApplication.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/airag/SpringAiRagApplication.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/airag/controller/ChatBotController.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/airag/controller/ChatBotController.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/airag/controller/ChatBotController.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/airag/controller/ChatBotController.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/airag/service/ChatBotService.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/airag/service/ChatBotService.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/airag/service/ChatBotService.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/airag/service/ChatBotService.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/airag/service/DataLoaderService.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/airag/service/DataLoaderService.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/airag/service/DataLoaderService.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/airag/service/DataLoaderService.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/airag/service/DataRetrievalService.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/airag/service/DataRetrievalService.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/airag/service/DataRetrievalService.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/airag/service/DataRetrievalService.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/groq/ChatAppConfiguration.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/groq/ChatAppConfiguration.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/groq/ChatAppConfiguration.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/groq/ChatAppConfiguration.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/groq/CustomGroqChatService.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/groq/CustomGroqChatService.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/groq/CustomGroqChatService.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/groq/CustomGroqChatService.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/groq/GroqChatApplication.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/groq/GroqChatApplication.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/groq/GroqChatApplication.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/groq/GroqChatApplication.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/groq/GroqChatService.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/groq/GroqChatService.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/groq/GroqChatService.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/groq/GroqChatService.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/image/CarColorCount.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/image/CarColorCount.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/image/CarColorCount.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/image/CarColorCount.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/image/CarCount.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/image/CarCount.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/image/CarCount.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/image/CarCount.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/image/CarCountService.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/image/CarCountService.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/image/CarCountService.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/image/CarCountService.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/image/ImageApplication.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/image/ImageApplication.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/image/ImageApplication.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/image/ImageApplication.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/image/ImageController.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/image/ImageController.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/image/ImageController.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/image/ImageController.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/ChatBotApplication.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/ChatBotApplication.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/ollamachatbot/ChatBotApplication.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/ChatBotApplication.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/controller/HelpDeskController.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/controller/HelpDeskController.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/ollamachatbot/controller/HelpDeskController.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/controller/HelpDeskController.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/model/HelpDeskRequest.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/model/HelpDeskRequest.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/ollamachatbot/model/HelpDeskRequest.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/model/HelpDeskRequest.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/model/HelpDeskResponse.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/model/HelpDeskResponse.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/ollamachatbot/model/HelpDeskResponse.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/model/HelpDeskResponse.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/model/HistoryEntry.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/model/HistoryEntry.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/ollamachatbot/model/HistoryEntry.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/model/HistoryEntry.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/service/HelpDeskChatbotAgentService.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/service/HelpDeskChatbotAgentService.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/ollamachatbot/service/HelpDeskChatbotAgentService.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/ollamachatbot/service/HelpDeskChatbotAgentService.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OmAiAssistantConfiguration.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OmAiAssistantConfiguration.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OmAiAssistantConfiguration.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OmAiAssistantConfiguration.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderInfo.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderInfo.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderInfo.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderInfo.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderManagementAIAssistant.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderManagementAIAssistant.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderManagementAIAssistant.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderManagementAIAssistant.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderManagementApplication.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderManagementApplication.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderManagementApplication.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderManagementApplication.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderManagementService.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderManagementService.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderManagementService.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderManagementService.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderRepository.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderRepository.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderRepository.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/spring/ai/om/OrderRepository.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/Application.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/Application.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/anthropic/Application.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/Application.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatRequest.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatRequest.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatRequest.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatRequest.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatResponse.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatResponse.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatResponse.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatResponse.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatbotConfiguration.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatbotConfiguration.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatbotConfiguration.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatbotConfiguration.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatbotController.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatbotController.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatbotController.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatbotController.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatbotService.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatbotService.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatbotService.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/anthropic/ChatbotService.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/chromadb/Application.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/chromadb/Application.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/chromadb/Application.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/chromadb/Application.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/chromadb/Poem.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/chromadb/Poem.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/chromadb/Poem.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/chromadb/Poem.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/chromadb/PoetryFetcher.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/chromadb/PoetryFetcher.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/chromadb/PoetryFetcher.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/chromadb/PoetryFetcher.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/chromadb/VectorStoreInitializer.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/chromadb/VectorStoreInitializer.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/chromadb/VectorStoreInitializer.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/chromadb/VectorStoreInitializer.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/evaluator/Application.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/evaluator/Application.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/evaluator/Application.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/evaluator/Application.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/evaluator/LLMConfiguration.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/evaluator/LLMConfiguration.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/evaluator/LLMConfiguration.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/evaluator/LLMConfiguration.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/evaluator/VectorStoreInitializer.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/evaluator/VectorStoreInitializer.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/evaluator/VectorStoreInitializer.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/evaluator/VectorStoreInitializer.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/Application.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/Application.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/huggingface/Application.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/Application.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatRequest.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatRequest.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatRequest.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatRequest.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatResponse.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatResponse.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatResponse.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatResponse.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatbotConfiguration.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatbotConfiguration.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatbotConfiguration.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatbotConfiguration.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatbotController.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatbotController.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatbotController.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatbotController.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatbotService.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatbotService.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatbotService.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/chat/ChatbotService.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/Quote.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/Quote.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/Quote.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/Quote.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/QuoteFetcher.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/QuoteFetcher.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/QuoteFetcher.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/QuoteFetcher.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/VectorStoreConfiguration.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/VectorStoreConfiguration.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/VectorStoreConfiguration.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/VectorStoreConfiguration.java
diff --git a/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/VectorStoreInitializer.java b/spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/VectorStoreInitializer.java
similarity index 100%
rename from spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/VectorStoreInitializer.java
rename to spring-ai-modules/spring-ai-2/src/main/java/com/baeldung/springai/huggingface/embedding/VectorStoreInitializer.java
diff --git a/spring-ai-2/src/main/resources/application-aiassistant.properties b/spring-ai-modules/spring-ai-2/src/main/resources/application-aiassistant.properties
similarity index 100%
rename from spring-ai-2/src/main/resources/application-aiassistant.properties
rename to spring-ai-modules/spring-ai-2/src/main/resources/application-aiassistant.properties
diff --git a/spring-ai-2/src/main/resources/application-airag.yml b/spring-ai-modules/spring-ai-2/src/main/resources/application-airag.yml
similarity index 100%
rename from spring-ai-2/src/main/resources/application-airag.yml
rename to spring-ai-modules/spring-ai-2/src/main/resources/application-airag.yml
diff --git a/spring-ai-2/src/main/resources/application-anthropic.properties b/spring-ai-modules/spring-ai-2/src/main/resources/application-anthropic.properties
similarity index 100%
rename from spring-ai-2/src/main/resources/application-anthropic.properties
rename to spring-ai-modules/spring-ai-2/src/main/resources/application-anthropic.properties
diff --git a/spring-ai-2/src/main/resources/application-chromadb.properties b/spring-ai-modules/spring-ai-2/src/main/resources/application-chromadb.properties
similarity index 100%
rename from spring-ai-2/src/main/resources/application-chromadb.properties
rename to spring-ai-modules/spring-ai-2/src/main/resources/application-chromadb.properties
diff --git a/spring-ai-2/src/main/resources/application-customgroq.properties b/spring-ai-modules/spring-ai-2/src/main/resources/application-customgroq.properties
similarity index 100%
rename from spring-ai-2/src/main/resources/application-customgroq.properties
rename to spring-ai-modules/spring-ai-2/src/main/resources/application-customgroq.properties
diff --git a/spring-ai-2/src/main/resources/application-evaluator.properties b/spring-ai-modules/spring-ai-2/src/main/resources/application-evaluator.properties
similarity index 100%
rename from spring-ai-2/src/main/resources/application-evaluator.properties
rename to spring-ai-modules/spring-ai-2/src/main/resources/application-evaluator.properties
diff --git a/spring-ai-2/src/main/resources/application-groq.properties b/spring-ai-modules/spring-ai-2/src/main/resources/application-groq.properties
similarity index 100%
rename from spring-ai-2/src/main/resources/application-groq.properties
rename to spring-ai-modules/spring-ai-2/src/main/resources/application-groq.properties
diff --git a/spring-ai-2/src/main/resources/application-huggingface.properties b/spring-ai-modules/spring-ai-2/src/main/resources/application-huggingface.properties
similarity index 100%
rename from spring-ai-2/src/main/resources/application-huggingface.properties
rename to spring-ai-modules/spring-ai-2/src/main/resources/application-huggingface.properties
diff --git a/spring-ai-2/src/main/resources/application-image.yml b/spring-ai-modules/spring-ai-2/src/main/resources/application-image.yml
similarity index 100%
rename from spring-ai-2/src/main/resources/application-image.yml
rename to spring-ai-modules/spring-ai-2/src/main/resources/application-image.yml
diff --git a/spring-ai-2/src/main/resources/application-mcp-client.properties b/spring-ai-modules/spring-ai-2/src/main/resources/application-mcp-client.properties
similarity index 100%
rename from spring-ai-2/src/main/resources/application-mcp-client.properties
rename to spring-ai-modules/spring-ai-2/src/main/resources/application-mcp-client.properties
diff --git a/spring-ai-2/src/main/resources/application-mcp-server.properties b/spring-ai-modules/spring-ai-2/src/main/resources/application-mcp-server.properties
similarity index 100%
rename from spring-ai-2/src/main/resources/application-mcp-server.properties
rename to spring-ai-modules/spring-ai-2/src/main/resources/application-mcp-server.properties
diff --git a/spring-ai-2/src/main/resources/application-semantic-search.properties b/spring-ai-modules/spring-ai-2/src/main/resources/application-semantic-search.properties
similarity index 100%
rename from spring-ai-2/src/main/resources/application-semantic-search.properties
rename to spring-ai-modules/spring-ai-2/src/main/resources/application-semantic-search.properties
diff --git a/spring-ai-2/src/main/resources/application.yml b/spring-ai-modules/spring-ai-2/src/main/resources/application.yml
similarity index 100%
rename from spring-ai-2/src/main/resources/application.yml
rename to spring-ai-modules/spring-ai-2/src/main/resources/application.yml
diff --git a/spring-ai-2/src/main/resources/documents/leave-policy.md b/spring-ai-modules/spring-ai-2/src/main/resources/documents/leave-policy.md
similarity index 100%
rename from spring-ai-2/src/main/resources/documents/leave-policy.md
rename to spring-ai-modules/spring-ai-2/src/main/resources/documents/leave-policy.md
diff --git a/spring-ai-2/src/main/resources/logback-spring.xml b/spring-ai-modules/spring-ai-2/src/main/resources/logback-spring.xml
similarity index 100%
rename from spring-ai-2/src/main/resources/logback-spring.xml
rename to spring-ai-modules/spring-ai-2/src/main/resources/logback-spring.xml
diff --git a/spring-ai-2/src/main/resources/prompts/chatbot-system-prompt.st b/spring-ai-modules/spring-ai-2/src/main/resources/prompts/chatbot-system-prompt.st
similarity index 100%
rename from spring-ai-2/src/main/resources/prompts/chatbot-system-prompt.st
rename to spring-ai-modules/spring-ai-2/src/main/resources/prompts/chatbot-system-prompt.st
diff --git a/spring-ai-2/src/main/resources/prompts/grumpgpt-system-prompt.st b/spring-ai-modules/spring-ai-2/src/main/resources/prompts/grumpgpt-system-prompt.st
similarity index 100%
rename from spring-ai-2/src/main/resources/prompts/grumpgpt-system-prompt.st
rename to spring-ai-modules/spring-ai-2/src/main/resources/prompts/grumpgpt-system-prompt.st
diff --git a/spring-ai-2/src/main/resources/puml/function_calling_sequence.puml b/spring-ai-modules/spring-ai-2/src/main/resources/puml/function_calling_sequence.puml
similarity index 100%
rename from spring-ai-2/src/main/resources/puml/function_calling_sequence.puml
rename to spring-ai-modules/spring-ai-2/src/main/resources/puml/function_calling_sequence.puml
diff --git a/spring-ai-2/src/main/resources/puml/om-legacy-cld.puml b/spring-ai-modules/spring-ai-2/src/main/resources/puml/om-legacy-cld.puml
similarity index 100%
rename from spring-ai-2/src/main/resources/puml/om-legacy-cld.puml
rename to spring-ai-modules/spring-ai-2/src/main/resources/puml/om-legacy-cld.puml
diff --git a/spring-ai-2/src/main/resources/puml/om_function_calling_cld.puml b/spring-ai-modules/spring-ai-2/src/main/resources/puml/om_function_calling_cld.puml
similarity index 100%
rename from spring-ai-2/src/main/resources/puml/om_function_calling_cld.puml
rename to spring-ai-modules/spring-ai-2/src/main/resources/puml/om_function_calling_cld.puml
diff --git a/spring-ai-2/src/test/java/com/baeldung/airag/SpringAiRagApplicationLiveTest.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/airag/SpringAiRagApplicationLiveTest.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/airag/SpringAiRagApplicationLiveTest.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/airag/SpringAiRagApplicationLiveTest.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/groq/GroqAutoconfiguredChatClientLiveTest.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/groq/GroqAutoconfiguredChatClientLiveTest.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/groq/GroqAutoconfiguredChatClientLiveTest.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/groq/GroqAutoconfiguredChatClientLiveTest.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/groq/GroqCustomChatClientLiveTest.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/groq/GroqCustomChatClientLiveTest.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/groq/GroqCustomChatClientLiveTest.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/groq/GroqCustomChatClientLiveTest.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/image/ImageControllerLiveTest.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/image/ImageControllerLiveTest.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/image/ImageControllerLiveTest.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/image/ImageControllerLiveTest.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/ollamachatbot/HelpDeskControllerLiveTest.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/ollamachatbot/HelpDeskControllerLiveTest.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/ollamachatbot/HelpDeskControllerLiveTest.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/ollamachatbot/HelpDeskControllerLiveTest.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/spring/ai/om/AiOrderManagementLiveTest.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/spring/ai/om/AiOrderManagementLiveTest.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/spring/ai/om/AiOrderManagementLiveTest.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/spring/ai/om/AiOrderManagementLiveTest.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/springai/anthropic/ChatbotServiceLiveTest.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/anthropic/ChatbotServiceLiveTest.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/springai/anthropic/ChatbotServiceLiveTest.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/anthropic/ChatbotServiceLiveTest.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/springai/chromadb/SemanticSearchLiveTest.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/chromadb/SemanticSearchLiveTest.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/springai/chromadb/SemanticSearchLiveTest.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/chromadb/SemanticSearchLiveTest.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/springai/chromadb/TestApplication.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/chromadb/TestApplication.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/springai/chromadb/TestApplication.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/chromadb/TestApplication.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/springai/chromadb/TestcontainersConfiguration.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/chromadb/TestcontainersConfiguration.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/springai/chromadb/TestcontainersConfiguration.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/chromadb/TestcontainersConfiguration.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/springai/evaluator/LLMResponseEvaluatorLiveTest.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/evaluator/LLMResponseEvaluatorLiveTest.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/springai/evaluator/LLMResponseEvaluatorLiveTest.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/evaluator/LLMResponseEvaluatorLiveTest.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/springai/evaluator/TestcontainersConfiguration.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/evaluator/TestcontainersConfiguration.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/springai/evaluator/TestcontainersConfiguration.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/evaluator/TestcontainersConfiguration.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/springai/huggingface/TestApplication.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/huggingface/TestApplication.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/springai/huggingface/TestApplication.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/huggingface/TestApplication.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/springai/huggingface/TestcontainersConfiguration.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/huggingface/TestcontainersConfiguration.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/springai/huggingface/TestcontainersConfiguration.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/huggingface/TestcontainersConfiguration.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/springai/huggingface/chat/ChatbotServiceLiveTest.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/huggingface/chat/ChatbotServiceLiveTest.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/springai/huggingface/chat/ChatbotServiceLiveTest.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/huggingface/chat/ChatbotServiceLiveTest.java
diff --git a/spring-ai-2/src/test/java/com/baeldung/springai/huggingface/embedding/SemanticSearchLiveTest.java b/spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/huggingface/embedding/SemanticSearchLiveTest.java
similarity index 100%
rename from spring-ai-2/src/test/java/com/baeldung/springai/huggingface/embedding/SemanticSearchLiveTest.java
rename to spring-ai-modules/spring-ai-2/src/test/java/com/baeldung/springai/huggingface/embedding/SemanticSearchLiveTest.java
diff --git a/spring-ai-2/src/test/resources/images/batman-deadpool-christmas.jpeg b/spring-ai-modules/spring-ai-2/src/test/resources/images/batman-deadpool-christmas.jpeg
similarity index 100%
rename from spring-ai-2/src/test/resources/images/batman-deadpool-christmas.jpeg
rename to spring-ai-modules/spring-ai-2/src/test/resources/images/batman-deadpool-christmas.jpeg
diff --git a/spring-ai-2/src/test/resources/order_mgmt.sql b/spring-ai-modules/spring-ai-2/src/test/resources/order_mgmt.sql
similarity index 100%
rename from spring-ai-2/src/test/resources/order_mgmt.sql
rename to spring-ai-modules/spring-ai-2/src/test/resources/order_mgmt.sql
diff --git a/spring-ai-3/README.md b/spring-ai-modules/spring-ai-3/README.md
similarity index 100%
rename from spring-ai-3/README.md
rename to spring-ai-modules/spring-ai-3/README.md
diff --git a/spring-ai-3/docker-compose.yml b/spring-ai-modules/spring-ai-3/docker-compose.yml
similarity index 100%
rename from spring-ai-3/docker-compose.yml
rename to spring-ai-modules/spring-ai-3/docker-compose.yml
diff --git a/spring-ai-3/pom.xml b/spring-ai-modules/spring-ai-3/pom.xml
similarity index 96%
rename from spring-ai-3/pom.xml
rename to spring-ai-modules/spring-ai-3/pom.xml
index 8942749ffb46..772dd8f5fba0 100644
--- a/spring-ai-3/pom.xml
+++ b/spring-ai-modules/spring-ai-3/pom.xml
@@ -8,12 +8,12 @@
jar
spring-ai-3
-
- com.baeldung
- parent-boot-3
- 0.0.1-SNAPSHOT
- ../parent-boot-3
-
+
+ com.baeldung
+ spring-ai-modules
+ 0.0.1
+ ../pom.xml
+
diff --git a/spring-ai-3/postman/chat-client.http b/spring-ai-modules/spring-ai-3/postman/chat-client.http
similarity index 100%
rename from spring-ai-3/postman/chat-client.http
rename to spring-ai-modules/spring-ai-3/postman/chat-client.http
diff --git a/spring-ai-3/src/main/java/com/baeldung/imagegen/Application.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/imagegen/Application.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/imagegen/Application.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/imagegen/Application.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/imagegen/ImageGenerationRequest.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/imagegen/ImageGenerationRequest.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/imagegen/ImageGenerationRequest.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/imagegen/ImageGenerationRequest.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/imagegen/ImageGenerator.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/imagegen/ImageGenerator.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/imagegen/ImageGenerator.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/imagegen/ImageGenerator.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/spring/ai/mistral/functioncalling/SpringAIApplication.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/spring/ai/mistral/functioncalling/SpringAIApplication.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/spring/ai/mistral/functioncalling/SpringAIApplication.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/spring/ai/mistral/functioncalling/SpringAIApplication.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/advisors/CustomLoggingAdvisor.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/advisors/CustomLoggingAdvisor.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/advisors/CustomLoggingAdvisor.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/advisors/CustomLoggingAdvisor.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/chatclient/ChatClientApplication.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/chatclient/ChatClientApplication.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/chatclient/ChatClientApplication.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/chatclient/ChatClientApplication.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/chatclient/rest/BlogsController.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/chatclient/rest/BlogsController.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/chatclient/rest/BlogsController.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/chatclient/rest/BlogsController.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/docker/modelrunner/ModelRunnerApplication.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/docker/modelrunner/ModelRunnerApplication.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/docker/modelrunner/ModelRunnerApplication.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/docker/modelrunner/ModelRunnerApplication.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/docker/modelrunner/ModelRunnerController.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/docker/modelrunner/ModelRunnerController.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/docker/modelrunner/ModelRunnerController.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/docker/modelrunner/ModelRunnerController.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/dto/HealthStatus.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/dto/HealthStatus.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/dto/HealthStatus.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/dto/HealthStatus.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/dto/Patient.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/dto/Patient.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/dto/Patient.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/dto/Patient.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/Application.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/Application.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/embeddings/Application.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/Application.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/EmbeddingConfig.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/EmbeddingConfig.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/embeddings/EmbeddingConfig.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/EmbeddingConfig.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/EmbeddingController.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/EmbeddingController.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/embeddings/EmbeddingController.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/EmbeddingController.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/EmbeddingService.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/EmbeddingService.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/embeddings/EmbeddingService.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/EmbeddingService.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/ManualEmbeddingService.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/ManualEmbeddingService.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/embeddings/ManualEmbeddingService.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/embeddings/ManualEmbeddingService.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/McpServerApplication.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/McpServerApplication.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/McpServerApplication.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/McpServerApplication.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/StockInformationHolder.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/StockInformationHolder.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/StockInformationHolder.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/StockInformationHolder.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/configuration/McpServerConfiguration.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/configuration/McpServerConfiguration.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/configuration/McpServerConfiguration.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/configuration/McpServerConfiguration.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/configuration/McpServerSecurityConfiguration.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/configuration/McpServerSecurityConfiguration.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/configuration/McpServerSecurityConfiguration.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/mcp/oauth2/configuration/McpServerSecurityConfiguration.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/nova/Application.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/nova/Application.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/nova/Application.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/nova/Application.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/nova/AuthorFetcher.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/nova/AuthorFetcher.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/nova/AuthorFetcher.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/nova/AuthorFetcher.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatRequest.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatRequest.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatRequest.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatRequest.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatResponse.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatResponse.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatResponse.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatResponse.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatbotConfiguration.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatbotConfiguration.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatbotConfiguration.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatbotConfiguration.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatbotController.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatbotController.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatbotController.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatbotController.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatbotService.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatbotService.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatbotService.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/nova/ChatbotService.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/configuration/AdvisorConfiguration.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/configuration/AdvisorConfiguration.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/configuration/AdvisorConfiguration.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/configuration/AdvisorConfiguration.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/controller/WikiDocumentsController.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/controller/WikiDocumentsController.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/controller/WikiDocumentsController.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/controller/WikiDocumentsController.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/dto/WikiDocument.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/dto/WikiDocument.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/dto/WikiDocument.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/dto/WikiDocument.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/repository/WikiDocumentsRepository.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/repository/WikiDocumentsRepository.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/repository/WikiDocumentsRepository.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/repository/WikiDocumentsRepository.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/service/WikiDocumentsServiceImpl.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/service/WikiDocumentsServiceImpl.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/service/WikiDocumentsServiceImpl.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/rag/mongodb/service/WikiDocumentsServiceImpl.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/Application.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/Application.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/transcribe/Application.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/Application.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/AudioTranscriber.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/AudioTranscriber.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/transcribe/AudioTranscriber.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/AudioTranscriber.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/TranscriptionController.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/TranscriptionController.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/transcribe/TranscriptionController.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/TranscriptionController.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/TranscriptionRequest.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/TranscriptionRequest.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/transcribe/TranscriptionRequest.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/TranscriptionRequest.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/TranscriptionResponse.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/TranscriptionResponse.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/transcribe/TranscriptionResponse.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/TranscriptionResponse.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/controllers/TextToSpeechController.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/controllers/TextToSpeechController.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/transcribe/controllers/TextToSpeechController.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/controllers/TextToSpeechController.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/services/TextToSpeechService.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/services/TextToSpeechService.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springai/transcribe/services/TextToSpeechService.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springai/transcribe/services/TextToSpeechService.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/DemoApplication.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/DemoApplication.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/DemoApplication.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/DemoApplication.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/controller/CharacterController.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/controller/CharacterController.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/controller/CharacterController.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/controller/CharacterController.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/converters/GenericMapOutputConverter.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/converters/GenericMapOutputConverter.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/converters/GenericMapOutputConverter.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/converters/GenericMapOutputConverter.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/dto/Character.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/dto/Character.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/dto/Character.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/dto/Character.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/service/CharacterService.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/service/CharacterService.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/service/CharacterService.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/service/CharacterService.java
diff --git a/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/service/CharacterServiceChatImpl.java b/spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/service/CharacterServiceChatImpl.java
similarity index 100%
rename from spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/service/CharacterServiceChatImpl.java
rename to spring-ai-modules/spring-ai-3/src/main/java/com/baeldung/springaistructuredoutput/service/CharacterServiceChatImpl.java
diff --git a/spring-ai-3/src/main/resources/application-dockermodelrunner.properties b/spring-ai-modules/spring-ai-3/src/main/resources/application-dockermodelrunner.properties
similarity index 100%
rename from spring-ai-3/src/main/resources/application-dockermodelrunner.properties
rename to spring-ai-modules/spring-ai-3/src/main/resources/application-dockermodelrunner.properties
diff --git a/spring-ai-3/src/main/resources/application-embeddings.yml b/spring-ai-modules/spring-ai-3/src/main/resources/application-embeddings.yml
similarity index 100%
rename from spring-ai-3/src/main/resources/application-embeddings.yml
rename to spring-ai-modules/spring-ai-3/src/main/resources/application-embeddings.yml
diff --git a/spring-ai-3/src/main/resources/application-imagegen.properties b/spring-ai-modules/spring-ai-3/src/main/resources/application-imagegen.properties
similarity index 100%
rename from spring-ai-3/src/main/resources/application-imagegen.properties
rename to spring-ai-modules/spring-ai-3/src/main/resources/application-imagegen.properties
diff --git a/spring-ai-3/src/main/resources/application-mcp.yml b/spring-ai-modules/spring-ai-3/src/main/resources/application-mcp.yml
similarity index 100%
rename from spring-ai-3/src/main/resources/application-mcp.yml
rename to spring-ai-modules/spring-ai-3/src/main/resources/application-mcp.yml
diff --git a/spring-ai-3/src/main/resources/application-nova.properties b/spring-ai-modules/spring-ai-3/src/main/resources/application-nova.properties
similarity index 100%
rename from spring-ai-3/src/main/resources/application-nova.properties
rename to spring-ai-modules/spring-ai-3/src/main/resources/application-nova.properties
diff --git a/spring-ai-3/src/main/resources/application-transcribe.properties b/spring-ai-modules/spring-ai-3/src/main/resources/application-transcribe.properties
similarity index 100%
rename from spring-ai-3/src/main/resources/application-transcribe.properties
rename to spring-ai-modules/spring-ai-3/src/main/resources/application-transcribe.properties
diff --git a/spring-ai-3/src/main/resources/application.yml b/spring-ai-modules/spring-ai-3/src/main/resources/application.yml
similarity index 100%
rename from spring-ai-3/src/main/resources/application.yml
rename to spring-ai-modules/spring-ai-3/src/main/resources/application.yml
diff --git a/spring-ai-3/src/main/resources/articles.txt b/spring-ai-modules/spring-ai-3/src/main/resources/articles.txt
similarity index 100%
rename from spring-ai-3/src/main/resources/articles.txt
rename to spring-ai-modules/spring-ai-3/src/main/resources/articles.txt
diff --git a/spring-ai-3/src/main/resources/logback-spring.xml b/spring-ai-modules/spring-ai-3/src/main/resources/logback-spring.xml
similarity index 100%
rename from spring-ai-3/src/main/resources/logback-spring.xml
rename to spring-ai-modules/spring-ai-3/src/main/resources/logback-spring.xml
diff --git a/spring-ai-3/src/test/docker/mongodb/docker-compose.yml b/spring-ai-modules/spring-ai-3/src/test/docker/mongodb/docker-compose.yml
similarity index 100%
rename from spring-ai-3/src/test/docker/mongodb/docker-compose.yml
rename to spring-ai-modules/spring-ai-3/src/test/docker/mongodb/docker-compose.yml
diff --git a/spring-ai-3/src/test/java/com/baeldung/imagegen/ImageGeneratorLiveTest.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/imagegen/ImageGeneratorLiveTest.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/imagegen/ImageGeneratorLiveTest.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/imagegen/ImageGeneratorLiveTest.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/spring/ai/mistral/functioncalling/MistralAIFunctionCallingManualTest.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/spring/ai/mistral/functioncalling/MistralAIFunctionCallingManualTest.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/spring/ai/mistral/functioncalling/MistralAIFunctionCallingManualTest.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/spring/ai/mistral/functioncalling/MistralAIFunctionCallingManualTest.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/spring/ai/mistral/functioncalling/MistralAIFunctionConfiguration.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/spring/ai/mistral/functioncalling/MistralAIFunctionConfiguration.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/spring/ai/mistral/functioncalling/MistralAIFunctionConfiguration.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/spring/ai/mistral/functioncalling/MistralAIFunctionConfiguration.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/springai/advisors/CustomSimpleVectorStore.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/advisors/CustomSimpleVectorStore.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/springai/advisors/CustomSimpleVectorStore.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/advisors/CustomSimpleVectorStore.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/springai/advisors/SimpleVectorStoreConfiguration.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/advisors/SimpleVectorStoreConfiguration.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/springai/advisors/SimpleVectorStoreConfiguration.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/advisors/SimpleVectorStoreConfiguration.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/springai/advisors/SpringAILiveTest.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/advisors/SpringAILiveTest.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/springai/advisors/SpringAILiveTest.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/advisors/SpringAILiveTest.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/springai/docker/modelrunner/ModelRunnerApplicationManualTest.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/docker/modelrunner/ModelRunnerApplicationManualTest.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/springai/docker/modelrunner/ModelRunnerApplicationManualTest.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/docker/modelrunner/ModelRunnerApplicationManualTest.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/springai/docker/modelrunner/TestcontainersConfiguration.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/docker/modelrunner/TestcontainersConfiguration.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/springai/docker/modelrunner/TestcontainersConfiguration.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/docker/modelrunner/TestcontainersConfiguration.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/springai/embeddings/EmbeddingServiceLiveTest.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/embeddings/EmbeddingServiceLiveTest.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/springai/embeddings/EmbeddingServiceLiveTest.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/embeddings/EmbeddingServiceLiveTest.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/springai/embeddings/ManualEmbeddingServiceLiveTest.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/embeddings/ManualEmbeddingServiceLiveTest.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/springai/embeddings/ManualEmbeddingServiceLiveTest.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/embeddings/ManualEmbeddingServiceLiveTest.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/springai/mcp/oauth2/McpServerOAuth2LiveTest.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/mcp/oauth2/McpServerOAuth2LiveTest.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/springai/mcp/oauth2/McpServerOAuth2LiveTest.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/mcp/oauth2/McpServerOAuth2LiveTest.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/springai/nova/ChatbotServiceLiveTest.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/nova/ChatbotServiceLiveTest.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/springai/nova/ChatbotServiceLiveTest.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/nova/ChatbotServiceLiveTest.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/springai/rag/mongodb/RAGMongoDBApplicationManualTest.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/rag/mongodb/RAGMongoDBApplicationManualTest.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/springai/rag/mongodb/RAGMongoDBApplicationManualTest.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/rag/mongodb/RAGMongoDBApplicationManualTest.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/springai/rag/mongodb/config/VectorStoreConfig.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/rag/mongodb/config/VectorStoreConfig.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/springai/rag/mongodb/config/VectorStoreConfig.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/rag/mongodb/config/VectorStoreConfig.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/springai/transcribe/AudioTranscriberLiveTest.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/transcribe/AudioTranscriberLiveTest.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/springai/transcribe/AudioTranscriberLiveTest.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/transcribe/AudioTranscriberLiveTest.java
diff --git a/spring-ai-3/src/test/java/com/baeldung/springai/transcribe/TextToSpeechLiveTest.java b/spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/transcribe/TextToSpeechLiveTest.java
similarity index 100%
rename from spring-ai-3/src/test/java/com/baeldung/springai/transcribe/TextToSpeechLiveTest.java
rename to spring-ai-modules/spring-ai-3/src/test/java/com/baeldung/springai/transcribe/TextToSpeechLiveTest.java
diff --git a/spring-ai-3/src/test/resources/application.yml b/spring-ai-modules/spring-ai-3/src/test/resources/application.yml
similarity index 100%
rename from spring-ai-3/src/test/resources/application.yml
rename to spring-ai-modules/spring-ai-3/src/test/resources/application.yml
diff --git a/spring-ai-3/src/test/resources/audio/baeldung-audio-description.mp3 b/spring-ai-modules/spring-ai-3/src/test/resources/audio/baeldung-audio-description.mp3
similarity index 100%
rename from spring-ai-3/src/test/resources/audio/baeldung-audio-description.mp3
rename to spring-ai-modules/spring-ai-3/src/test/resources/audio/baeldung-audio-description.mp3
diff --git a/spring-ai-4/pom.xml b/spring-ai-modules/spring-ai-4/pom.xml
similarity index 95%
rename from spring-ai-4/pom.xml
rename to spring-ai-modules/spring-ai-4/pom.xml
index 02e0aa659c99..a30aaebf2bbf 100644
--- a/spring-ai-4/pom.xml
+++ b/spring-ai-modules/spring-ai-4/pom.xml
@@ -8,12 +8,12 @@
jar
spring-ai-4
-
- com.baeldung
- parent-boot-3
- 0.0.1-SNAPSHOT
- ../parent-boot-3
-
+
+ com.baeldung
+ spring-ai-modules
+ 0.0.1
+ ../pom.xml
+
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/memory/Application.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/memory/Application.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/memory/Application.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/memory/Application.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatConfig.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatConfig.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatConfig.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatConfig.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatController.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatController.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatController.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatController.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatRequest.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatRequest.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatRequest.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatRequest.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatService.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatService.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatService.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/memory/ChatService.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/moderation/Application.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/moderation/Application.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/moderation/Application.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/moderation/Application.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/moderation/ModerateRequest.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/moderation/ModerateRequest.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/moderation/ModerateRequest.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/moderation/ModerateRequest.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/moderation/TextModerationController.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/moderation/TextModerationController.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/moderation/TextModerationController.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/moderation/TextModerationController.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/moderation/TextModerationService.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/moderation/TextModerationService.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/moderation/TextModerationService.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/moderation/TextModerationService.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/Application.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/Application.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/vertexai/Application.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/Application.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/ChatController.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/ChatController.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/vertexai/ChatController.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/ChatController.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/ChatService.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/ChatService.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/vertexai/ChatService.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/ChatService.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/MultiModalEmbeddingController.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/MultiModalEmbeddingController.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/vertexai/MultiModalEmbeddingController.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/MultiModalEmbeddingController.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/MultiModalEmbeddingService.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/MultiModalEmbeddingService.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/vertexai/MultiModalEmbeddingService.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/MultiModalEmbeddingService.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/TextEmbeddingController.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/TextEmbeddingController.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/vertexai/TextEmbeddingController.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/TextEmbeddingController.java
diff --git a/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/TextEmbeddingService.java b/spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/TextEmbeddingService.java
similarity index 100%
rename from spring-ai-4/src/main/java/com/baeldung/springai/vertexai/TextEmbeddingService.java
rename to spring-ai-modules/spring-ai-4/src/main/java/com/baeldung/springai/vertexai/TextEmbeddingService.java
diff --git a/spring-ai-4/src/main/resources/application-memory.yml b/spring-ai-modules/spring-ai-4/src/main/resources/application-memory.yml
similarity index 100%
rename from spring-ai-4/src/main/resources/application-memory.yml
rename to spring-ai-modules/spring-ai-4/src/main/resources/application-memory.yml
diff --git a/spring-ai-4/src/main/resources/application-moderation.yml b/spring-ai-modules/spring-ai-4/src/main/resources/application-moderation.yml
similarity index 100%
rename from spring-ai-4/src/main/resources/application-moderation.yml
rename to spring-ai-modules/spring-ai-4/src/main/resources/application-moderation.yml
diff --git a/spring-ai-4/src/main/resources/application-vertexai.yml b/spring-ai-modules/spring-ai-4/src/main/resources/application-vertexai.yml
similarity index 100%
rename from spring-ai-4/src/main/resources/application-vertexai.yml
rename to spring-ai-modules/spring-ai-4/src/main/resources/application-vertexai.yml
diff --git a/spring-ai-4/src/main/resources/logback.xml b/spring-ai-modules/spring-ai-4/src/main/resources/logback.xml
similarity index 100%
rename from spring-ai-4/src/main/resources/logback.xml
rename to spring-ai-modules/spring-ai-4/src/main/resources/logback.xml
diff --git a/spring-ai-4/src/test/java/com/baeldung/springai/memory/ChatServiceLiveTest.java b/spring-ai-modules/spring-ai-4/src/test/java/com/baeldung/springai/memory/ChatServiceLiveTest.java
similarity index 100%
rename from spring-ai-4/src/test/java/com/baeldung/springai/memory/ChatServiceLiveTest.java
rename to spring-ai-modules/spring-ai-4/src/test/java/com/baeldung/springai/memory/ChatServiceLiveTest.java
diff --git a/spring-ai-4/src/test/java/com/baeldung/springai/moderation/ModerationApplicationLiveTest.java b/spring-ai-modules/spring-ai-4/src/test/java/com/baeldung/springai/moderation/ModerationApplicationLiveTest.java
similarity index 100%
rename from spring-ai-4/src/test/java/com/baeldung/springai/moderation/ModerationApplicationLiveTest.java
rename to spring-ai-modules/spring-ai-4/src/test/java/com/baeldung/springai/moderation/ModerationApplicationLiveTest.java
diff --git a/spring-ai-4/src/test/java/com/baeldung/springai/vertexai/ChatServiceLiveTest.java b/spring-ai-modules/spring-ai-4/src/test/java/com/baeldung/springai/vertexai/ChatServiceLiveTest.java
similarity index 100%
rename from spring-ai-4/src/test/java/com/baeldung/springai/vertexai/ChatServiceLiveTest.java
rename to spring-ai-modules/spring-ai-4/src/test/java/com/baeldung/springai/vertexai/ChatServiceLiveTest.java
diff --git a/spring-ai-4/src/test/java/com/baeldung/springai/vertexai/MultiModalEmbeddingServiceLiveTest.java b/spring-ai-modules/spring-ai-4/src/test/java/com/baeldung/springai/vertexai/MultiModalEmbeddingServiceLiveTest.java
similarity index 100%
rename from spring-ai-4/src/test/java/com/baeldung/springai/vertexai/MultiModalEmbeddingServiceLiveTest.java
rename to spring-ai-modules/spring-ai-4/src/test/java/com/baeldung/springai/vertexai/MultiModalEmbeddingServiceLiveTest.java
diff --git a/spring-ai-4/src/test/java/com/baeldung/springai/vertexai/TextEmbeddingServiceLiveTest.java b/spring-ai-modules/spring-ai-4/src/test/java/com/baeldung/springai/vertexai/TextEmbeddingServiceLiveTest.java
similarity index 100%
rename from spring-ai-4/src/test/java/com/baeldung/springai/vertexai/TextEmbeddingServiceLiveTest.java
rename to spring-ai-modules/spring-ai-4/src/test/java/com/baeldung/springai/vertexai/TextEmbeddingServiceLiveTest.java
diff --git a/spring-ai/.gitignore b/spring-ai-modules/spring-ai/.gitignore
similarity index 100%
rename from spring-ai/.gitignore
rename to spring-ai-modules/spring-ai/.gitignore
diff --git a/spring-ai/README.md b/spring-ai-modules/spring-ai/README.md
similarity index 100%
rename from spring-ai/README.md
rename to spring-ai-modules/spring-ai/README.md
diff --git a/spring-ai/docker-compose.yml b/spring-ai-modules/spring-ai/docker-compose.yml
similarity index 100%
rename from spring-ai/docker-compose.yml
rename to spring-ai-modules/spring-ai/docker-compose.yml
diff --git a/spring-ai/pom.xml b/spring-ai-modules/spring-ai/pom.xml
similarity index 97%
rename from spring-ai/pom.xml
rename to spring-ai-modules/spring-ai/pom.xml
index 645511cb1c97..dc1e09cbad34 100644
--- a/spring-ai/pom.xml
+++ b/spring-ai-modules/spring-ai/pom.xml
@@ -9,9 +9,9 @@
com.baeldung
- parent-boot-3
- 0.0.1-SNAPSHOT
- ../parent-boot-3
+ spring-ai-modules
+ 0.0.1
+ ../pom.xml
diff --git a/spring-ai/src/main/java/com/baeldung/springai/deepseek/Application.java b/spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/Application.java
similarity index 100%
rename from spring-ai/src/main/java/com/baeldung/springai/deepseek/Application.java
rename to spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/Application.java
diff --git a/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatRequest.java b/spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatRequest.java
similarity index 100%
rename from spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatRequest.java
rename to spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatRequest.java
diff --git a/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatResponse.java b/spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatResponse.java
similarity index 100%
rename from spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatResponse.java
rename to spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatResponse.java
diff --git a/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatbotConfiguration.java b/spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatbotConfiguration.java
similarity index 100%
rename from spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatbotConfiguration.java
rename to spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatbotConfiguration.java
diff --git a/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatbotController.java b/spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatbotController.java
similarity index 100%
rename from spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatbotController.java
rename to spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatbotController.java
diff --git a/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatbotService.java b/spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatbotService.java
similarity index 100%
rename from spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatbotService.java
rename to spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/ChatbotService.java
diff --git a/spring-ai/src/main/java/com/baeldung/springai/deepseek/DeepSeekModelOutputConverter.java b/spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/DeepSeekModelOutputConverter.java
similarity index 100%
rename from spring-ai/src/main/java/com/baeldung/springai/deepseek/DeepSeekModelOutputConverter.java
rename to spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/DeepSeekModelOutputConverter.java
diff --git a/spring-ai/src/main/java/com/baeldung/springai/deepseek/DeepSeekModelResponse.java b/spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/DeepSeekModelResponse.java
similarity index 100%
rename from spring-ai/src/main/java/com/baeldung/springai/deepseek/DeepSeekModelResponse.java
rename to spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/deepseek/DeepSeekModelResponse.java
diff --git a/spring-ai/src/main/java/com/baeldung/springai/semanticsearch/Application.java b/spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/semanticsearch/Application.java
similarity index 100%
rename from spring-ai/src/main/java/com/baeldung/springai/semanticsearch/Application.java
rename to spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/semanticsearch/Application.java
diff --git a/spring-ai/src/main/java/com/baeldung/springai/semanticsearch/Book.java b/spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/semanticsearch/Book.java
similarity index 100%
rename from spring-ai/src/main/java/com/baeldung/springai/semanticsearch/Book.java
rename to spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/semanticsearch/Book.java
diff --git a/spring-ai/src/main/java/com/baeldung/springai/semanticsearch/BookSearchController.java b/spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/semanticsearch/BookSearchController.java
similarity index 100%
rename from spring-ai/src/main/java/com/baeldung/springai/semanticsearch/BookSearchController.java
rename to spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/semanticsearch/BookSearchController.java
diff --git a/spring-ai/src/main/java/com/baeldung/springai/semanticsearch/BooksIngestionPipeline.java b/spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/semanticsearch/BooksIngestionPipeline.java
similarity index 100%
rename from spring-ai/src/main/java/com/baeldung/springai/semanticsearch/BooksIngestionPipeline.java
rename to spring-ai-modules/spring-ai/src/main/java/com/baeldung/springai/semanticsearch/BooksIngestionPipeline.java
diff --git a/spring-ai/src/main/resources/application-deepseek.properties b/spring-ai-modules/spring-ai/src/main/resources/application-deepseek.properties
similarity index 100%
rename from spring-ai/src/main/resources/application-deepseek.properties
rename to spring-ai-modules/spring-ai/src/main/resources/application-deepseek.properties
diff --git a/spring-ai/src/main/resources/application.yml b/spring-ai-modules/spring-ai/src/main/resources/application.yml
similarity index 100%
rename from spring-ai/src/main/resources/application.yml
rename to spring-ai-modules/spring-ai/src/main/resources/application.yml
diff --git a/spring-ai/src/main/resources/data/Employee_Handbook.pdf b/spring-ai-modules/spring-ai/src/main/resources/data/Employee_Handbook.pdf
similarity index 100%
rename from spring-ai/src/main/resources/data/Employee_Handbook.pdf
rename to spring-ai-modules/spring-ai/src/main/resources/data/Employee_Handbook.pdf
diff --git a/spring-ai/src/main/resources/rag-loader-cld.puml b/spring-ai-modules/spring-ai/src/main/resources/rag-loader-cld.puml
similarity index 100%
rename from spring-ai/src/main/resources/rag-loader-cld.puml
rename to spring-ai-modules/spring-ai/src/main/resources/rag-loader-cld.puml
diff --git a/spring-ai/src/main/resources/rag-retriever-cld.puml b/spring-ai-modules/spring-ai/src/main/resources/rag-retriever-cld.puml
similarity index 100%
rename from spring-ai/src/main/resources/rag-retriever-cld.puml
rename to spring-ai-modules/spring-ai/src/main/resources/rag-retriever-cld.puml
diff --git a/spring-ai/src/test/java/com/baeldung/springai/deepseek/ChatbotServiceLiveTest.java b/spring-ai-modules/spring-ai/src/test/java/com/baeldung/springai/deepseek/ChatbotServiceLiveTest.java
similarity index 100%
rename from spring-ai/src/test/java/com/baeldung/springai/deepseek/ChatbotServiceLiveTest.java
rename to spring-ai-modules/spring-ai/src/test/java/com/baeldung/springai/deepseek/ChatbotServiceLiveTest.java
diff --git a/spring-ai/src/test/java/com/baeldung/springai/deepseek/DeepSeekModelOutputConverterUnitTest.java b/spring-ai-modules/spring-ai/src/test/java/com/baeldung/springai/deepseek/DeepSeekModelOutputConverterUnitTest.java
similarity index 100%
rename from spring-ai/src/test/java/com/baeldung/springai/deepseek/DeepSeekModelOutputConverterUnitTest.java
rename to spring-ai-modules/spring-ai/src/test/java/com/baeldung/springai/deepseek/DeepSeekModelOutputConverterUnitTest.java
diff --git a/spring-ai/src/test/resources/application-integrationtest.yml b/spring-ai-modules/spring-ai/src/test/resources/application-integrationtest.yml
similarity index 100%
rename from spring-ai/src/test/resources/application-integrationtest.yml
rename to spring-ai-modules/spring-ai/src/test/resources/application-integrationtest.yml
diff --git a/spring-ai/src/test/resources/documentation/owl-documentation.md b/spring-ai-modules/spring-ai/src/test/resources/documentation/owl-documentation.md
similarity index 100%
rename from spring-ai/src/test/resources/documentation/owl-documentation.md
rename to spring-ai-modules/spring-ai/src/test/resources/documentation/owl-documentation.md
diff --git a/spring-ai/src/test/resources/documentation/rag-documentation.md b/spring-ai-modules/spring-ai/src/test/resources/documentation/rag-documentation.md
similarity index 100%
rename from spring-ai/src/test/resources/documentation/rag-documentation.md
rename to spring-ai-modules/spring-ai/src/test/resources/documentation/rag-documentation.md