From dde01a56ef6e0fafec92a73a8ef1781cd3ab0ca2 Mon Sep 17 00:00:00 2001 From: Mark Pollack Date: Fri, 4 Apr 2025 13:03:55 -0400 Subject: [PATCH] Add diagram for new module structure --- .../ROOT/images/spring-ai-dependencies.png | Bin 0 -> 44576 bytes .../modules/ROOT/pages/upgrade-notes.adoc | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 spring-ai-docs/src/main/antora/modules/ROOT/images/spring-ai-dependencies.png diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/images/spring-ai-dependencies.png b/spring-ai-docs/src/main/antora/modules/ROOT/images/spring-ai-dependencies.png new file mode 100644 index 0000000000000000000000000000000000000000..1450844a7e4a9786e2b47953f40e0135213ffe81 GIT binary patch literal 44576 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 literal 0 HcmV?d00001 diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/upgrade-notes.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/upgrade-notes.adoc index 50f48f459..4df44181b 100644 --- a/spring-ai-docs/src/main/antora/modules/ROOT/pages/upgrade-notes.adoc +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/upgrade-notes.adoc @@ -191,9 +191,10 @@ Your IDE should assist with refactoring to the new package locations. `Content`, `MediaContent`, and `Media` have moved from `org.springframework.ai.model` to `org.springframework.ai.content`. - === New Modules Overview +image::spring-ai-dependencies.png[Spring AI Dependnecies, width=1000, align="center"] + ==== `spring-ai-commons` This is a base module with no dependencies on other Spring AI modules.