diff --git a/yudao-module-ai/pom.xml b/yudao-module-ai/pom.xml
index f2ce4fe30a..7135100d79 100644
--- a/yudao-module-ai/pom.xml
+++ b/yudao-module-ai/pom.xml
@@ -20,7 +20,7 @@
ai 模块下,接入 LLM 大模型,支持聊天、绘图、音乐、写作、思维脑图等功能。
目前已接入各种模型,不限于:
- 国内:通义千问、文心一言、讯飞星火
+ 国内:通义千问、文心一言、讯飞星火、智谱 GLM、DeepSeek
国外:OpenAI、Ollama、Midjourney、StableDiffusion、Suno
diff --git a/yudao-module-ai/yudao-module-ai-biz/pom.xml b/yudao-module-ai/yudao-module-ai-biz/pom.xml
index 0be1e4df62..7c529f118b 100644
--- a/yudao-module-ai/yudao-module-ai-biz/pom.xml
+++ b/yudao-module-ai/yudao-module-ai-biz/pom.xml
@@ -14,7 +14,7 @@
ai 模块下,接入 LLM 大模型,支持聊天、绘图、音乐、写作、思维脑图等功能。
目前已接入各种模型,不限于:
- 国内:通义千问、文心一言、讯飞星火
+ 国内:通义千问、文心一言、讯飞星火、智谱 GLM、DeepSeek
国外:OpenAI、Ollama、Midjourney、StableDiffusion、Suno
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/package-info.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/package-info.java
index 60e492ed7d..b02d1b3cef 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/package-info.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/package-info.java
@@ -1,13 +1,10 @@
/**
- * 从 https://github.com/spring-projects/spring-ai 拷贝。
+ * AI 大模型组件,基于 Spring AI 拓展
*
- * 最大目的:适配 JDK8 兼容性
- *
- * 包路径:
- * 1. chat、parser、model、parser 包:https://github.com/spring-projects/spring-ai/tree/main/spring-ai-core 拷贝
- * 2. models 包:对标 https://github.com/spring-projects/spring-ai/tree/main/models 拷贝
- * 2.1 xinghuo 包:【讯飞】星火,自己实现
- * 2.2 midjourney 包:Midjourney API,对接 https://github.com/novicezk/midjourney-proxy 实现
- * 2.3 suno 包:Suno API,对接 https://github.com/gcui-art/suno-api 实现
+ * models 包路径:
+ * 1. xinghuo 包:【讯飞】星火,自己实现
+ * 2. deepseek 包:【深度求索】DeepSeek,自己实现
+ * 3. midjourney 包:Midjourney API,对接 https://github.com/novicezk/midjourney-proxy 实现
+ * 4. suno 包:Suno API,对接 https://github.com/gcui-art/suno-api 实现
*/
package cn.iocoder.yudao.framework.ai;
\ No newline at end of file
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/OpenAiImageModelTests.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/OpenAiImageModelTests.java
index 7b2919d1e9..740978e602 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/OpenAiImageModelTests.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/OpenAiImageModelTests.java
@@ -35,6 +35,7 @@ public class OpenAiImageModelTests {
// 方法调用
ImageResponse response = imageClient.call(prompt);
+ // 打印结果
System.out.println(response);
}
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/StabilityAiImageModelTests.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/StabilityAiImageModelTests.java
new file mode 100644
index 0000000000..cb74128214
--- /dev/null
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/StabilityAiImageModelTests.java
@@ -0,0 +1,65 @@
+package cn.iocoder.yudao.framework.ai.image;
+
+import cn.hutool.core.codec.Base64;
+import cn.hutool.core.thread.ThreadUtil;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.springframework.ai.image.ImageOptions;
+import org.springframework.ai.image.ImagePrompt;
+import org.springframework.ai.image.ImageResponse;
+import org.springframework.ai.openai.OpenAiImageOptions;
+import org.springframework.ai.stabilityai.StabilityAiImageModel;
+import org.springframework.ai.stabilityai.api.StabilityAiApi;
+
+import javax.swing.*;
+import java.awt.*;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * {@link StabilityAiImageModel} 集成测试类
+ *
+ * @author fansili
+ */
+public class StabilityAiImageModelTests {
+
+ private final StabilityAiApi imageApi = new StabilityAiApi(
+ "sk-e53UqbboF8QJCscYvzJscJxJXoFcFg4iJjl1oqgE7baJETmx");
+ private final StabilityAiImageModel imageClient = new StabilityAiImageModel(imageApi);
+
+ @Test
+ @Disabled
+ public void testCall() {
+ // 准备参数
+ ImageOptions options = OpenAiImageOptions.builder()
+ .withModel("stable-diffusion-v1-6")
+ .withHeight(256).withWidth(256)
+ .build();
+ ImagePrompt prompt = new ImagePrompt("great wall", options);
+
+ // 方法调用
+ ImageResponse response = imageClient.call(prompt);
+ // 打印结果
+ String b64Json = response.getResult().getOutput().getB64Json();
+ System.out.println(response);
+ viewImage(b64Json);
+ }
+
+ public static void viewImage(String b64Json) {
+ // 创建一个 JFrame
+ JFrame frame = new JFrame("Byte Image Display");
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ frame.setSize(800, 600);
+
+ // 创建一个 JLabel 来显示图片
+ byte[] imageBytes = Base64.decode(b64Json);
+ JLabel label = new JLabel(new ImageIcon(imageBytes));
+
+ // 将 JLabel 添加到 JFrame
+ frame.getContentPane().add(label, BorderLayout.CENTER);
+
+ // 显示 JFrame
+ frame.setVisible(true);
+ ThreadUtil.sleep(1, TimeUnit.HOURS);
+ }
+
+}