OpenAI と Azure OpenAI は 共通の Python クライアント ライブラリに依存していますが、エンドポイント間をやり取りするためにコードに対して行う必要がある変更は少しあります。 この記事では、OpenAI と Azure OpenAI で作業するときに発生する一般的な変更と相違点について説明します。
この記事では、新しい OpenAI Python 1.x API ライブラリの例のみを示します。
0.28.1
から 1.x
への移行については、移行ガイドを参照してください。
前提条件
認証
Microsoft Entra ID または Azure Key Vault を使用することをお勧めします。 運用環境外でのテストには環境変数を使用できます。 これまでにこれを行ったことがない場合は、Python のクイックスタートでこの構成について説明しています。
API キー
OpenAI | Azure OpenAI |
|
|
Microsoft Entra ID authentication
OpenAI | Azure OpenAI |
|
|
モデルのキーワード引数
OpenAI では、model
キーワード引数を使って、使用するモデルを指定します。 Azure OpenAI には、固有のモデル デプロイの概念があります。 Azure OpenAI を使用する場合、model
は、モデルのデプロイ時に選択した基になるデプロイ名を参照する必要があります。
重要
Azure OpenAI で API を使用してモデルにアクセスする場合、API 呼び出しで、基になるモデル名ではなくデプロイ名を参照する必要があります。これは、OpenAI と Azure OpenAI の重要な違いの 1 つです。 OpenAI では、モデル名のみが必要です。 Azure OpenAI では、モデル パラメーターを使用する場合でも常にデプロイ名が必要です。 Microsoft のドキュメントに掲載されている例では、多くの場合、どのモデルが特定の API エンドポイントで機能するかを示すために、デプロイ名がモデル名と同一として表わされています。 最終的には、実際のユース ケースに最適な任意の名前付け規則に従ってデプロイ名を付けることができます。
OpenAI | Azure OpenAI |
|
|
Azure OpenAI 埋め込みによる複数の入力のサポート
OpenAI と Azure OpenAI では現在、text-embedding-ada-002 で最大 2,048 個の入力項目の入力配列がサポートされています。 どちらの場合も、このモデルでは API 要求あたりの最大入力トークン制限を 8,191 未満に抑える必要があります。
OpenAI | Azure OpenAI |
|
|