智谱 AI 图像生成
本站(springdoc.cn)中的内容来源于 spring.io ,原始版权归属于 spring.io。由 springdoc.cn 进行翻译,整理。可供个人学习、研究,未经许可,不得进行任何转载、商用或与之相关的行为。 商标声明:Spring 是 Pivotal Software, Inc. 在美国以及其他国家的商标。 |
Spring AI supports CogView, the Image generation model from ZhiPuAI.
先决条件
Spring AI 支持来自智谱 AI 的图像生成模型 CogView。
在 智谱 AI 注册页面 创建账户,并在 API 密钥页面 生成令牌。
Spring AI 项目定义了一个名为 spring.ai.zhipuai.api-key
的配置属性,你应将其设置为从 API Key 页面获取的 API Key
的值。
你可以在 application.properties
文件中设置此配置属性:
spring.ai.zhipuai.api-key=<your-zhipuai-api-key>
在处理 API Key 等敏感信息时,为了增强安全性,可以使用 Spring 表达式语言(SpEL)引用自定义环境变量:
# In application.yml
spring:
ai:
zhipuai:
api-key: ${ZHIPUAI_API_KEY}
# In your environment or .env file
export ZHIPUAI_API_KEY=<your-zhipuai-api-key>
你也可以在应用代码中以编程方式设置该配置:
// Retrieve API key from a secure source or environment variable
String apiKey = System.getenv("ZHIPUAI_API_KEY");
添加仓库和 BOM
Spring AI 工件发布在 Maven Central 和 Spring Snapshot 资源库中。请参阅 “Artifact 仓库” 部分,将这些资源库添加到你的构建系统中。
为了帮助进行依赖关系管理,Spring AI 提供了一个 BOM(物料清单),以确保在整个项目中使用一致的 Spring AI 版本。请参阅 “依赖管理” 部分,将 Spring AI BOM 添加到构建系统中。
自动配置
Spring AI 自动配置、Starter 模块的工件名称发生了重大变化。更多信息请参阅 升级说明。 |
Spring AI 为智谱 AI 聊天客户端提供了 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 添加到构建文件中。 |
图像生成配置
图像自动配置的启用和禁用现在可通过以
这一更改是为了允许配置多个模型。 |
spring.ai.zhipuai.image
前缀是属性前缀,用于配置智谱 AI 的 ImageModel
实现。
属性 |
说明 |
默认值 |
spring.ai.zhipuai.image.enabled (移除且不再生效) |
启用智谱 AI 图像模型。 |
true |
spring.ai.model.image |
启用智谱 AI 图像模型。 |
zhipuai |
spring.ai.zhipuai.image.base-url |
可选,覆盖 |
- |
spring.ai.zhipuai.image.api-key |
可选,覆盖 |
- |
spring.ai.zhipuai.image.options.model |
用于图像生成的模型。 |
cogview-3 |
spring.ai.zhipuai.image.options.user |
一个代表终端用户的唯一标识符,可以帮助智谱 AI 监控和检测滥用行为。 |
- |
连接配置
前缀 spring.ai.zhipuai
用作属性前缀,使你能够连接到智谱 AI。
属性 |
说明 |
默认值 |
spring.ai.zhipuai.base-url |
要连接到的 URL |
|
spring.ai.zhipuai.api-key |
API Key |
- |
重试配置
前缀 spring.ai.retry
用作属性前缀,使你能够为智谱 AI 图像客户端配置重试机制。
属性 | 说明 | 默认值 |
---|---|---|
spring.ai.retry.max-attempts |
最大重试次数。 |
10 |
spring.ai.retry.backoff.initial-interval |
指数退避策略的初始休眠持续时间。 |
2 sec. |
spring.ai.retry.backoff.multiplier |
退避间隔乘数。 |
5 |
spring.ai.retry.backoff.max-interval |
最大退避持续时间。 |
3 min. |
spring.ai.retry.on-client-errors |
如果为 false,则抛出 |
false |
spring.ai.retry.exclude-on-http-codes |
不应触发重试的 HTTP 状态码列表(例如,用于抛出 |
empty |
spring.ai.retry.on-http-codes |
应触发重试的 HTTP 状态码列表(例如,用于抛出 |
empty |
运行时选项
ZhiPuAiImageOptions.java 提供了模型配置,例如要使用的模型、质量、大小等。
启动时,默认选项可以通过 ZhiPuAiImageModel(ZhiPuAiImageApi zhiPuAiImageApi)
构造函数和 withDefaultOptions(ZhiPuAiImageOptions defaultOptions)
方法进行配置。或者,也可以使用之前描述的 spring.ai.zhipuai.image.options.*
属性。
在运行时,你可以通过向 ImagePrompt
调用添加新的、特定于请求的选项来覆盖默认选项。例如,要覆盖智谱 AI 特定的选项(如质量以及要创建的图像数量),请使用以下代码示例:
ImageResponse response = zhiPuAiImageModel.call(
new ImagePrompt("A light cream colored mini golden doodle",
ZhiPuAiImageOptions.builder()
.quality("hd")
.N(4)
.height(1024)
.width(1024).build())
);
除了特定于模型的 ZhiPuAiImageOptions 之外,你还可以使用由 ImageOptionsBuilder#builder() 创建的可移植 ImageOptions 实例。 |