news 2026/4/18 6:24:26

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/18 6:25:07

53_Spring AI 干货笔记之 转录 API

一、转录 API Spring AI 通过 TranscriptionModel 接口为语音转文字转录提供了统一的 API。这使您能够编写可在不同转录提供商之间移植的代码。 二、支持的提供商OpenAI 的 Whisper APIAzure OpenAI Whisper API三、通用接口 所有转录提供商都实现了以下共享接口&#xff1a; 3…

作者头像 李华
网站建设 2026/4/17 7:03:25

精准匹配,高效交付——建广数科人力外包服务的核心竞争力

在数字化浪潮下&#xff0c;企业对于高素质、专业化IT人才的需求日益迫切。如何快速、精准、稳定地获取高质量人才&#xff0c;成为推进数字化转型的关键。建广数科凭借深厚的人力资源积淀与创新服务模式&#xff0c;构建了以客户为中心、全流程保障的外包服务体系。多维资源网…

作者头像 李华
网站建设 2026/4/18 6:24:36

Dify在舆情监控系统中的关键技术实现

Dify在舆情监控系统中的关键技术实现 在社交媒体信息爆炸的时代&#xff0c;一条负面评论可能在几小时内演变为全网危机。企业对舆情的响应速度和处理质量&#xff0c;直接关系到品牌声誉与客户信任。传统的监控系统依赖关键词匹配和人工研判&#xff0c;不仅效率低下&#xff…

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

45、几何非线性控制中的非完整运动规划方法

几何非线性控制中的非完整运动规划方法 在几何非线性控制领域,非完整运动规划是一个重要的研究方向。本文将详细介绍使用正弦波控制模型系统以及更一般的非完整系统运动规划的方法。 1. 模型控制系统的正弦波控制 在这部分,我们主要研究如何使用正弦波来控制某些“模型”控…

作者头像 李华
网站建设 2026/4/18 8:25:31

[Unreal shader]后处理全屏输出深度纹理

UE中&#xff0c;全屏输出深度缓冲&#xff08;Depth Buffer&#xff09;&#xff0c;最常用且最标准的方法是使用后处理材质 (Post Process Material)。这和Unity的ScriptableRenderPass逻辑类似&#xff0c;在UE中完全可以通过材质编辑器可视化实现。方法一&#xff1a;使用后…

作者头像 李华
网站建设 2026/4/18 4:04:27

提升稳定性:虚拟串口驱动异常处理策略

虚拟串口驱动的“不死之心”&#xff1a;如何让通信在崩溃边缘自我修复你有没有遇到过这样的场景&#xff1f;工业现场的一台PLC通过虚拟串口与上位机通信&#xff0c;突然传感器断线几秒&#xff0c;再插回去时&#xff0c;软件却再也收不到数据——必须重启整个系统。或者&am…

作者头像 李华