Azure OpenAI Service リソースを作成してデプロイする

この記事では、Azure OpenAI Service の開始する方法を説明し、リソースを作成してモデルをデプロイする手順について詳しく説明しています。 次のようないくつかの方法で Azure のリソースを作成できます。

  • Azure Portal
  • REST API、Azure CLI、PowerShell、またはクライアント ライブラリ
  • Azure Resource Manager (ARM) テンプレート

この記事で、Azure portal と Azure CLI でのリソースの作成とデプロイの例を確認できます。

前提条件

Note

現在、Azure OpenAI Service にアクセスするには、アプリケーションを送信する必要があります。 アクセスを適用するには、こちらのフォームに入力してください。 サポートが必要な場合は、このリポジトリで問題を開いて Microsoft にお問い合わせください。

リソースの作成

次の手順では、Azure portal で Azure OpenAI リソースを作成する方法を示します。

リソースを特定する

  1. Azure portal で Azure サブスクリプションにサインインします。

  2. [リソースの作成] を選択し、[Azure OpenAI] を検索します。 サービスを見つけたら、[作成] を選択します。

    Screenshot that shows how to create a new Azure OpenAI Service resource in the Azure portal.

  3. [Azure OpenAI の作成] ページで、[基本] タブのフィールドに次の情報を入力します。

    フィールド 説明
    サブスクリプション Azure OpenAI Service オンボード アプリケーションで使用される Azure サブスクリプション。
    リソース グループ Azure OpenAI リソースを含む Azure リソース グループ。 新しいグループの作成や、既存のグループへの追加ができます。
    リージョン インスタンスの場所。 別の場所を選択すると待機時間が生じる可能性がありますが、リソースのランタイムの可用性には影響しません。
    名前 Azure OpenAI Service リソースのわかりやすい名前 (MyOpenAIResource など)。
    価格レベル リソースの価格レベル。 現時点では、Azure OpenAI Service では Standard レベルのみ使用できます。 価格の詳細については、Azure OpenAI の価格ページを参照してください

    Screenshot that shows how to configure an Azure OpenAI resource in the Azure portal.

  4. [次へ] を選択します。

ネットワーク セキュリティの構成

[ネットワーク] タブには、セキュリティの [種類]に関する以下の 3 つのオプションが表示されます。

  • オプション 1: インターネットを含むすべてのネットワークがこのリソースにアクセスできます。
  • オプション 2: 選択したネットワーク。Azure AI サービス リソースのネットワーク セキュリティを構成します。
  • オプション 3: 無効。このリソースにアクセスできるネットワークはありません。このリソースにアクセスする排他的な方法となるプライベート エンドポイント接続を構成できます。

Screenshot that shows the network security options for an Azure OpenAI resource in the Azure portal.

選択したオプションによっては、追加情報を入力する必要がある場合があります。

オプション 1: すべてのネットワークを許可する

最初のオプションでは、インターネットなどのすべてのネットワークでリソースにアクセスできます。 このオプションが既定の設定です。 このオプションに追加の設定は必要ありません。

オプション 2: 特定のネットワークのみを許可する

2 番目のオプションでは、リソースにアクセスできる特定のネットワークを識別できます。 このオプションを選択すると、ページが更新され、次の必須フィールドが含まれます。

フィールド 説明
Virtual Network リソースへのアクセスが許可されている仮想ネットワークを指定します。 既定の仮想ネットワーク名は、Azure portal で編集できます。
サブネット リソースへのアクセスが許可されているサブネットを指定します。 既定のサブネット名は、Azure portal で編集できます。

Screenshot that shows how to configure network security for an Azure OpenAI resource to allow specific networks only.

[ファイアウォール] セクションには、リソースのファイアウォール設定を構成するために使用できるオプションの [アドレス範囲] フィールドが用意されています。

オプション 3: ネットワーク アクセスを無効にする

3 番目のオプションでは、リソースへのネットワーク アクセスを無効にすることができます。 このオプションを選択すると、ページが更新され、プライベート エンドポイント テーブルが含まれます。

Screenshot that shows how to disable network security for an Azure OpenAI resource in the Azure portal.

オプションとして、リソースにアクセスするためのプライベート エンドポイントを追加できます。 [プライベート エンドポイントの追加] を選択し、エンドポイントの構成を完了します。

構成を確認し、リソースを作成する

  1. [次へ] を選択し、必要に応じてリソースの [タグ] を構成します。

  2. [次へ] を選択して、プロセスの最後のステージである [確認と送信] に移動します。

  3. 構成設定を確認し、[作成]を選択します。

Azure portal は、新しいリソースが使用可能になったときに通知を表示します。

モデルをデプロイする

テキストまたは推論を生成する前に、モデルをデプロイする必要があります。 Azure OpenAI Studio で使用可能ないくつかのモデルから 1 つを選択できます。

モデルをデプロイするには、次の手順に従います。

  1. Azure OpenAI Studio にサインインします。

  2. 使用するサブスクリプションと Azure OpenAI リソースを選択し、[リソースの使用] を選択します。

  3. [管理][デプロイ] を選択します。

  4. [新しいデプロイを作成する] を選択し、次のフィールドを構成します。

    フィールド 説明
    モデルの選択 モデルの可用性はリージョンごとに異なります。 リージョンごとに利用可能なモデルの一覧については、「モデルの概要テーブルとリージョンの可用性」を参照してください。
    デプロイ名 名前は慎重に選択します。 デプロイ名は、クライアント ライブラリと REST API を使用してモデルを呼び出すためにコードで使用されます。
    詳細オプション (省略可能) リソースの必要に応じて、オプションの詳細設定を設定できます。
    - コンテンツ フィルターの場合は、デプロイにコンテンツ フィルターを割り当てます。
    - Tokens per Minute Rate Limit (1 分あたりのトークン レート制限) の場合は、1 分あたりのトークン数 (TPM) を調整して、デプロイの有効なレート制限を設定します。 この値は、[クォータ] メニューを使用していつでも変更できます。 動的クォータでは、追加の容量が利用できるときに、増やしたクォータを活用できます。
  5. ドロップダウン リストからモデルを選択します。

  6. モデルを識別できるようにデプロイ名を入力します。

    重要

    API 経由でモデルにアクセスする場合、API 呼び出しで基になるモデル名ではなくデプロイ名を参照する必要があります。 これは OpenAI と Azure OpenAI の主な違いの 1 つです。 OpenAI で必要なのはモデル名のみですが、Azure OpenAI では、モデル パラメーターを使う場合でも常にデプロイ名が必要です。 Microsoft のドキュメントには、どのモデルが特定の API エンドポイントで機能するかを示すために、デプロイ名がモデル名と同一として表わされる例が多く掲載されています。 結局のところ、実際のユース ケースに最適な任意の名前付け規則に従ってデプロイ名を付けることができます。

  7. 最初のデプロイでは、[詳細オプション] を既定値のままにします。

  8. [作成] を選択します

デプロイの表に、新しく作成されたモデルに対応する新しいエントリが表示されます。

デプロイが完了すると、モデルのデプロイ状態が成功に変わります。

前提条件

Note

現在、Azure OpenAI Service にアクセスするには、アプリケーションを送信する必要があります。 アクセスを適用するには、こちらのフォームに入力してください。 サポートが必要な場合は、このリポジトリで問題を開いて Microsoft にお問い合わせください。

Azure CLI にサインインする

Azure CLI にサインインするか、次の手順で [Cloudshell を開く] を選択します。

Azure リソース グループの作成

Azure OpenAI リソースを作成するには、Azure リソース グループが必要です。 Azure CLI 経由で新しいリソースを作成する場合は、新しいリソース グループを作成したり、既存のグループを使用するよう Azure に指示したりすることもできます。 次の例は、az group create コマンドを使用して OAIResourceGroup という名前の新しいリソース グループを作成する方法を示しています。 リソース グループは、米国東部で作成されます。

az group create \
--name OAIResourceGroup \
--location eastus

リソースの作成

az cognitiveservices account create コマンドを使用して、リソース グループに Azure OpenAI リソースを作成します。 次の例では、OAIResourceGroup リソース グループに MyOpenAIResource という名前のリソースを作成します。 この例を試してみると、Azure サブスクリプション ID <subscriptionID> と共に、リソース グループとリソース名に必要な値を使用するようにコードを更新します。

az cognitiveservices account create \
--name MyOpenAIResource \
--resource-group OAIResourceGroup \
--location eastus \
--kind OpenAI \
--sku s0 \
--subscription <subscriptionID>

リソースに関する情報の取得

リソースを作成したら、さまざまなコマンドを使用して、Azure OpenAI Service インスタンスに関する有用な情報を見つけることができます。 次の例では、REST API エンドポイントのベース URL と新しいリソースのアクセス キーを取得する方法について説明します。

エンドポイント URL を取得する

az cognitiveservices account show コマンドを使用して、リソースの REST API エンドポイントのベース URL を取得します。 この例では、.properties.endpoint 値を検索するように jq JSON プロセッサ経由でコマンド出力を指示しています。

この例を試してみると、リソース グループ <myResourceGroupName> とリソース <myResourceName> の値を使用するようにコードを更新します。

az cognitiveservices account show \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
| jq -r .properties.endpoint

プライマリ API キーを取得する

リソースのアクセス キーを取得するには、az cognitiveservices account keys list コマンドを使用します。 この例では、.key1 値を検索するように jq JSON プロセッサ経由でコマンド出力を指示しています。

この例を試すときは、リソース グループとリソースの値を使用するようにコードを更新します。

az cognitiveservices account keys list \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
| jq -r .key1

モデルをデプロイする

モデルをデプロイするには、az cognitiveservices account deployment create コマンドを使用します。 次の例では、text-embedding-ada-002 モデルのインスタンスをデプロイし、それに「MyModel」という名前を付けます。 この例を試すときは、リソース グループとリソースの値を使用するようにコードを更新します。 model-versionmodel-formatsku-capacity、または sku-name の値を変更する必要はありません。

az cognitiveservices account deployment create \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
--deployment-name MyModel \
--model-name text-embedding-ada-002 \
--model-version "1"  \
--model-format OpenAI \
--sku-capacity "1" \
--sku-name "Standard"

重要

API 経由でモデルにアクセスする場合、API 呼び出しで基になるモデル名ではなくデプロイ名を参照する必要があります。 これは OpenAI と Azure OpenAI の主な違いの 1 つです。 OpenAI で必要なのはモデル名のみですが、Azure OpenAI では、モデル パラメーターを使う場合でも常にデプロイ名が必要です。 Microsoft のドキュメントには、どのモデルが特定の API エンドポイントで機能するかを示すために、デプロイ名がモデル名と同一として表わされる例が多く掲載されています。 結局のところ、実際のユース ケースに最適な任意の名前付け規則に従ってデプロイ名を付けることができます。

リソースからモデルを削除する

az cognitiveservices account deployment delete コマンドを使用して、リソースからデプロイされたすべてのモデルを削除できます。 次の例では、MyModel という名前のモデルを削除します。 この例を試すときは、リソース グループ、リソース、およびデプロイされたモデルの値を使用するようにコードを更新します。

az cognitiveservices account deployment delete \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
--deployment-name MyModel

リソースの削除

これらの演習の後にクリーンする場合は、Azure CLI 経由でリソースを削除することで、Azure OpenAI リソースを削除できます。 リソース グループを削除することもできます。 リソース グループを削除することを選択する場合は、グループに含まれるすべてのリソースも削除されます。

リソース グループとそれに関連付けられているリソースを削除するには、az cognitiveservices account delete コマンドを使用します。

これらの演習で作成したリソースの使用を継続しない場合は、次のコマンドを実行してリソース グループを削除します。 リソース グループとリソースの値を使用するようにコードの例を更新するようにしてください。

az cognitiveservices account delete \
--name <myResourceName> \
--resource-group  <myResourceGroupName>

前提条件

Note

現在、Azure OpenAI Service にアクセスするには、アプリケーションを送信する必要があります。 アクセスを適用するには、こちらのフォームに入力してください。 サポートが必要な場合は、このリポジトリで問題を開いて Microsoft にお問い合わせください。

Azure PowerShell にサインインする

Azure PowerShell にサインイン するか、次の手順で Cloudshell を開く を選択します。

Azure リソース グループの作成

Azure OpenAI リソースを作成するには、Azure リソース グループが必要です。 Azure PowerShell 経由で新しいリソースを作成する場合は、新しいリソース グループを作成したり、既存のグループを使用するよう Azure に指示したりすることもできます。 次の例は、New-AzResourceGroup コマンドを使用して OAIResourceGroup という名前の新しいリソース グループを作成する方法を示しています。 リソース グループは、米国東部で作成されます。

New-AzResourceGroup -Name OAIResourceGroup -Location eastus

リソースの作成

New-AzCognitiveServicesAccount コマンドを使用して、リソース グループに Azure OpenAI リソースを作成します。 次の例では、OAIResourceGroup リソース グループに MyOpenAIResource という名前のリソースを作成します。 この例を試してみると、Azure サブスクリプション ID <subscriptionID> と共に、リソース グループとリソース名に必要な値を使用するようにコードを更新します。

New-AzCognitiveServicesAccount -ResourceGroupName OAIResourceGroup -Name MyOpenAIResource -Type OpenAI -SkuName S0 -Location eastus

リソースに関する情報の取得

リソースを作成したら、さまざまなコマンドを使用して、Azure OpenAI Service インスタンスに関する有用な情報を見つけることができます。 次の例では、REST API エンドポイントのベース URL と新しいリソースのアクセス キーを取得する方法について説明します。

エンドポイント URL を取得する

Get-AzCognitiveServicesAccount コマンドを使用して、リソースの REST API エンドポイントのベース URL を取得します。 この例では、endpoint 値を検索するように Select-Object コマンドレット経由でコマンド出力を指示しています。

この例を試すときは、リソース グループ <myResourceGroupName> とリソース <myResourceName> の値を使用するようにコードを更新します。

Get-AzCognitiveServicesAccount -ResourceGroupName OAIResourceGroup -Name MyOpenAIResource |
  Select-Object -Property endpoint

プライマリ API キーを取得する

リソースのアクセス キーを取得するには、Get-AzCognitiveServicesAccountKey コマンドを使用します。 この例では、Key1 値を検索するように Select-Object コマンドレット経由でコマンド出力を指示しています。

この例を試すときは、リソース グループ とリソース の値を使用するようにコードを更新します。

Get-AzCognitiveServicesAccountKey -Name MyOpenAIResource -ResourceGroupName OAIResourceGroup |
  Select-Object -Property Key1

モデルをデプロイする

モデルを展開するには、New-AzCognitiveServicesAccountDeployment コマンドを使用します。 次の例では、text-embedding-ada-002 モデルのインスタンスをデプロイし、それに「MyModel」という名前を付けます。 この例を試すときは、リソース グループとリソースの値を使用するようにコードを更新します。 model-versionmodel-formatsku-capacity、または sku-name の値を変更する必要はありません。

$model = New-Object -TypeName 'Microsoft.Azure.Management.CognitiveServices.Models.DeploymentModel' -Property @{
    Name = 'text-embedding-ada-002'
    Version = '2'
    Format = 'OpenAI'
}

$properties = New-Object -TypeName 'Microsoft.Azure.Management.CognitiveServices.Models.DeploymentProperties' -Property @{
    Model = $model
}

$sku = New-Object -TypeName "Microsoft.Azure.Management.CognitiveServices.Models.Sku" -Property @{
    Name = 'Standard'
    Capacity = '1'
}

New-AzCognitiveServicesAccountDeployment -ResourceGroupName OAIResourceGroup -AccountName MyOpenAIResource -Name MyModel -Properties $properties -Sku $sku

重要

API 経由でモデルにアクセスする場合、API 呼び出しで基になるモデル名ではなくデプロイ名を参照する必要があります。 これは OpenAI と Azure OpenAI の主な違いの 1 つです。 OpenAI で必要なのはモデル名のみですが、Azure OpenAI では、モデル パラメーターを使う場合でも常にデプロイ名が必要です。 Microsoft のドキュメントには、どのモデルが特定の API エンドポイントで機能するかを示すために、デプロイ名がモデル名と同一として表わされる例が多く掲載されています。 結局のところ、実際のユース ケースに最適な任意の名前付け規則に従ってデプロイ名を付けることができます。

リソースからモデルを削除する

Remove-AzCognitiveServicesAccountDeployment コマンドを使用して、リソースからデプロイされたすべてのモデルを削除できます。 次の例では、MyModel という名前のモデルを削除します。 この例を試すときは、リソース グループ、リソース、およびデプロイされたモデルの値を使用するようにコードを更新します。

Remove-AzCognitiveServicesAccountDeployment -ResourceGroupName OAIResourceGroup -AccountName MyOpenAIResource -Name MyModel

リソースの削除

これらの演習の後にクリーンする場合は、Azure PowerShell 経由でリソースを削除することで、Azure OpenAI リソースを削除できます。 リソース グループを削除することもできます。 リソース グループを削除することを選択する場合は、グループに含まれるすべてのリソースも削除されます。

リソース グループとそれに関連付けられているリソースを削除するには、Remove-AzCognitiveServicesAccount コマンドを使用します。

これらの演習で作成したリソースの使用を継続しない場合は、次のコマンドを実行してリソース グループを削除します。 リソース グループとリソースの値を使用するようにコードの例を更新するようにしてください。

Remove-AzCognitiveServicesAccount -Name MyOpenAIResource -ResourceGroupName OAIResourceGroup

次のステップ