watsonx.ai
Maven の依存関係
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-watsonx</artifactId>
<version>1.23.0-beta33</version>
</dependency>
Model Gateway
画像生成は 、IBM watsonx.ai の Model Gateway を通じてのみ利用できます。Model Gateway は OpenAI 互換の画像エンドポイントを公開し、そこに登録されたプロバイダーがホストするモデルにリクエストをルーティングします。対応する基盤モデル(foundation model)はないため、WatsonxGatewayImageModel がこの統合における唯一の画像モデルです。
注意: 使用する前に、管理者がゲートウェイを設定しておく必要があります。渡す
modelNameは、すべてゲートウェイに登録済みの ID でなければなりません。
WatsonxGatewayImageModel
WatsonxGatewayImageModel は LangChain4j の ImageModel インターフェースを実装しています。インスタンスを作成するには、次を指定します。
baseUrl(...)– IBM Cloud のエンドポイント URL(String、URI、またはCloudRegion)apiKey(...)– IBM Cloud IAM の API キー(または.authenticator(...)による完全なAuthenticator)modelName(...)– ゲートウェイに登録された画像モデルの ID(OpenAI 形式で記述)
projectId や spaceId は不要です。ゲートウェイがモデルを自動的に解決します。
import com.ibm.watsonx.ai.CloudRegion;
import dev.langchain4j.data.image.Image;
import dev.langchain4j.model.image.ImageModel;
import dev.langchain4j.model.watsonx.WatsonxGatewayImageModel;
ImageModel imageModel = WatsonxGatewayImageModel.builder()
.baseUrl(CloudRegion.FRANKFURT)
.apiKey("your-api-key")
.modelName("gpt-image-1")
.build();
Image image = imageModel.generate("A futuristic city at sunset").content();
複数の画像を生成する
Response<List<Image>> response = imageModel.generate("A futuristic city at sunset", 3);
for (Image image : response.content()) {
System.out.println(image.base64Data());
}