mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 18:28:43 +08:00 
			
		
		
		
	【代码优化】AI:完善 StabilityAiImageModelTests 单测,方便大家快速体验
This commit is contained in:
		| @@ -20,7 +20,7 @@ | ||||
|     <description> | ||||
|         ai 模块下,接入 LLM 大模型,支持聊天、绘图、音乐、写作、思维脑图等功能。 | ||||
|         目前已接入各种模型,不限于: | ||||
|           国内:通义千问、文心一言、讯飞星火 | ||||
|           国内:通义千问、文心一言、讯飞星火、智谱 GLM、DeepSeek | ||||
|           国外:OpenAI、Ollama、Midjourney、StableDiffusion、Suno | ||||
|     </description> | ||||
|  | ||||
|   | ||||
| @@ -14,7 +14,7 @@ | ||||
|     <description> | ||||
|         ai 模块下,接入 LLM 大模型,支持聊天、绘图、音乐、写作、思维脑图等功能。 | ||||
|         目前已接入各种模型,不限于: | ||||
|         国内:通义千问、文心一言、讯飞星火 | ||||
|         国内:通义千问、文心一言、讯飞星火、智谱 GLM、DeepSeek | ||||
|         国外:OpenAI、Ollama、Midjourney、StableDiffusion、Suno | ||||
|     </description> | ||||
|  | ||||
|   | ||||
| @@ -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; | ||||
| @@ -35,6 +35,7 @@ public class OpenAiImageModelTests { | ||||
|  | ||||
|         // 方法调用 | ||||
|         ImageResponse response = imageClient.call(prompt); | ||||
|         // 打印结果 | ||||
|         System.out.println(response); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -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); | ||||
|     } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV