Azure OpenAI Service リソースを作成してデプロイする
この記事では、Azure OpenAI Service の開始する方法を説明し、リソースを作成してモデルをデプロイする手順について詳しく説明しています。 次のようないくつかの方法で Azure のリソースを作成できます。
- Azure Portal
- REST API、Azure CLI、PowerShell、またはクライアント ライブラリ
- Azure Resource Manager (ARM) テンプレート
この記事で、Azure portal と Azure CLI でのリソースの作成とデプロイの例を確認できます。
前提条件
- Azure サブスクリプション。 無料で作成できます。
- Azure OpenAI リソースを作成し、モデルをデプロイするためのアクセス許可。
リソースの作成
次の手順では、Azure portal で Azure OpenAI リソースを作成する方法を示します。
リソースを特定する
Azure portal で Azure サブスクリプションにサインインします。
[リソースの作成] を選択し、[Azure OpenAI] を検索します。 サービスを見つけたら、[作成] を選択します。
[Azure OpenAI の作成] ページで、[基本] タブのフィールドに次の情報を入力します。
フィールド 説明 サブスクリプション Azure OpenAI Service オンボード アプリケーションで使用される Azure サブスクリプション。 リソース グループ Azure OpenAI リソースを含む Azure リソース グループ。 新しいグループの作成や、既存のグループへの追加ができます。 リージョン インスタンスの場所。 別の場所を選択すると待機時間が生じる可能性がありますが、リソースのランタイムの可用性には影響しません。 名前 Azure OpenAI Service リソースのわかりやすい名前 (MyOpenAIResource など)。 価格レベル リソースの価格レベル。 現時点では、Azure OpenAI Service では Standard レベルのみ使用できます。 価格の詳細については、Azure OpenAI の価格ページを参照してください [次へ] を選択します。
ネットワーク セキュリティの構成
[ネットワーク] タブには、セキュリティの [種類]に関する以下の 3 つのオプションが表示されます。
- オプション 1: インターネットを含むすべてのネットワークがこのリソースにアクセスできます。
- オプション 2: 選択したネットワーク。Azure AI サービス リソースのネットワーク セキュリティを構成します。
- オプション 3: 無効。このリソースにアクセスできるネットワークはありません。このリソースにアクセスする排他的な方法となるプライベート エンドポイント接続を構成できます。
選択したオプションによっては、追加情報を入力する必要がある場合があります。
オプション 1: すべてのネットワークを許可する
最初のオプションでは、インターネットなどのすべてのネットワークでリソースにアクセスできます。 このオプションが既定の設定です。 このオプションに追加の設定は必要ありません。
オプション 2: 特定のネットワークのみを許可する
2 番目のオプションでは、リソースにアクセスできる特定のネットワークを識別できます。 このオプションを選択すると、ページが更新され、次の必須フィールドが含まれます。
フィールド | 説明 |
---|---|
Virtual Network | リソースへのアクセスが許可されている仮想ネットワークを指定します。 既定の仮想ネットワーク名は、Azure portal で編集できます。 |
サブネット | リソースへのアクセスが許可されているサブネットを指定します。 既定のサブネット名は、Azure portal で編集できます。 |
[ファイアウォール] セクションには、リソースのファイアウォール設定を構成するために使用できるオプションの [アドレス範囲] フィールドが用意されています。
オプション 3: ネットワーク アクセスを無効にする
3 番目のオプションでは、リソースへのネットワーク アクセスを無効にすることができます。 このオプションを選択すると、ページが更新され、プライベート エンドポイント テーブルが含まれます。
オプションとして、リソースにアクセスするためのプライベート エンドポイントを追加できます。 [プライベート エンドポイントの追加] を選択し、エンドポイントの構成を完了します。
構成を確認し、リソースを作成する
[次へ] を選択し、必要に応じてリソースの [タグ] を構成します。
[次へ] を選択して、プロセスの最後のステージである [確認と送信] に移動します。
構成設定を確認し、[作成]を選択します。
Azure portal は、新しいリソースが使用可能になったときに通知を表示します。 [リソースに移動] を選択します。
モデルをデプロイする
テキストまたは推論を生成する前に、モデルをデプロイする必要があります。 Azure AI Studio で使用可能ないくつかのモデルから 1 つを選択できます。
モデルをデプロイするには、次の手順に従います。
Azure AI Studio にサインインします。
使用するサブスクリプションと Azure OpenAI リソースを選択し、[リソースの使用] を選択します。
[管理] で [デプロイ] を選択します。
[新しいデプロイを作成する] を選択し、次のフィールドを構成します。
フィールド 説明 モデルの選択 モデルの可用性はリージョンごとに異なります。 リージョンごとに利用可能なモデルの一覧については、「モデルの概要テーブルとリージョンの可用性」を参照してください。 デプロイ名 名前は慎重に選択します。 デプロイ名は、クライアント ライブラリと REST API を使用してモデルを呼び出すためにコードで使用されます。 デプロイの種類 Standard、Global-Batch、Global-Standard、Provisioned-Managed。 展開の種類のオプションの詳細を確認する。 詳細オプション (省略可能) リソースの必要に応じて、オプションの詳細設定を設定できます。
- コンテンツ フィルターの場合は、デプロイにコンテンツ フィルターを割り当てます。
- Tokens per Minute Rate Limit (1 分あたりのトークン レート制限) の場合は、1 分あたりのトークン数 (TPM) を調整して、デプロイの有効なレート制限を設定します。 この値は、[クォータ] メニューを使用していつでも変更できます。 動的クォータでは、追加の容量が利用できるときに、増やしたクォータを活用できます。ドロップダウン リストからモデルを選択します。
モデルを識別できるようにデプロイ名を入力します。
重要
API を使用してモデルにアクセスする場合、API 呼び出しで、基になるモデル名ではなくデプロイ名を参照する必要があります。これは、OpenAI と Azure OpenAI の重要な違いの 1 つです。 OpenAI では、モデル名のみが必要です。 Azure OpenAI では、モデル パラメーターを使用する場合でも常にデプロイ名が必要です。 Microsoft のドキュメントに掲載されている例では、多くの場合、どのモデルが特定の API エンドポイントで機能するかを示すために、デプロイ名がモデル名と同一として表わされています。 結局のところ、実際のユース ケースに最適な任意の名前付け規則に従ってデプロイ名を付けることができます。
最初のデプロイでは、[詳細オプション] を既定値のままにします。
[作成] を選択します
デプロイの表に、新しく作成されたモデルに対応する新しいエントリが表示されます。
デプロイが完了すると、モデルのデプロイ状態が成功に変わります。
前提条件
- Azure サブスクリプション。 無料で作成できます。
- Azure OpenAI リソースを作成し、モデルをデプロイするためのアクセス許可。
- Azure CLI。 詳細については、Azure CLIのインストール方法に関するページを参照してください。
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-version
、model-format
、sku-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"
--sku-name
では、Standard
、GlobalBatch
、GlobalStandard
、ProvisionedManaged
の展開の種類を受け入れます。 展開の種類のオプションの詳細を確認する。
重要
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>
前提条件
- Azure サブスクリプション。 無料で作成できます。
- Azure PowerShell。 詳細については、Azure PowerShell のインストール方法 を参照してください。
- Azure OpenAI リソースを作成し、モデルをデプロイするためのアクセス許可。
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-version
、model-format
、sku-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
$sku
変数の Name
プロパティは、Standard
、GlobalBatch
、GlobalStandard
、ProvisionedManaged
の展開の種類を受け入れます。 展開の種類のオプションの詳細を確認する。
重要
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
次のステップ
- Azure OpenAI Service クイック スタートを使用して、API 呼び出しを行い、テキストを生成します。
- 詳細については、「Azure OpenAI Service モデル」を参照してください。
- 価格の詳細については、Azure OpenAI の価格ページを参照してください