Azure Developer CLI (azd) を使用すると、Azure Machine Learning スタジオ または Microsoft Foundry オンライン エンドポイントにデプロイできます。
azd では、次の機能がサポートされています。この機能については、前のセクションで説明します。
- カスタム環境
- 環境は Azure Machine Learning スタジオEnvironments セクションで確認できます。
- カスタム モデル
- モデルは、Azure Machine Learning スタジオModels セクションで表示できます。
- プロンプト フロー
- フローは、Azure Machine Learning スタジオFlows セクションで表示できます。
- フローは、Microsoft Foundry ポータルFlows セクションで確認できます。
- オンライン展開 (オンライン エンドポイント内)
- デプロイは Azure Machine Learning スタジオDeployments セクションで確認できます。
- デプロイは、Microsoft Foundry ポータルの Deployments セクションで確認できます。
前提 条件
Microsoft Foundry または Azure Machine Learning スタジオ オンライン エンドポイントを使用するには、次のものが必要です。
- OpenAI アクセスが有効になっている Azure サブスクリプション
- AI Hub リソース
- AI プロジェクト
- OpenAI サービス
- オンライン エンドポイント
- AI Search Service (省略可能、既定で有効)
Foundry Starter テンプレート は、Foundry エンドポイントの使用を開始するために必要なすべてのインフラストラクチャを作成するのに役立ちます。
オンライン エンドポイントを構成する
services ファイルの azure.yaml セクションで、オンライン エンドポイントのサポートを構成します。
-
host値をai.endpointに設定します。 -
configのai.endpointセクションでは、次の構成がサポートされています。-
workspace: Microsoft Foundry ワークスペースの名前。 環境変数の置換と構文
azdサポートします。- 指定しない場合、
azdはAZUREAI_PROJECT_NAMEという名前の環境変数を検索します。
- 指定しない場合、
-
environment: ML 環境のオプションのカスタム構成。
azdは、参照される YAML ファイル定義から新しい環境バージョンを作成します。 -
flow: フローのオプションのカスタム構成。
azdは、指定されたファイル パスから新しいプロンプト フローを作成します。 -
model: ML モデルのオプションのカスタム構成。
azdは、参照される YAML ファイル定義から新しいモデル バージョンを作成します。 -
deployment: オンライン エンドポイントのデプロイに 必要な 構成。
azdは、参照される YAML ファイル定義から、関連付けられているオンライン エンドポイントへの新しいオンライン デプロイを作成します。
-
workspace: Microsoft Foundry ワークスペースの名前。 環境変数の置換と構文
これらの機能を構成する次のサンプル 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 ホストの種類をサポートしています。
hostを azure.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 の詳細については、次のリソースを参照してください。
- AgentSchema の仕様
- AgentSchema リファレンス ドキュメント
- AgentManifest と AgentDefinition ガイド
- AgentSchema GitHub リポジトリ
関連するコンテンツ
ヘルプを要求する
Azure Developer CLI のバグの報告、ヘルプの要求、または新機能の提案の方法については、トラブルシューティングとサポートページを参照してください。