跳到主要内容

OpenAI 公式 SDK

备注

これは公式OpenAI Java SDKを使用するOpenAI 公式 SDK統合のドキュメントです。

LangChain4jは画像生成のためにOpenAIとの3つの異なる統合を提供しており、これは#2です:

  • OpenAIはOpenAI REST APIのカスタムJava実装を使用し、Quarkus(Quarkus RESTクライアントを使用)とSpring(SpringのRestClientを使用)で最もよく機能します。
  • OpenAI 公式 SDKは公式OpenAI Java SDKを使用します。
  • Azure OpenAIはMicrosoftのAzure SDKを使用し、高度なAzure認証メカニズムを含むMicrosoft Javaスタックを使用している場合に最適です。

この統合のユースケース

この統合はOpenAI Java SDK GitHubリポジトリを使用し、以下によって提供されるすべてのOpenAIモデルで動作します:

  • OpenAI
  • Azure OpenAI

また、OpenAI APIをサポートするモデルでも動作します。

OpenAIドキュメント

Maven依存関係

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai-official</artifactId>
<version>1.0.0-beta4</version>
</dependency>

モデルの設定

OpenAIモデルを使用するには、通常、エンドポイントURL、APIキー、モデル名が必要です。これはモデルがホストされている場所によって異なり、この統合はいくつかの自動設定で簡単にします:

一般的な設定

import com.openai.models.images.ImageModel;
import dev.langchain4j.model.image.ImageModel;
import dev.langchain4j.model.openaiofficial.OpenAiOfficialImageModel;

// ....

ImageModel model = OpenAiOfficialImageModel.builder()
.baseUrl(System.getenv("OPENAI_BASE_URL"))
.apiKey(System.getenv("OPENAI_API_KEY"))
.modelName(ImageModel.DALL_E_3)
.build();

Azure OpenAIとGitHub Modelsのための特定の設定

OpenAI 公式チャットモデルの設定と同様に、isAzure()およびisGitHubModels()メソッドを使用して、Azure OpenAIおよびGitHub ModelsでOpenAiOfficialImageModelを設定できます。

Azure OpenAI

ImageModel model = OpenAiOfficialImageModel.builder()
.baseUrl(System.getenv("AZURE_OPENAI_ENDPOINT"))
.apiKey(System.getenv("AZURE_OPENAI_KEY"))
.modelName(ImageModel.DALL_E_3)
.isAzure(true) // ベースURLが`openai.azure.com`で終わる場合は不要
.build();

OpenAI 公式チャットモデルのドキュメントで説明されているように、「パスワードレス」認証を使用することもできます。

GitHub Models

ImageModel model = OpenAiOfficialImageModel.builder()
.modelName(ImageModel.DALL_E_3)
.isGitHubModels(true)
.build();

モデルの使用

モデルが設定されたら、それを使用して画像を生成できます:

String imageUrl = imageModel
.generate("フランス、パリのコーヒーマグ")
.content()
.url()
.toString();