news 2026/4/20 5:09:44

52_Spring AI 干货笔记之 ZhiPuAI 图像生成

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
52_Spring AI 干货笔记之 ZhiPuAI 图像生成

一、ZhiPuAI 图像生成

Spring AI 支持智谱 AI 的 CogView 图像生成模型。

二、先决条件

您需要创建一个智谱 AI 的 API 来访问智谱 AI 的语言模型。

在智谱 AI 注册页面 创建账户,并在 API 密钥页面 生成令牌。

Spring AI 项目定义了一个名为 spring.ai.zhipuai.api-key 的配置属性,您应将其设置为从 API 密钥页面获得的 API 密钥值。

您可以在 application.properties 文件中设置此配置属性:

spring.ai.zhipuai.api-key=<your-zhipuai-api-key>

为了在处理像 API 密钥这样的敏感信息时增强安全性,您可以使用 Spring 表达式语言(SpEL)引用自定义环境变量:

# 在 application.yml 中spring:ai:zhipuai:api-key:${ZHIPUAI_API_KEY}
# 在您的环境变量或 .env 文件中exportZHIPUAI_API_KEY=<your-zhipuai-api-key>

您也可以在应用程序代码中以编程方式设置此配置:

// 从安全来源或环境变量中检索 API 密钥StringapiKey=System.getenv("ZHIPUAI_API_KEY");

2.1 添加仓库和 BOM

Spring AI 的构件发布在 Maven Central 和 Spring Snapshot 仓库中。请参阅 构件仓库 部分,将这些仓库添加到您的构建系统中。

为便于依赖管理,Spring AI 提供了 BOM(物料清单),以确保在整个项目中使用统一版本的 Spring AI。请参阅 依赖管理 部分,将 Spring AI BOM 添加到您的构建系统中。

三、自动配置

Spring AI 的自动配置和启动器模块的构件名称发生了重大变化。更多信息请参阅升级说明。

Spring AI 为 ZhiPuAI 聊天客户端提供了 Spring Boot 自动配置。要启用它,请在项目的 Maven pom.xml 文件中添加以下依赖:

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-zhipuai</artifactId></dependency>

或在您的 Gradle build.gradle 构建文件中添加:

dependencies{implementation'org.springframework.ai:spring-ai-starter-model-zhipuai'}

请参阅 依赖管理 部分,将 Spring AI BOM 添加到您的构建文件中。

3.1 图像生成属性

现在通过前缀为 spring.ai.model.image 的顶级属性来配置图像自动配置的启用和禁用。

  • 启用:spring.ai.model.image=zhipuai(默认已启用)

  • 禁用:spring.ai.model.image=none(或任何与 zhipuai 不匹配的值)

此项更改是为了支持配置多个模型。

前缀 spring.ai.zhipuai.image 是用于配置智谱 AI 的 ImageModel 实现的属性前缀。

3.2 连接属性

前缀 spring.ai.zhipuai 用作属性前缀,用于连接到智谱 AI。

3.3 配置属性

重试属性

前缀 spring.ai.retry 用作属性前缀,用于配置 ZhiPuAI 图像客户端的重试机制。

四、运行时选项

ZhiPuAiImageOptions.java 提供模型配置,例如要使用的模型、质量、尺寸等。

在启动时,可以使用 ZhiPuAiImageModel(ZhiPuAiImageApi zhiPuAiImageApi) 构造函数和 withDefaultOptions(ZhiPuAiImageOptions defaultOptions) 方法来配置默认选项。或者,使用前面描述的 spring.ai.zhipuai.image.options.* 属性。

在运行时,您可以通过向 ImagePrompt 调用添加新的、特定于请求的选项来覆盖默认选项。例如,要覆盖智谱 AI 特定的选项,如质量和要创建的图像数量,请使用以下代码示例:

ImageResponseresponse=zhiPuAiImageModel.call(newImagePrompt("A light cream colored mini golden doodle",ZhiPuAiImageOptions.builder().quality("hd").N(4).height(1024).width(1024).build()));

除了特定于模型的 ZhiPuAiImageOptions,您还可以使用可移植的 ImageOptions 实例,该实例通过 ImageOptionsBuilder#builder() 创建。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 19:47:15

35、微分几何与非线性系统线性化:理论、方法与应用

微分几何与非线性系统线性化:理论、方法与应用 1. 魏 - 诺曼公式与问题转换 魏 - 诺曼公式将李群上的微分方程问题转化为 $\mathbb{R}^n$ 中的问题。它把从初始配置 $g_i$ 到最终配置 $g_f$ 的控制问题,转换为从 $\mathbb{R}^n$ 中的向量 $y(0)$ 到 $y(1)$ 的控制问题。这一…

作者头像 李华
网站建设 2026/4/19 6:05:27

50、控制中的外微分系统详解

控制中的外微分系统详解 1. 外代数中的相关计算与定理 在进行外代数相关内容探讨时,首先对表达式 (v \rfloor \alpha^4 \in I_E) 进行计算。 - 计算过程 : - (v \rfloor \alpha^4 = (v \rfloor (\theta^1 \wedge \theta^2)) \wedge \beta^5 + (-1)^2(\theta^1 \wedge \…

作者头像 李华
网站建设 2026/4/18 2:47:50

泛函分析与偏微分方程(四):弱拓扑的三个基本性质

无穷维赋范线性空间中弱拓扑的三个基本性质 以下三个命题是泛函分析中的经典结果,深刻揭示了无穷维空间中弱拓扑与范数拓扑的本质差异。 命题一:单位开球在弱拓扑下不是开集 命题:设 XXX 是一个无穷维赋范线性空间,B={ x∈X:∥x∥<1}B = \{x \in X : \|x\| < 1\}B…

作者头像 李华
网站建设 2026/4/18 9:18:52

USB3.0接口定义引脚说明与PCB层叠结构对信号完整性影响分析

USB3.0高速设计实战&#xff1a;从引脚定义到PCB叠层的信号完整性攻防战你有没有遇到过这样的情况&#xff1f;USB3.0接口焊好了&#xff0c;设备也能识别&#xff0c;但一跑高速传输就丢包、误码&#xff0c;甚至直接降级到USB2.0模式。示波器一看眼图——闭得比没睡醒还紧。别…

作者头像 李华
网站建设 2026/4/16 18:11:52

Dify平台支持的语音识别与合成集成方案

Dify平台支持的语音识别与合成集成方案 在智能客服、语音助手等AI应用日益普及的今天&#xff0c;企业面临的不再是“要不要做语音交互”&#xff0c;而是“如何快速、稳定地构建可落地的语音系统”。传统开发模式下&#xff0c;集成ASR&#xff08;语音识别&#xff09;和TTS…

作者头像 李华
网站建设 2026/4/19 18:26:34

LED亮度调节实战:使用PWM实现平滑调光的完整示例

从零实现呼吸灯&#xff1a;用PWM玩转LED无级调光你有没有注意过手机充电时那盏温柔闪烁的指示灯&#xff1f;或者智能家居面板上缓缓明灭的氛围灯&#xff1f;它们不像普通LED那样“啪”地一下亮起或熄灭&#xff0c;而是像呼吸一样柔和渐变——这种效果背后的核心技术&#x…

作者头像 李华