次の方法で共有


コードを使用して Microsoft Foundry Models をデプロイする

このドキュメントでは、 Microsoft Foundry (クラシック) ポータルを参照します。

🔄新しいポータルを使用している場合は、Microsoft Foundry (新しい) ドキュメントに切り替えます

このドキュメントでは、 Microsoft Foundry (新しい) ポータルを参照します。

Important

現在、Microsoft Foundry Models または Azure OpenAI サービスで Azure AI 推論ベータ SDK を使用している場合は、OpenAI 安定 SDK を使用する一般提供の OpenAI/v1 API に移行することを強くお勧めします。

任意のプログラミング言語で SDK を使用して OpenAI/v1 API に移行する方法の詳細については、「 Azure AI Inference SDK から OpenAI SDK への移行」を参照してください。

Microsoft Foundry リソースで推論に使用できるモデルを決定して構成できます。 モデルを構成するときに、要求でモデル名またはデプロイ名を指定することで、モデルから予測を生成できます。 モデルを使用するためにコードに他の変更を加える必要はありません。

この記事では、Foundry Models エンドポイントに新しいモデルを追加する方法について説明します。

[前提条件]

この記事を完了するには、以下が必要です。

  • Foundry Tools 用の Azure CLIcognitiveservices 拡張機能をインストールします。

    az extension add -n cognitiveservices
    
  • このチュートリアルの一部のコマンドでは、システムにインストールされていない可能性がある jq ツールを使用します。 インストール手順については、ダウンロードjqを参照してください。

  • 次の情報を特定します。

    • Azure のサブスクリプション ID。

    • Foundry Tools のリソース名。

    • Foundry Tools リソースをデプロイしたリソース グループ。

モデルの追加

モデルを追加するには、まずデプロイするモデルを特定します。 使用可能なモデルに対しては、次のようにクエリを実行できます。

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

    az login
    
  2. 複数のサブスクリプションがある場合は、リソースが配置されているサブスクリプションを選択します。

    az account set --subscription $subscriptionId
    
  3. 使用する Foundry Tools リソースとリソース グループの名前を使用して、次の環境変数を設定します。

    accountName="<ai-services-resource-name>"
    resourceGroupName="<resource-group>"
    location="eastus2"
    
  4. Foundry Tools アカウントをまだ作成していない場合は、作成します。

    az cognitiveservices account create -n $accountName -g $resourceGroupName --custom-domain $accountName --location $location --kind AIServices --sku S0
    
  5. 使用可能なモデルと、どの SKU で使用できるかを確認します。 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 }'
    
  6. 出力は次のようになります。

    {
      "name": "Phi-3.5-vision-instruct",
      "format": "Microsoft",
      "version": "2",
      "sku": "GlobalStandard",
      "capacity": 1
    }
    
  7. デプロイするモデルを特定します。 必要なプロパティは nameformatversionsku です。 プロパティ format は、モデルを提供するプロバイダーを示します。 デプロイの種類によっては、容量が必要になる場合もあります。

  8. モデル デプロイをリソースに追加します。 次の例では、Phi-3.5-vision-instruct を追加します。

    az cognitiveservices account deployment create \
        -n $accountName \
        -g $resourceGroupName \
        --deployment-name Phi-3.5-vision-instruct \
        --model-name Phi-3.5-vision-instruct \
        --model-version 2 \
        --model-format Microsoft \
        --sku-capacity 1 \
        --sku-name GlobalStandard
    
  9. モデルを使用する準備ができました。

別のデプロイ名を付ける限り、必要に応じて、同じモデルを複数回デプロイできます。 この機能は、コンテンツ フィルターなど、特定のモデルのさまざまな構成をテストする場合に便利です。

モデルを使用する

デプロイされたモデルは、リソースに対する Azure AI モデルの推論エンドポイント を使用して使用できます。 要求を作成する際に、パラメーター model を指定し、作成したモデル デプロイ名を挿入します。 次のコードを使用して、推論エンドポイントの URI をプログラムで取得できます。

推論エンドポイント

az cognitiveservices account show  -n $accountName -g $resourceGroupName | jq '.properties.endpoints["Azure AI Model Inference API"]'

Microsoft Foundry Models エンドポイントに要求を行うには、ルート models (たとえば、 https://<resource>.services.ai.azure.com/models) を追加します。 エンドポイントの API リファレンスについては、 Azure AI モデル推論 API リファレンス ページを参照してください。

推論キー

az cognitiveservices account keys list  -n $accountName -g $resourceGroupName

展開を管理する

CLI を使用すると、使用可能なすべてのデプロイを表示できます。

  1. 次のコマンドを実行して、アクティブなすべてのデプロイを表示します。

    az cognitiveservices account deployment list -n $accountName -g $resourceGroupName
    
  2. 特定のデプロイの詳細を表示できます。

    az cognitiveservices account deployment show \
        --deployment-name "Phi-3.5-vision-instruct" \
        -n $accountName \
        -g $resourceGroupName
    
  3. 特定のデプロイは次のように削除できます。

    az cognitiveservices account deployment delete \
        --deployment-name "Phi-3.5-vision-instruct" \
        -n $accountName \
        -g $resourceGroupName
    

Microsoft Foundry リソースで推論に使用できるモデルを決定して構成できます。 モデルを構成するときに、要求でモデル名またはデプロイ名を指定することで、モデルから予測を生成できます。 モデルを使用するためにコードに他の変更を加える必要はありません。

この記事では、Foundry Models エンドポイントに新しいモデルを追加する方法について説明します。

[前提条件]

この記事を完了するには、以下が必要です。

  • Azure CLI をインストールします。

  • 次の情報を特定します。

    • Azure のサブスクリプション ID。

    • Microsoft Foundry リソース (旧称 Azure AI Services リソース) の名前。

    • Foundry リソースがデプロイされているリソース グループ。

    • デプロイするモデル名、プロバイダー、バージョン、SKU。 Foundry ポータルまたは Azure CLI を使用して、この情報を見つけることができます。 この例では、次のモデルをデプロイします。

      • モデル名:: Phi-3.5-vision-instruct
      • プロバイダー: Microsoft
      • バージョン:2
      • デプロイの種類: グローバル標準

このチュートリアルについて

この記事の中の例は、Azure-Samples/azureai-model-inference-bicep リポジトリに含まれるサンプル コードに基づいています。 ファイル内容のコピーや貼り付けをする必要なく、ローカル環境でコマンドを実行するには、次のコマンドを使用してリポジトリをクローンし、そのコーディング言語のフォルダーに移動します。

git clone https://github.com/Azure-Samples/azureai-model-inference-bicep

この例のファイルは、次の場所にあります。

cd azureai-model-inference-bicep/infra

パートナーやコミュニティからモデルを購読するために必要なアクセス許可

デプロイに使用できるパートナーやコミュニティの Foundry モデル (Cohere モデルなど) には、Azure Marketplace が必要です。 モデル プロバイダーは、ライセンス条項を定義し、Azure Marketplace を使用してモデルを使用するための価格を設定します。

サード パーティ製モデルをデプロイする場合は、アカウントに次のアクセス許可があることを確認します。

  • Azure サブスクリプションで次の手順を実行します。
    • Microsoft.MarketplaceOrdering/agreements/offers/plans/read
    • Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
    • Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.SaaS/register/action
  • リソース グループで、SaaS リソースを作成して使用するには、次の手順を実行します。
    • Microsoft.SaaS/resources/read
    • Microsoft.SaaS/resources/write

モデルの追加

  1. テンプレート 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
      }
    }
    
  2. デプロイを実行します。

    RESOURCE_GROUP="<resource-group-name>"
    ACCOUNT_NAME="<azure-ai-model-inference-name>" 
    MODEL_NAME="Phi-3.5-vision-instruct"
    PROVIDER="Microsoft"
    VERSION=2
    
    az deployment group create \
        --resource-group $RESOURCE_GROUP \
        --template-file ai-services-deployment-template.bicep \
        --parameters accountName=$ACCOUNT_NAME modelName=$MODEL_NAME modelVersion=$VERSION modelPublisherFormat=$PROVIDER
    

モデルを使用する

デプロイされたモデルは、リソースに対する Azure AI モデルの推論エンドポイント を使用して使用できます。 要求を作成する際に、パラメーター model を指定し、作成したモデル デプロイ名を挿入します。 次のコードを使用して、推論エンドポイントの URI をプログラムで取得できます。

推論エンドポイント

az cognitiveservices account show  -n $accountName -g $resourceGroupName | jq '.properties.endpoints["Azure AI Model Inference API"]'

Foundry Models エンドポイントに要求を行うには、ルート models (たとえば、 https://<resource>.services.ai.azure.com/models) を追加します。 エンドポイントの API リファレンスについては、 Azure AI モデル推論 API リファレンス ページを参照してください。

推論キー

az cognitiveservices account keys list  -n $accountName -g $resourceGroupName

次のステップ