智谱AI图像生成

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

先决条件

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

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

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

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

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

为了增强处理 API 密钥等敏感信息时的安全性,您可以使用 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 存储库中。请参阅 工件存储库 部分,将这些存储库添加到您的构建系统。

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

自动配置

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

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.model.image 的顶级属性进行配置。

要启用,请设置 spring.ai.model.image=stabilityai(默认启用)

要禁用,请设置 spring.ai.model.image=none(或任何不匹配 stabilityai 的值)

此更改是为了允许配置多个模型。

前缀 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.base-url 以提供聊天特定的 URL

-

spring.ai.zhipuai.image.api-key

可选,覆盖 spring.ai.zhipuai.api-key 以提供聊天特定的 API 密钥

-

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

open.bigmodel.cn/api/paas

spring.ai.zhipuai.api-key

API 密钥

-

配置属性

重试属性

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

财产 描述 默认值

spring.ai.retry.max-attempts

最大重试次数。

10

spring.ai.retry.backoff.initial-interval

指数回退策略的初始休眠持续时间。

2 秒。

spring.ai.retry.backoff.multiplier

回退间隔乘数。

5

spring.ai.retry.backoff.max-interval

最大回退持续时间。

3 分钟。

spring.ai.retry.on-client-errors

如果为 false,则抛出 NonTransientAiException,并且不尝试重试 4xx 客户端错误代码

spring.ai.retry.exclude-on-http-codes

不应触发重试的 HTTP 状态代码列表(例如,抛出 NonTransientAiException)。

spring.ai.retry.on-http-codes

应触发重试的 HTTP 状态代码列表(例如,抛出 TransientAiException)。

运行时选项

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,您还可以使用可移植的 ImageOptions 实例,通过 ImageOptionsBuilder#builder() 创建。
© . This site is unofficial and not affiliated with VMware.