この記事では、Foundry Models エンドポイントに新しいモデル デプロイを追加する方法について説明します。 要求でデプロイ名を指定すると、Foundry リソースで推論を行うためにデプロイが利用可能になります。
前提 条件
この記事を完了するには、次のものが必要です。
Azure サブスクリプション。
Foundry プロジェクト。 このプロジェクトの種類は Foundry リソースで管理されます。 Foundry プロジェクトがない場合は、「Microsoft Foundry プロジェクトを作成する」を参照してください。
Azure のロールベースのアクセス制御 (RBAC) アクセス許可でデプロイを作成および管理します。 Foundry リソースには、Cognitive Services 共同作成者ロールまたは同等のアクセス許可が必要です。
パートナーやコミュニティからの Foundry モデルでは、Azure Marketplace へのアクセスが必要です。 モデル オファリングをサブスクライブするために必要なアクセス許可があることを確認します。 Azure で販売される Foundry モデルには、この要件は適用されません。
Azure CLI (バージョン 2.60 以降) をインストールします。 この記事で使用する
az cognitiveservicesコマンドはコア CLI の一部であるため、追加の拡張機能は必要ありません。このチュートリアルの一部のコマンドでは、
jqツールを使用します。このツールはシステムにインストールされていない可能性があります。 インストール手順については、「jqのダウンロード」を参照してください。次の情報を特定します。
- Azure サブスクリプション ID
- Foundry のリソース名
- Foundry リソースをデプロイしたリソース グループ
デプロイするモデル名、プロバイダー、バージョン、SKU。 Foundry ポータルまたはAzure CLIを使用して、この情報を見つけます。 この例では、次のモデルをデプロイします。
-
モデル名:
Phi-4-mini-instruct -
プロバイダー:
Microsoft -
バージョン:
1 - 展開の種類: グローバル標準
-
モデル名:
パートナーおよびコミュニティのモデルを購読するために必要なアクセス許可
パートナーやコミュニティからのファウンドリモデルはデプロイに利用可能で、Cohereモデルには Azure Marketplace が必要です。 モデル プロバイダーは、ライセンス条項を定義し、Azure Marketplaceを使用してモデルを使用するための価格を設定します。
サード パーティ製モデルをデプロイする場合は、アカウントに次のアクセス許可があることを確認します。
- Azure サブスクリプションで次の手順を実行します。
Microsoft.MarketplaceOrdering/agreements/offers/plans/readMicrosoft.MarketplaceOrdering/agreements/offers/plans/sign/actionMicrosoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/readMicrosoft.Marketplace/offerTypes/publishers/offers/plans/agreements/readMicrosoft.SaaS/register/action
- リソース グループで、SaaS リソースを作成して使用するには、次の手順を実行します。
Microsoft.SaaS/resources/readMicrosoft.SaaS/resources/write
Owner と Contributor Azure サブスクリプションの組み込みロールには、これらのアクセス許可が含まれます。 必要なアクセス許可がない場合は、サブスクリプション管理者に 依頼して共同作成者 ロールを割り当てるか、一覧表示されているアクションを含む カスタム ロールを作成 してください。
アクセス許可を確認するには、Azure ポータルに移動し、サブスクリプションを開き、Access control (IAM)>Check access を選択して、割り当てられたロールを確認します。
ヒント
Microsoft.SaaS/register/action は、サブスクリプションでの SaaS リソース プロバイダーの 1 回限りの登録です。 登録後、デプロイごとに繰り返す必要はありません。
モデルを追加する
モデルを追加するには、まずデプロイするモデルを特定します。 使用可能なモデルを次のように照会します。
Azure サブスクリプションにサインインします。
az login複数のサブスクリプションがある場合は、リソースが配置されているサブスクリプションを選択します。
subscriptionId="<subscription-id>" az account set --subscription $subscriptionId使用する Foundry リソースとリソース グループの名前を使用して、次の環境変数を設定します。
accountName="<ai-services-resource-name>" resourceGroupName="<resource-group>" location="eastus2"Foundry リソースをまだ作成していない場合は、作成します。
az cognitiveservices account create -n $accountName -g $resourceGroupName --custom-domain $accountName --location $location --kind AIServices --sku S0リファレンス: az cognitiveservices account
使用可能なモデルと、どの SKU で使用できるかを確認します。 各デプロイの種類は、CLI と ARM の SKU コードによって表され、インフラストラクチャが要求Azure処理する方法を定義します。 モデルでは、デプロイの種類が異なる場合があります。 次のコマンドは、使用可能なすべてのモデル定義を一覧表示します。
az cognitiveservices account list-models \ -n $accountName \ -g $resourceGroupName \ | jq '.[] | { name: .name, format: .format, version: .version, sku: .skus[0].name, capacity: .skus[0].capacity.default }'出力には、使用可能なモデルとそのプロパティが含まれます。
{ "name": "Phi-4-mini-instruct", "format": "Microsoft", "version": "1", "sku": "GlobalStandard", "capacity": 1000 }デプロイするモデルを特定します。 プロパティ
name、format、version、およびskuが必要です。 プロパティformatは、モデルを提供するプロバイダーを示します。 デプロイの種類によっては、容量が必要な場合もあります。モデル デプロイをリソースに追加します。 次の例では、
Phi-4-mini-instructを追加します。az cognitiveservices account deployment create \ -n $accountName \ -g $resourceGroupName \ --deployment-name Phi-4-mini-instruct \ --model-name Phi-4-mini-instruct \ --model-version 1 \ --model-format Microsoft \ --sku-capacity 1 \ --sku-name GlobalStandardデプロイが正常に完了したことを確認します。
az cognitiveservices account deployment show \ --deployment-name Phi-4-mini-instruct \ -n $accountName \ -g $resourceGroupName \ | jq '.properties.provisioningState'出力には
"Succeeded"が表示されます。 プロビジョニングが完了したら、モデルを使用する準備が整いました。
必要に応じて、同じモデルに別のデプロイ名を付ける限り、同じモデルを複数回デプロイできます。 この機能は、コンテンツ フィルターなど、特定のモデルのさまざまな構成をテストする場合に便利です。
モデルを追加する
テンプレート
ai-services-deployment-template.bicepを使用して、モデルのデプロイについて説明します。ai-services-deployment-template.bicep
@description('Name of the Azure AI services account') param accountName string @description('Name of the model to deploy') param modelName string @description('Version of the model to deploy') param modelVersion string @allowed([ 'AI21 Labs' 'Cohere' 'Core42' 'DeepSeek' 'xAI' 'Meta' 'Microsoft' 'Mistral AI' 'OpenAI' ]) @description('Model provider') param modelPublisherFormat string @allowed([ 'GlobalStandard' 'DataZoneStandard' 'Standard' 'GlobalProvisioned' 'Provisioned' ]) @description('Model deployment SKU name') param skuName string = 'GlobalStandard' @description('Content filter policy name') param contentFilterPolicyName string = 'Microsoft.DefaultV2' @description('Model deployment capacity') param capacity int = 1 resource modelDeployment 'Microsoft.CognitiveServices/accounts/deployments@2024-04-01-preview' = { name: '${accountName}/${modelName}' sku: { name: skuName capacity: capacity } properties: { model: { format: modelPublisherFormat name: modelName version: modelVersion } raiPolicyName: contentFilterPolicyName == null ? 'Microsoft.Nill' : contentFilterPolicyName } }デプロイを実行します。
resourceGroupName="<resource-group-name>" accountName="<ai-services-resource-name>" modelName="Phi-4-mini-instruct" provider="Microsoft" version=1 az deployment group create \ --resource-group $resourceGroupName \ --template-file ai-services-deployment-template.bicep \ --parameters accountName=$accountName modelName=$modelName modelVersion=$version modelPublisherFormat=$providerデプロイが正常に完了したことを確認します。
az cognitiveservices account deployment show \ --deployment-name $modelName \ -n $accountName \ -g $resourceGroupName \ | jq '.properties.provisioningState'出力には
"Succeeded"が表示されます。
メモ
この記事の残りのセクションは、CLI とBicepの両方の方法で同じです。
モデルを使用する
デプロイされたモデルは、リソースの Foundry モデルのエンドポイント を使用して使用できます。 要求を作成するときに、パラメーター model を指定し、作成したモデル デプロイ名を挿入します。 次のコードを使用して、推論エンドポイントの URI をプログラムで取得できます。
推論エンドポイント
az cognitiveservices account show -n $accountName -g $resourceGroupName | jq '.properties.endpoints["Azure OpenAI Legacy API - Latest moniker"]'
OpenAI v1 API を使用して Foundry Models エンドポイントに要求を行うには、エンドポイント URL で /openai/v1/ ルートを呼び出し、 https://<resource-name>.openai.azure.com/openai/v1/ し、要求の model フィールドにデプロイ名を渡します。
/openai/v1/ ルートでは暗黙的なバージョン管理が使用されるため、api-versionは渡されません。
サポートされているすべての操作については、Azure OpenAI v1 API リファレンスを参照してください。
推論キー
az cognitiveservices account keys list -n $accountName -g $resourceGroupName
デプロイを管理する
CLI を使用して、使用可能なすべてのデプロイを表示します。
次のコマンドを実行して、アクティブなすべてのデプロイを表示します。
az cognitiveservices account deployment list -n $accountName -g $resourceGroupName次のコマンドを実行して、特定のデプロイの詳細を確認します。
az cognitiveservices account deployment show \ --deployment-name "Phi-4-mini-instruct" \ -n $accountName \ -g $resourceGroupName次のコマンドを実行して、特定のデプロイを削除します。
az cognitiveservices account deployment delete \ --deployment-name "Phi-4-mini-instruct" \ -n $accountName \ -g $resourceGroupName
トラブルシューティング
| エラー | 原因 | 解決方法 |
|---|---|---|
| クォータを超えました | サブスクリプションが、選択した SKU またはリージョンのデプロイ クォータに達しました。 | Foundry ポータルでクォータを確認するか、Azure サポートを使用して引き上げを要求します。 |
| 承認に失敗しました | 使用される ID には、必要な RBAC ロールがありません。 | Foundry リソースに Cognitive Services 共同作成者 ロールを割り当てます。 |
| モデルは使用できません | モデルは、お使いのリージョンまたはサブスクリプションでは使用できません。 |
az cognitiveservices account list-modelsを実行して、使用可能なモデルとリージョンを確認します。 |
| コマンドが認識されない | Azure CLIが最新ではありません。 |
az upgradeを使用してバージョン 2.60 以降に更新します。
az cognitiveservices コマンドはコア CLI の一部であり、個別の拡張機能は必要ありません。 |