Microsoft Foundry または Azure Machine Learning スタジオ オンライン エンドポイントにデプロイする

Azure Developer CLI (azd) を使用すると、Azure Machine Learning スタジオ または Microsoft Foundry オンライン エンドポイントにデプロイできます。 azd では、次の機能がサポートされています。この機能については、前のセクションで説明します。

前提 条件

Microsoft Foundry または Azure Machine Learning スタジオ オンライン エンドポイントを使用するには、次のものが必要です。

Foundry Starter テンプレート は、Foundry エンドポイントの使用を開始するために必要なすべてのインフラストラクチャを作成するのに役立ちます。

オンライン エンドポイントを構成する

services ファイルの azure.yaml セクションで、オンライン エンドポイントのサポートを構成します。

  • host値を ai.endpoint に設定します。
  • configai.endpoint セクションでは、次の構成がサポートされています。
    • workspace: Microsoft Foundry ワークスペースの名前。 環境変数の置換と構文 azd サポートします。
      • 指定しない場合、 azdAZUREAI_PROJECT_NAMEという名前の環境変数を検索します。
    • environment: ML 環境のオプションのカスタム構成。 azd は、参照される YAML ファイル定義から新しい環境バージョンを作成します。
    • flow: フローのオプションのカスタム構成。 azd は、指定されたファイル パスから新しいプロンプト フローを作成します。
    • model: ML モデルのオプションのカスタム構成。 azd は、参照される YAML ファイル定義から新しいモデル バージョンを作成します。
    • deployment: オンライン エンドポイントのデプロイに 必要な 構成。 azd は、参照される YAML ファイル定義から、関連付けられているオンライン エンドポイントへの新しいオンライン デプロイを作成します。

これらの機能を構成する次のサンプル azure.yaml ファイルについて考えてみましょう。

name: contoso-chat
metadata:
  template: contoso-chat@0.0.1-beta
services:
  chat:
    # Referenced new ai.endpoint host type
    host: ai.endpoint
    # New config flow for AI project configuration
    config:
      # The name of the Foundry workspace
      workspace: ${AZUREAI_PROJECT_NAME}
      # Optional: Path to custom ML environment manifest
      environment:
        path: deployment/docker/environment.yml
      # Optional: Path to your prompt flow folder that contains the flow manifest
      flow:
        path: ./contoso-chat
      # Optional: Path to custom model manifest
      model:
        path: deployment/chat-model.yaml
        overrides:
          "properties.azureml.promptflow.source_flow_id": ${AZUREAI_FLOW_NAME}
      # Required: Path to deployment manifest
      deployment:
        path: deployment/chat-deployment.yaml
        environment:
          PRT_CONFIG_OVERRIDE: deployment.subscription_id=${AZURE_SUBSCRIPTION_ID},deployment.resource_group=${AZURE_RESOURCE_GROUP},deployment.workspace_name=${AZUREAI_PROJECT_NAME},deployment.endpoint_name=${AZUREAI_ENDPOINT_NAME},deployment.deployment_name=${AZUREAI_DEPLOYMENT_NAME}

config.deploymentセクションが必要であり、参照先の YAML ファイル定義から、関連付けられているオンライン エンドポイントへの新しいオンライン デプロイを作成します。 この機能は、次の処理を行います。

  • 関連付けられている環境とモデルは、使用可能な場合に参照されます。
  • azd は、デプロイがターミナル プロビジョニング状態になるまで待機します。
  • デプロイが成功すると、すべてのトラフィックが新しいデプロイ バージョンに移行されます。
  • 以前のすべてのデプロイは、将来のデプロイのためにコンピューティングを解放するために削除されます。

構成オプションを調べる

AI/ML オンライン エンドポイントでサポートされる各機能は、次のセクションで説明するオプションを使用して、特定のシナリオのカスタマイズをサポートします。

Flow

flow構成セクションは省略可能であり、次の値をサポートしています。

  • name: フローの名前。 既定値は <service-name>-flow-<timestamp> (指定されていない場合) です。

  • path: フロー マニフェストを含むフォルダーへの相対パス。

  • overrides: フローに適用するカスタム オーバーライド。

    手記

    azd deployを呼び出すたびに、新しいタイムスタンプ付きフローが作成されます。

環境

environment構成セクションは省略可能であり、次の値をサポートしています。

  • name: カスタム環境の名前。 既定値は <service-name>-environment (指定されていない場合) です。

  • path: カスタム 環境 yaml マニフェストへの相対パス。

  • overrides: 環境に適用するカスタム オーバーライド。

    手記

    azd deployを呼び出すたびに、新しい環境バージョンが作成されます。

モデル

model構成セクションは省略可能であり、次の値をサポートしています。

  • name: カスタム モデルの名前。 既定値は <service-name>-model (指定されていない場合) です。

  • path: カスタム モデルの YAML マニフェストへの相対パス。

  • overrides: モデルに適用するカスタム オーバーライド。

    手記

    azd deployを呼び出すたびに、新しいモデル バージョンが作成されます。

デプロイ

deployment構成セクションは必須であり、次の値をサポートしています。

  • name: カスタム デプロイの名前。 既定値は <service-name>-deployment (指定されていない場合) です。

  • path: カスタム デプロイメント YAML マニフェストへの相対パス。

  • environment: デプロイの環境変数を設定するためのキー値ペアのマップ。 ${VAR_NAME}構文を使用した OS/AZD 環境変数からの環境変数の置換をサポートします。

  • overrides: デプロイに適用するカスタム オーバーライド。

    手記

    マネージド オンライン展開のみをサポートします。

AgentSchema と agent.yaml

AgentSchema は、コード優先の YAML 形式で AI エージェントを定義するためのオープン仕様です。 agent.yaml ファイルには、モデル、命令、ツール、接続など、エージェントの構成が記述されています。 AgentSchema は、Microsoft Copilot Studio、Microsoft Foundry、およびその他のプラットフォーム間の統合された交換形式として機能します。

AgentSchema では、次の 2 つの主な形式がサポートされています。

  • AgentDefinition — 直接実行できるエージェントの完全で具体的な仕様。 すべての構成値が既知で固定されている単一目的エージェントには、この形式を使用します。
  • AgentManifest — エージェントを動的に作成するためのパラメーター化されたテンプレート。 この形式は、モデル名、接続、命令などの値が実行時に {{parameter}} 構文を使用して構成される再利用可能なエージェント パターンに使用します。

agent.yaml の例

次の例は、Microsoft Foundry にデプロイできるホストagent.yamlazd定義を示しています。 上部のスキーマ注釈は、公開された AgentSchema に対して検証するように YAML 対応エディターに指示します。

# yaml-language-server: $schema=https://raw.githubusercontent.com/microsoft/AgentSchema/refs/heads/main/schemas/v1.0/ContainerAgent.yaml

kind: hosted
name: customer-support
description: Handles customer inquiries and support requests
protocols:
  - protocol: responses
    version: v1
code_configuration:
  runtime: python_3_14
  entry_point: main.py

この例では、kind: hosted ブロックでcode_configurationを使用します。これにより、ソース コードを ZIP としてパッケージ化し、Foundry がランタイムを管理できるようにazdに指示します。 代わりに事前構築済みのコンテナー イメージをデプロイするには、code_configurationを、Azure Container Registry内のイメージを指すimage フィールドに置き換えます。

agent.yaml および azd を使用する

azure.yaml スキーマは、エージェントを Microsoft Foundry に展開するための azure.ai.agent ホストの種類をサポートしています。 hostazure.ai.agent に設定azd、サービス ディレクトリ内のagent.yaml ファイルを読み取り、そのkind フィールドを使用してエージェントのデプロイ方法を決定します。 詳細については、 azure.yaml スキーマ リファレンスを参照してください

サポートされている kind

kindの上部にある [agent.yaml] フィールドで展開図形を選択します。 azd は、次の表の値に対してこのフィールドを検証し、デプロイ時に他の値を拒否します。

kind azd がデプロイするもの いつ使用するか
hosted Foundry でホストされるエージェント。 デプロイ サブモードは、ファイルに含めるフィールドによって異なります。コードデプロイ (ZIP アップロード、Foundry マネージド ランタイム) のcode_configurationを追加するか、コンテナーデプロイ用のimageを追加します (Azure Container Registryの事前構築済みイメージ)。 azd ai agent init によって作成された大半のエージェント。 Foundry でランタイムを管理する場合は、コードデプロイを使用します。イメージを完全に制御する必要がある場合は、コンテナーデプロイを使用します。

手記

AgentSchema は、現在デプロイ azd よりも広範な仕様です。 AgentSchema リファレンスに他の kind 値 (プロンプトのみのエージェント定義など) が表示される場合、これらの形式は azd ではサポートされず、 azd deployでは受け入れられません。

AgentSchema の詳細については、次のリソースを参照してください。

ヘルプを要求する

Azure Developer CLI のバグの報告、ヘルプの要求、または新機能の提案の方法については、トラブルシューティングとサポートページを参照してください。