news 2026/5/13 11:21:50

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/5/11 8:14:48

现网都在用,但很多人不知道的网络服务和管理

一、DHCP 动态主机配置协议核心概念协议层级应用层协议核心作用客户端网卡设置为「动态获取IP」模式时&#xff0c;DHCP服务器会自动为其分配IP地址、子网掩码、网关、DNS等网络参数&#xff0c;实现客户端联网&#xff0c;减少手动配置工作量。典型场景办公网、校园网、家庭路…

作者头像 李华
网站建设 2026/5/11 8:14:48

基于Dify的语音助手前端+后端整合方案

基于 Dify 的语音助手前后端整合实践 在智能设备无处不在的今天&#xff0c;用户对“能听、会说、懂你”的语音助手期待越来越高。从智能家居到企业客服系统&#xff0c;语音交互正逐步成为主流入口。但构建一个真正可用的语音助手&#xff0c;并非只是接上语音识别&#xff08…

作者头像 李华
网站建设 2026/5/11 8:14:48

LVGL教程:RGB接口屏幕驱动调试技巧

搞定RGB屏不花、不闪、不撕裂&#xff1a;LVGL底层驱动调试实战指南你有没有遇到过这样的场景&#xff1f;LVGL界面写得漂亮&#xff0c;控件动画丝滑流畅&#xff0c;结果一烧进板子——屏幕要么全白、要么花得像抽象画&#xff0c;或者画面“上下错位”、刷新时疯狂闪烁。更糟…

作者头像 李华
网站建设 2026/5/10 20:18:44

4、用 Ruby 进行数据可视化与桌面报告生成

用 Ruby 进行数据可视化与桌面报告生成 1. 使用 Gruff 创建柱状图 在数据可视化中,柱状图是一种常用的展示方式。以下代码展示了如何使用 Gruff 库为数据库中的每个玩家创建柱状图报告: Player.find(:all).each do |player|bar_chart = Gruff::Bar.new(1024)bar_chart.le…

作者头像 李华
网站建设 2026/5/10 21:31:16

7、Rails应用开发:从演员日程表到团队性能报告

Rails应用开发:从演员日程表到团队性能报告 演员日程表应用 在Rails中开发一个简单的Web应用,首先要创建应用的布局文件。以下是演员日程表视图的布局代码: <html> <head> <title>Actor Schedule Report</title> </head> <body> &l…

作者头像 李华
网站建设 2026/5/10 20:28:57

Docker vs Podman:两大容器引擎

引言 在现代云计算和开发领域&#xff0c;容器技术已成为不可或缺的一部分。提到容器&#xff0c;大多数人首先想到的是 Docker&#xff0c;但实际上还有另一个强大且日益流行的选择&#xff1a;Podman。本文将深入探讨 Docker 和 Podman 的区别、联系以及各自的适用场景。 一…

作者头像 李华