智譜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.