次の方法で共有


モデルをサーバーレス API デプロイとしてデプロイする (クラシック)

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

新しいポータルの詳細については、Microsoft Foundry (新しい) ドキュメント を参照してください。

Important

この記事で "(プレビュー)" と付記されている項目は、現在、パブリック プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「Microsoft Azure プレビューの使用条件を参照してください。

この記事では、Microsoft Foundry モデルをサーバーレス API デプロイとしてデプロイする方法について説明します。 モデル カタログ内の特定のモデル は、サーバーレス API デプロイとしてデプロイできます。 この種類のデプロイは、組織が必要とする企業レベルのセキュリティとコンプライアンスを維持しながら、サブスクリプションでホストせずに API としてモデルを使用する方法を提供します。 このデプロイ オプションでは、サブスクリプションからのクォータを必要としません。

サーバーレス API デプロイは Foundry モデルをデプロイするための 1 つのオプションですが、Foundry モデルを Foundry リソースにデプロイすることをお勧めします。

同じ認証とスキーマを持つ単一のエンドポイントを介してリソース内のデプロイを使用して推論を生成できるように、Microsoft Foundry Models を Foundry リソースにデプロイすることをお勧めします。 エンドポイントは、すべての Foundry モデルがサポートする Azure AI モデル推論 API に従います。 Foundry モデルを Foundry リソースにデプロイする方法については、「Foundry モデルへの モデルの追加と構成」を参照してください。

[前提条件]

  • 有効な支払い方法を持つAzure サブスクリプション。 無料または試用版Azureサブスクリプションは機能しません。 Azureサブスクリプションをお持ちでない場合は、有料のAzureアカウントを作成して開始します。

  • ない場合は、 ハブベースのプロジェクトを作成します。

  • Foundry ポータルで Foundry リソースへのモデルのデプロイ (プレビュー) 機能がオフになっていることを確認します。 この機能がオンの場合、サーバーレス API のデプロイはポータルから使用できません。

    Foundry リソースへのデプロイを無効にする場所を示す Foundry ポータルのスクリーンショット。

  • Foundry Models from Partners and Community Azure Marketplace へのアクセスが必要ですが、Foundry Models sold Directly by Azure にはこの要件はありません。 Azure Marketplaceでモデル オファリングをサブスクライブするために必要なアクセス許可があることを確認します。

  • Azureロールベースのアクセス制御 (Azure RBAC) は、Foundry ポータルで操作へのアクセスを許可するために使用されます。 この記事の手順を実行するには、リソース グループにユーザー アカウントに Azure AI 開発者ロールが割り当てられている必要があります。 アクセス許可の詳細については、 Foundry ポータルでのロールベースのアクセス制御に関するページを参照してください。

  • 任意の互換性のある Web ブラウザーを使用して Foundry 内を移動できます。

モデル カタログでモデルを検索する

  1. Microsoft Foundry にサインインします。 「New Foundry」トグルがオフになっていることを確認します。 これらの手順は Foundry (クラシック) を参照します。
  2. プロジェクトに入っていない場合は、プロジェクトを選択してください。
  3. 左側のウィンドウから [モデル カタログ ] を選択します。
  • Azure
  • パートナーとコミュニティのモデル
  1. デプロイするモデルのモデル カードを選択します。 この記事では、 DeepSeek-R1 モデルを選択します。

  2. [ このモデルを使用する ] を選択して[ サーバーレス API デプロイ ] ウィンドウを開き、[ 価格と用語 ] タブを表示できます。

  3. 展開ウィザードで、展開に名前を付けます。 [コンテンツ フィルター (プレビュー)] オプションは、既定で有効になっています。 サービスの既定の設定をそのままにして、ヘイト、自傷行為、性的、暴力コンテンツなどの有害なコンテンツを検出します。 コンテンツ のフィルター処理の詳細については、 Foundry ポータルでのコンテンツ フィルター処理に関するページを参照してください。

    Azure によって直接販売されたモデルの配置ウィザードを示すスクリーンショット

モデルをサーバーレス API にデプロイする

このセクションでは、モデルのエンドポイントを作成します。

  1. 展開ウィザードで、[展開] を選択 します。 デプロイの準備ができるまで待つと、[デプロイ] ページにリダイレクトされます。

  2. プロジェクトにデプロイされたエンドポイントを表示するには、左側のウィンドウの [ マイ アセット ] セクションで、[ モデルとエンドポイント] を選択します。

  3. 作成されたエンドポイントは、承認にキー認証を使用します。 特定のエンドポイントに関連付けられているキーを取得するには、次の手順に従います。

    1. デプロイを選択し、エンドポイントのターゲット URI とキーをメモします。

    2. これらの資格情報を使用してデプロイを呼び出し、予測を生成します。

  4. 別のプロジェクトまたはハブからこのデプロイを使用する必要がある場合、またはプロンプト フローを使用してインテリジェント なアプリケーションを構築する予定の場合は、サーバーレス API デプロイへの接続を作成する必要があります。 新しいプロジェクトまたはハブで既存のサーバーレス API デプロイを構成する方法については、「 別のプロジェクトまたはプロンプト フローからデプロイされたサーバーレス API デプロイを使用する」を参照してください。

    ヒント

    配置がデプロイされたのと同じプロジェクトまたはハブでプロンプト フローを使用している場合でも、接続を作成する必要があります。

サーバーレス API デプロイを使用する

サーバーレス API デプロイで Azure Machine Learning および Foundry にデプロイされたモデルは、基本モデルの共通の機能セットを公開し>Azure AI モデル推論 API をサポートし、開発者が多様なモデルセットからの予測を均一かつ一貫した方法で使用できます。

この API の機能と、アプリケーションを構築するときのその使用方法について詳細を確認してください。

エンドポイントとサブスクリプションを削除する

ヒント

Microsoft Foundry ポータルで 左側のウィンドウをカスタマイズ できるため、次の手順とは異なる項目が表示される場合があります。 探しているものが表示されない場合は、左側のペインの下部にある… もっと見るを選択してください。

モデルのサブスクリプションとエンドポイントを削除できます。 モデル サブスクリプションを削除すると、関連付けられているエンドポイントは [異常] になり、使用できなくなります。

サーバーレス API デプロイを削除するには:

  1. Foundry に移動します。
  2. プロジェクトに移動します。
  3. [マイ アセット] セクションで、[モデル + エンドポイント] を選択します。
  4. 削除するデプロイを開きます。
  5. を選択して、を削除します。

関連付けられているモデル サブスクリプションを削除するには、次のようにします。

  1. Azure ポータル
  2. プロジェクトが属するリソース グループに移動します。
  3. [種類] フィルターで、[SaaS] を選択します。
  4. 削除するサブスクリプションを選択します。
  5. を選択して、を削除します。
  • Foundry を使用するには、Azure CLIml 拡張機能を Azure Machine Learning にインストールします。

    az extension add -n ml
    

    拡張機能が既にインストールされている場合は、最新バージョンがインストールされていることを確認します。

    az extension update -n ml
    

    拡張機能がインストールされたら、次のように構成します。

    az account set --subscription <subscription>
    az configure --defaults workspace=<project-name> group=<resource-group> location=<location>
    

モデル カタログでモデルを検索する

  1. Microsoft Foundry にサインインします。 「New Foundry」トグルがオフになっていることを確認します。 これらの手順は Foundry (クラシック) を参照します。
  2. プロジェクトに入っていない場合は、プロジェクトを選択してください。
  3. 左側のウィンドウから [モデル カタログ ] を選択します。
  • Azure
  • パートナーとコミュニティのモデル
  1. デプロイするモデルのモデル カードを選択します。 この記事では、 DeepSeek-R1 モデルを選択します。

  2. サーバーレス API デプロイでは常に使用可能なモデルの最新バージョンがデプロイされるため、モデルのバージョンを含めずにモデル ID を コピーします。 たとえば、モデル ID の場合は、 をコピーします。

    Azure によって直接販売されているモデルの詳細ページを示すスクリーンショット

この記事のこのセクションの手順では、図に DeepSeek-R1 モデルを使用します。 手順は、Azureによって直接販売された Foundry モデルを使用している場合でも、パートナーやコミュニティから Foundry Models を使用している場合でも同じです。 たとえば、代わりに Cohere-command-r-08-2024 モデルをデプロイする場合は、コード スニペット内のモデル資格情報を Cohere の資格情報に置き換えることができます。

モデルをサーバーレス API にデプロイする

このセクションでは、モデルのエンドポイントを作成します。 エンドポイントに DeepSeek-R1-qwerty という名前を付けます。

  1. サーバーレス エンドポイントを作成します。

    endpoint.yml

    name: DeepSeek-R1-qwerty
    model_id: azureml://registries/azureml-deepseek/models/DeepSeek-R1
    

    endpoint.yml ファイルを使用してエンドポイントを作成します。

    az ml serverless-endpoint create -f endpoint.yml
    
  2. いつでも、プロジェクトにデプロイされたエンドポイントを確認できます。

    az ml serverless-endpoint list
    
  3. 作成されたエンドポイントは、承認にキー認証を使用します。 次の手順を使用して、特定のエンドポイントに関連付けられているキーを取得します。

    az ml serverless-endpoint get-credentials -n DeepSeek-R1-qwerty
    
  4. 別のプロジェクトまたはハブからこのデプロイを使用する必要がある場合、またはプロンプト フローを使用してインテリジェント なアプリケーションを構築する予定の場合は、サーバーレス API デプロイへの接続を作成する必要があります。 新しいプロジェクトまたはハブで既存のサーバーレス API デプロイを構成する方法については、「 別のプロジェクトまたはプロンプト フローからデプロイされたサーバーレス API デプロイを使用する」を参照してください。

    ヒント

    配置がデプロイされたのと同じプロジェクトまたはハブでプロンプト フローを使用している場合でも、接続を作成する必要があります。

サーバーレス API デプロイを使用する

サーバーレス API デプロイで Azure Machine Learning および Foundry にデプロイされたモデルは、基本モデルの共通の機能セットを公開し>Azure AI モデル推論 API をサポートし、開発者が多様なモデルセットからの予測を均一かつ一貫した方法で使用できます。

この API の機能と、アプリケーションを構築するときのその使用方法について詳細を確認してください。

エンドポイントとサブスクリプションを削除する

モデルのサブスクリプションとエンドポイントを削除できます。 モデル サブスクリプションを削除すると、関連付けられているエンドポイントは [異常] になり、使用できなくなります。

サーバーレス API デプロイを削除するには:

az ml serverless-endpoint delete \
    --name "DeepSeek-R1-qwerty"

関連付けられているモデル サブスクリプションを削除するには、次のようにします。

az ml marketplace-subscription delete \
    --name "DeepSeek-R1"
  • Foundry を使用するには、Python 用の Azure Machine Learning SDK をインストールします。

    pip install -U azure-ai-ml
    

    インストールしたら、必要な名前空間をインポートし、プロジェクトに接続されたクライアントを作成します。

    from azure.ai.ml import MLClient
    from azure.identity import InteractiveBrowserCredential
    from azure.ai.ml.entities import MarketplaceSubscription, ServerlessEndpoint
    
    client = MLClient(
        credential=InteractiveBrowserCredential(tenant_id="<tenant-id>"),
        subscription_id="<subscription-id>",
        resource_group_name="<resource-group>",
        workspace_name="<project-name>",
    )
    

モデル カタログでモデルを検索する

  1. Microsoft Foundry にサインインします。 「New Foundry」トグルがオフになっていることを確認します。 これらの手順は Foundry (クラシック) を参照します。
  2. プロジェクトに入っていない場合は、プロジェクトを選択してください。
  3. 左側のウィンドウから [モデル カタログ ] を選択します。
  • Azure
  • パートナーとコミュニティのモデル
  1. デプロイするモデルのモデル カードを選択します。 この記事では、 DeepSeek-R1 モデルを選択します。

  2. サーバーレス API デプロイでは常に使用可能なモデルの最新バージョンがデプロイされるため、モデルのバージョンを含めずにモデル ID を コピーします。 たとえば、モデル ID の場合は、 をコピーします。

    Azure によって直接販売されたモデルの詳細ページを示すスクリーンショット。

この記事のこのセクションの手順では、図に DeepSeek-R1 モデルを使用します。 手順は、Azureによって直接販売された Foundry モデルを使用している場合でも、パートナーやコミュニティから Foundry Models を使用している場合でも同じです。 たとえば、代わりに Cohere-command-r-08-2024 モデルをデプロイする場合は、コード スニペット内のモデル資格情報を Cohere の資格情報に置き換えることができます。

モデルをサーバーレス API にデプロイする

このセクションでは、モデルのエンドポイントを作成します。 エンドポイントに DeepSeek-R1-qwerty という名前を付けます。

  1. サーバーレス エンドポイントを作成します。

    endpoint_name="DeepSeek-R1-qwerty"
    
    serverless_endpoint = ServerlessEndpoint(
        name=endpoint_name,
        model_id=model_id
    )
    
    created_endpoint = client.serverless_endpoints.begin_create_or_update(
        serverless_endpoint
    ).result()
    
  2. いつでも、プロジェクトにデプロイされたエンドポイントを確認できます。

    endpoint_name="DeepSeek-R1-qwerty"
    
    serverless_endpoint = ServerlessEndpoint(
        name=endpoint_name,
        model_id=model_id
    )
    
    created_endpoint = client.serverless_endpoints.begin_create_or_update(
        serverless_endpoint
    ).result()
    
  3. 作成されたエンドポイントは、承認にキー認証を使用します。 次の手順を使用して、特定のエンドポイントに関連付けられているキーを取得します。

    endpoint_keys = client.serverless_endpoints.get_keys(endpoint_name)
    print(endpoint_keys.primary_key)
    print(endpoint_keys.secondary_key)
    
  4. 別のプロジェクトまたはハブからこのデプロイを使用する必要がある場合、またはプロンプト フローを使用してインテリジェント なアプリケーションを構築する予定の場合は、サーバーレス API デプロイへの接続を作成する必要があります。 新しいプロジェクトまたはハブで既存のサーバーレス API デプロイを構成する方法については、「 別のプロジェクトまたはプロンプト フローからデプロイされたサーバーレス API デプロイを使用する」を参照してください。

    ヒント

    配置がデプロイされたのと同じプロジェクトまたはハブでプロンプト フローを使用している場合でも、接続を作成する必要があります。

サーバーレス API デプロイを使用する

サーバーレス API デプロイで Azure Machine Learning および Foundry にデプロイされたモデルは、基本モデルの共通の機能セットを公開し>Azure AI モデル推論 API をサポートし、開発者が多様なモデルセットからの予測を均一かつ一貫した方法で使用できます。

この API の機能と、アプリケーションを構築するときのその使用方法について詳細を確認してください。

エンドポイントとサブスクリプションを削除する

モデルのサブスクリプションとエンドポイントを削除できます。 モデル サブスクリプションを削除すると、関連付けられているエンドポイントは [異常] になり、使用できなくなります。

client.serverless_endpoints.begin_delete(endpoint_name).wait()

関連付けられているモデル サブスクリプションを削除するには、次のようにします。

client.marketplace_subscriptions.begin_delete(subscription_name).wait()
  • Foundry を使用するには、Azure CLI で説明されているようにAzure CLIをインストールします。

    設定に従って次の環境変数を構成します。

    RESOURCE_GROUP="serverless-models-dev"
    LOCATION="eastus2" 
    

モデル カタログでモデルを検索する

  1. Microsoft Foundry にサインインします。 「New Foundry」トグルがオフになっていることを確認します。 これらの手順は Foundry (クラシック) を参照します。
  2. プロジェクトに入っていない場合は、プロジェクトを選択してください。
  3. 左側のウィンドウから [モデル カタログ ] を選択します。
  • Azure
  • パートナーとコミュニティのモデル
  1. デプロイするモデルのモデル カードを選択します。 この記事では、 DeepSeek-R1 モデルを選択します。

  2. サーバーレス API デプロイでは常に使用可能なモデルの最新バージョンがデプロイされるため、モデルのバージョンを含めずにモデル ID を コピーします。 たとえば、モデル ID の場合は、 をコピーします。

    Azure によって直接販売されたモデルの詳細ページを示すスクリーンショット

この記事のこのセクションの手順では、図に DeepSeek-R1 モデルを使用します。 手順は、Azureによって直接販売された Foundry モデルを使用している場合でも、パートナーやコミュニティから Foundry Models を使用している場合でも同じです。 たとえば、代わりに Cohere-command-r-08-2024 モデルをデプロイする場合は、コード スニペット内のモデル資格情報を Cohere の資格情報に置き換えることができます。

モデルをサーバーレス API にデプロイする

このセクションでは、モデルのエンドポイントを作成します。 エンドポイントに myserverless-text-1234s という名前を付けます。

  1. サーバーレス エンドポイントを作成します。 次のテンプレートを使用して、エンドポイントを作成します。

    serverless-endpoint.bicep

    param projectName string = 'my-project'
    param endpointName string = 'myserverless-text-1234ss'
    param location string = resourceGroup().location
    param modelId string = 'azureml://registries/azureml-deepseek/models/DeepSeek-R1'
    
    var modelName = substring(modelId, (lastIndexOf(modelId, '/') + 1))
    // Replace period character which is used in some model names (and is not valid in the subscription name)
    var sanitizedModelName = replace(modelName, '.', '')
    var subscriptionName = '${sanitizedModelName}-subscription'
    
    resource projectName_endpoint 'Microsoft.MachineLearningServices/workspaces/serverlessEndpoints@2024-04-01-preview' = {
      name: '${projectName}/${endpointName}'
      location: location
      sku: {
        name: 'Consumption'
      }
      properties: {
        modelSettings: {
          modelId: modelId
        }
      }
      dependsOn: [
        projectName_subscription
      ]
    }
    
    output endpointUri string = projectName_endpoint.properties.inferenceEndpoint.uri
    

    次のようにデプロイを作成します。

    az deployment group create --resource-group $RESOURCE_GROUP --template-file model-subscription.bicep
    
  2. いつでも、プロジェクトにデプロイされたエンドポイントを確認できます。

    リソース管理ツールを使用して、リソースのクエリを実行できます。 次のコードでは、Azure CLIを使用します。

    az resource list \
        --query "[?type=='Microsoft.MachineLearningServices/workspaces/serverlessEndpoints']"
    
  3. 作成されたエンドポイントは、承認にキー認証を使用します。 REST API を使用してこの情報を照会することで、特定のエンドポイントに関連付けられているキーを取得します。

  4. 別のプロジェクトまたはハブからこのデプロイを使用する必要がある場合、またはプロンプト フローを使用してインテリジェント なアプリケーションを構築する予定の場合は、サーバーレス API デプロイへの接続を作成する必要があります。 新しいプロジェクトまたはハブで既存のサーバーレス API デプロイを構成する方法については、「 別のプロジェクトまたはプロンプト フローからデプロイされたサーバーレス API デプロイを使用する」を参照してください。

    ヒント

    配置がデプロイされたのと同じプロジェクトまたはハブでプロンプト フローを使用している場合でも、接続を作成する必要があります。

サーバーレス API デプロイを使用する

サーバーレス API デプロイで Azure Machine Learning および Foundry にデプロイされたモデルは、基本モデルの共通の機能セットを公開し>Azure AI モデル推論 API をサポートし、開発者が多様なモデルセットからの予測を均一かつ一貫した方法で使用できます。

この API の機能と、アプリケーションを構築するときのその使用方法について詳細を確認してください。

エンドポイントとサブスクリプションを削除する

モデルのサブスクリプションとエンドポイントを削除できます。 モデル サブスクリプションを削除すると、関連付けられているエンドポイントは [異常] になり、使用できなくなります。

リソース管理ツールを使用して、リソースを管理できます。 次のコードでは、Azure CLIを使用します。

az resource delete --name <resource-name>

サーバーレス API デプロイとしてデプロイされた Foundry Models のコストとクォータに関する考慮事項

クォータはデプロイごとに管理されます。 各デプロイのレート制限は、1 分あたり 200,000 トークン、1 分あたり 1,000 個の API 要求です。 さらに、現在、プロジェクトごとにモデルごとに 1 つのデプロイを制限しています。 現在のレート制限がシナリオに十分でない場合は、Microsoft Azure サポートにお問い合わせください。

  • Azure によって直接販売されているモデル の価格情報は、Serverless API deployment ウィンドウの Pricing and terms タブにあります。

  • パートナーとコミュニティのモデルはAzure Marketplaceを通じて提供され、使用するために Foundry と統合されています。 これらのモデルをデプロイまたは微調整するときに、Azure Marketplace価格を確認できます。 プロジェクトがAzure Marketplaceから特定のオファーをサブスクライブするたびに、その消費に関連するコストを追跡するための新しいリソースが作成されます。 推論と微調整に関連するコストを追跡するために同じリソースが使用されますが、各シナリオを個別に追跡するために複数の測定値を使用できます。 コストを追跡する方法の詳細については、「Monitor costs for models offered through Azure Marketplaceを参照してください。

モデル オファリングをサブスクライブするために必要なアクセス許可

Azureロールベースのアクセス制御 (Azure RBAC) は、Foundry ポータルで操作へのアクセスを許可するために使用されます。 この記事の手順を実行するには、ユーザー アカウントに、Azure サブスクリプションの OwnerContributor、または Azure AI Developer ロールが割り当てられている必要があります。 別の方法として、アカウントに、次のアクセス許可を持つカスタム ロールを割り当てることができます。

  • Azure サブスクリプションで - ワークスペースを Azure Marketplace オファリングにサブスクライブするため、各ワークスペースに対して 1 回、オファリングごと:

    • 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
  • ワークスペースで、エンドポイントをデプロイします (Azure Machine Learning データ サイエンティスト ロールには、既に次のアクセス許可が含まれています)。

    • Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
    • Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*

アクセス許可の詳細については、 Foundry ポータルでのロールベースのアクセス制御に関するページを参照してください。

  • サーバーレス API デプロイとしてのモデルのリージョンの可用性
  • サーバーレス API デプロイを使用してモデルを微調整する