QianFan イメージの生成

Spring AI は、QianFan のイメージ生成モデルである CogView をサポートします。

前提条件

QianFan 言語モデルにアクセスするには、QianFan を使用して API を作成する必要があります。

QianFan 登録ページ (英語) でアカウントを作成し、API キーページ (英語) でトークンを生成します。Spring AI プロジェクトは、spring.ai.qianfan.api-key および spring.ai.qianfan.secret-key という名前の構成プロパティを定義します。API キーページ (英語) から取得した API Key および Secret Key の値に設定する必要があります。環境変数をエクスポートすることは、その構成プロパティを設定する 1 つの方法です。

export SPRING_AI_QIANFAN_API_KEY=<INSERT KEY HERE>

リポジトリと BOM の追加

Spring AI アーティファクトは、Spring マイルストーンおよびスナップショットリポジトリで公開されます。これらのリポジトリをビルドシステムに追加するには、リポジトリセクションを参照してください。

依存関係の管理を支援するために、Spring AI は BOM (部品表) を提供し、一貫したバージョンの Spring AI がプロジェクト全体で使用されるようにします。Spring AI BOM をビルドシステムに追加するには、"依存関係管理" セクションを参照してください。

自動構成

Spring AI は、QianFan チャットクライアント用の Spring Boot 自動構成を提供します。これを有効にするには、プロジェクトの Maven pom.xml ファイルに次の依存関係を追加します。

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-qianfan-spring-boot-starter</artifactId>
</dependency>

または、Gradle build.gradle ビルドファイルに保存します。

dependencies {
    implementation 'org.springframework.ai:spring-ai-qianfan-spring-boot-starter'
}
Spring AI BOM をビルドファイルに追加するには、"依存関係管理" セクションを参照してください。

イメージ生成プロパティ

接頭辞 spring.ai.qianfan.image は、QianFan の ImageModel 実装を構成できるプロパティ接頭辞です。

プロパティ

説明

デフォルト

spring.ai.qianfan.image.enabled

QianFan イメージモデルを有効にします。

true

spring.ai.qianfan.image.base-url

オプションで spring.ai.qianfan.base-url をオーバーライドして、チャット固有の URL を提供します

-

spring.ai.qianfan.image.api-key

オプションで spring.ai.qianfan.api-key をオーバーライドしてチャット固有の API キーを提供します

-

spring.ai.qianfan.image.secret-key

オプションで spring.ai.qianfan.secret-key をオーバーライドしてチャット固有の秘密鍵を提供する

-

spring.ai.qianfan.image.options.model

イメージ生成に使用するモデル。

sd_xl

spring.ai.qianfan.image.options.user

エンドユーザーを表す一意の識別子。QianFan が不正使用を監視および検出できます。

-

接続プロパティ

接頭辞 spring.ai.qianfan は、QianFan への接続を可能にするプロパティ接頭辞として使用されます。

プロパティ

説明

デフォルト

spring.ai.qianfan.base-url

接続先の URL

aip.baidubce.com/rpc/2.0/ai_custom (英語)

spring.ai.qianfan.api-key

API キー

-

spring.ai.qianfan.secret-key

シークレットの鍵

-

プロパティの構成

再試行プロパティ

プレフィックス spring.ai.retry は、QianFan イメージクライアントの再試行メカニズムを構成できるプロパティプレフィックスとして使用されます。

プロパティ 説明 デフォルト

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 クライアントエラーコードの再試行を試行しません。

false

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

再試行をトリガーすべきではない HTTP ステータスコードのリスト (NonTransientAiException をスローするなど)。

spring.ai.retry.on-http-codes

再試行をトリガーする必要がある HTTP ステータスコードのリスト (例: TransientAiException をスローする)。

ランタイムオプション

QianFanImageOptions.java [GitHub] (英語) では、使用するモデル、品質、サイズなどのモデル構成を提供します。

起動時に、QianFanImageModel(QianFanImageApi qianFanImageApi) コンストラクターと withDefaultOptions(QianFanImageOptions defaultOptions) メソッドを使用してデフォルトのオプションを構成できます。あるいは、前述の spring.ai.qianfan.image.options.* プロパティを使用します。

実行時に、ImagePrompt 呼び出しに新しいリクエスト固有のオプションを追加することで、デフォルトのオプションをオーバーライドできます。たとえば、品質や作成するイメージの数などの QianFan 固有のオプションをオーバーライドするには、次のコード例を使用します。

ImageResponse response = qianFanImageModel.call(
        new ImagePrompt("A light cream colored mini golden doodle",
        QianFanImageOptions.builder()
                .withN(4)
                .withHeight(1024)
                .withWidth(1024).build())

);
モデル固有の QianFanImageOptions [GitHub] (英語) に加えて、ImageOptionsBuilder#builder() [GitHub] (英語) で作成されたポータブル ImageOptions [GitHub] (英語) インスタンスを使用できます。