このクイック スタートでは、Foundry ツールを使用してコンテナー化された AI エージェントを Foundry Agent Service にデプロイします。 サンプル エージェントでは、Web 検索と必要に応じて MCP ツールを使用して質問に回答します。 最終的には、Foundry プレイグラウンドを介して対話できる実行中のホスト型エージェントが用意されています。 使用を開始するには、お好みのデプロイ方法を選択します。
このクイック スタートでは、次の操作を行います。
- Foundry ツールを使用してエージェント サンプル projectを設定する
- エージェントをローカルでテストする
- Foundry エージェント サービスへのデプロイ
- プレイグラウンドでエージェントと対話する
- リソースをクリーンアップする
[前提条件]
開始する前に、次のものが必要です。
- Azure サブスクリプション - 無料で作成します
- (省略可能) MCP ツールがある場合、それを使用してください。
- Python 3.10 以降
- Azure Developer CLI バージョン 1.23.0 以降
- Docker Desktop がインストールされ、実行されている
注
現在、ホストされているエージェントはプレビュー段階です。
手順 1: サンプル projectを設定する
Foundry スターター テンプレートを使用して新しいprojectを初期化し、agent-with-foundry-tools サンプルを使用して構成します。
空のディレクトリでスターター テンプレートを初期化します。
azd init -t https://github.com/Azure-Samples/azd-ai-starter-basicこの対話型コマンドは、環境名 (たとえば、
my-hosted-agent) を入力するように求められます。 環境名によって、リソース グループ名 (rg-my-hosted-agent) が決まります。注
同じ名前のリソース グループが既に存在する場合、
azd provisionは既存のグループを使用します。 競合を回避するには、一意の環境名を選択するか、既存のリソース グループを最初に削除します。エージェントサンプルを初期化します。
azd ai agent init -m https://github.com/microsoft-foundry/foundry-samples/blob/main/samples/python/hosted-agents/agent-framework/agent-with-foundry-tools/agent.yamlこの対話型コマンドでは、次の構成値の入力を求められます。
- Azure サブスクリプション - Foundry リソースを作成するAzure サブスクリプションを選択します。
- 場所 - リソースのリージョンを選択する
- モデル SKU - リージョンとサブスクリプションで使用可能な SKU を選択する
- デプロイ名 - モデル デプロイの名前を入力します
- コンテナー メモリ - コンテナー のメモリ割り当ての値を入力するか、既定値をそのまま使用します
- コンテナー CPU - コンテナー の CPU 割り当ての値を入力するか、既定値をそのまま使用します
- 最小レプリカ - コンテナーの最小レプリカの値を入力します
- 最大レプリカ - コンテナーの最大レプリカの値を入力します
Important
MCP サーバーを使用していない場合は、
agent.yamlファイル内の次の行をコメント アウトまたは削除します。- name: AZURE_AI_PROJECT_TOOL_CONNECTION_ID value: <CONNECTION_ID_PLACEHOLDER>必要なAzure リソースをプロビジョニングします。
注
リソース のプロビジョニングには、Azure サブスクリプションに Contributor access が必要です。
azd provisionこのコマンドには約 5 分かかり、次のリソースが作成されます。
リソース 目的 費用 リソースグループ 関連するすべてのリソースを同じ領域に整理します コストなし モデル デプロイ エージェントによって使用されるモデル Foundry の価格を参照してください 鋳造プロジェクト エージェントをホストし、AI 機能を提供する 従量制。Foundryの価格を参照してください Azure Container Registry エージェント コンテナー イメージを保存します Basic層。ACRの価格をご覧ください。 Log Analytics ワークスペース すべてのログ データを 1 か所で管理する 直接コストはかからなくなります。 「Log Analytics のコスト」を参照してください> Application Insights エージェントのパフォーマンスとログを監視する 従量 制;「Azure Monitor の価格」を参照してください> マネージド ID Azure サービスに対してエージェントを認証します コストなし ヒント
このクイック スタートが完了したら、
azd downを実行してリソースを削除し、料金の発生を停止します。
手順 2: エージェントをローカルでテストする
デプロイする前に、エージェントがローカルで動作することを確認します。
Python 仮想環境を作成してアクティブ化します。
Bash:
python -m venv .venv source .venv/bin/activatePowerShell:
python -m venv .venv .venv\Scripts\Activate.ps1依存関係をインストールします。
pip install -r ./src/af-agent-with-foundry-tools/requirements.txtエージェント コードで使用される必要な環境変数をローカルの .env ファイルにコピーします。
Bash:
azd env get-values > .envPowerShell:
azd env get-values > .envモデル デプロイの名前を使用して、
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME変数を.envファイルに追加します。AZURE_OPENAI_CHAT_DEPLOYMENT_NAME="gpt-4.1"エージェントをローカルで実行します。
python ./src/af-agent-with-foundry-tools/main.pyエージェントの起動に失敗した場合は、次の一般的な問題を確認してください。
エラー 解決策 AuthenticationErrorまたはDefaultAzureCredentialエラーazd auth loginをもう一度実行して、セッションを更新します。ResourceNotFoundエンドポイント URL が Foundry ポータルの値と一致するかどうかを確認します。 DeploymentNotFoundBuild>Deployments でデプロイ名を確認します。 Connection refused他のプロセスでポート 8088 が使用されていないことを確認します。 REST クライアントを使用してテストします。 エージェントは
localhost:8088で実行されます。Bash:
curl -X POST http://localhost:8088/responses \ -H "Content-Type: application/json" \ -d '{"input": "What is Microsoft Foundry?"}'PowerShell:
Invoke-RestMethod -Method Post ` -Uri "http://localhost:8088/responses" ` -ContentType "application/json" ` -Body '{"input":"What is Microsoft Foundry?"}'Microsoft Foundry に関する Web 検索結果を含む応答が表示されます。
Ctrl + C キーを押してローカル サーバーを停止します。
手順 3: Foundry エージェント サービスにデプロイする
azd up コマンドは、インフラストラクチャのプロビジョニング、アプリケーションのパッケージ化、Azureへのデプロイという 3 つの手順を組み合わせています。 これは、 azd provision、 azd package、および azd deploy を個別に実行することと同じです。
開始する前に、Docker Desktop が実行されていることを確認します。
docker info
このコマンドが失敗した場合は、Docker Desktop を起動し、初期化されるまで待ってから続行します。
エージェントをデプロイします。
azd up
Docker でイメージをビルドする必要があるため、最初のデプロイには時間がかかります。
Warnung
ホストされているエージェントでは、デプロイ中に料金が発生します。 テストが完了したら、 リソースのクリーンアップ を完了してリソースを削除し、課金を停止します。
完了すると、エージェントプレイグラウンドとエージェントのエンドポイントへのリンクが表示され、これを使用してエージェントをプログラムで呼び出すことができます。
Deploying services (azd deploy)
(✓) Done: Deploying service af-agent-with-foundry-tools
- Agent playground (portal): https://ai.azure.com/nextgen/.../build/agents/af-agent-with-foundry-tools/build?version=1
- Agent endpoint: https://ai-account-<name>.services.ai.azure.com/api/projects/<project>/agents/af-agent-with-foundry-tools/versions/1
手順 1: Foundry プロジェクトを作成する
VS Code で Microsoft Foundry 拡張機能を使用して、新しい Microsoft Foundry プロジェクト リソースを作成します。
コマンド パレット (Ctrl + Shift + P) を開き、[ Microsoft Foundry: プロジェクトの作成] を選択します。
Azure のサブスクリプションを選択します。
新しいリソース グループを作成するか、既存のリソース グループを選択します。
Foundry Project リソースの名前を入力します。
プロジェクトの作成が完了したら、次の手順に進み、モデルをデプロイします。
手順 2: モデルをデプロイする
モデルを Foundry にデプロイするには、VS Code の Microsoft Foundry 拡張機能を使用します。
コマンド パレット (Ctrl + Shift + P) を開き、[ Microsoft Foundry: Open Model Catalog]\(Microsoft Foundry: モデル カタログを開く\) を選択します。
モデル カタログを参照するか、gpt-4.1 を検索し、[ デプロイ ] ボタンを選択します。
[モデルのデプロイ] ページで、[ Microsoft Foundry にデプロイ ] ボタンを選択します。
モデルが正常にデプロイされたら、次の手順に進み、Hosted Agent プロジェクトを作成します
手順 3: ホステッド エージェント プロジェクトを作成する
VS Code の Microsoft Foundry 拡張機能を使用して、新しいホステッド エージェント プロジェクトをスキャフォールディングします。
コマンド パレット (Ctrl + Shift + P) を開き、 Microsoft Foundry: Create new Hosted Agent を選択します。
単一エージェントまたはマルチエージェント ワークフロー テンプレートを選択する
プログラミング言語 (Python または C#) を選択します。
前の手順でデプロイした既存の gpt-4.1 モデルを選択します。
プロジェクト ファイルを保存するフォルダーを選択します。
ホストされるエージェントの名前を入力します。
新しい VS Code ウィンドウが起動し、新しいエージェント プロジェクト フォルダーがアクティブなワークスペースとして表示されます。
手順 4: 依存関係をインストールする
仮想環境を使用してプロジェクトの依存関係を分離することをお勧めします。
macOS/Linux:
python -m venv .venv
source .venv/bin/activate
Windows (PowerShell):
python -m venv .venv
.\.venv\Scripts\Activate.ps1
依存関係のインストール
pip を使用して必要な Python 依存関係をインストールします。
pip install -r requirements.txt
必要なパッケージは次のとおりです。
-
azure-ai-agentserver-agentframework- Agent Framework と AgentServer SDK
手順 5: エージェントをローカルでテストする
デプロイする前に、エージェントを実行してテストします。
オプション 1: F5 キーを押す (推奨)
VS Code で F5 キーを押してデバッグを開始します。 または、VS Code デバッグ メニューを使用することもできます。
- [実行とデバッグ] ビューを開きます (Ctrl + Shift + D / Cmd + Shift + D)
- ドロップダウンから [Debug Local Workflow HTTP Server]\(ローカル ワークフロー HTTP サーバーのデバッグ\) を選択します
- 緑色の [デバッグの開始 ] ボタンをクリックします (または F5 キーを押します)
これにより、次の操作が行われます。
- デバッグを有効にして HTTP サーバーを起動する
- 対話型テスト用に AI Toolkit Agent Inspector を開く
- ブレークポイントを設定し、ワークフローを検査できるようにします
オプション 2: ターミナルで実行する
HTTP サーバーとして実行する (既定):
python main.py
これにより、 http://localhost:8088/でホストされるエージェントがローカルで開始されます。
PowerShell (Windows):
$body = @{
input = "I need a hotel in Seattle from 2025-03-15 to 2025-03-18, budget under `$200 per night"
stream = $false
} | ConvertTo-Json
Invoke-RestMethod -Uri http://localhost:8088/responses -Method Post -Body $body -ContentType "application/json"
Bash/curl (Linux/macOS):
curl -sS -H "Content-Type: application/json" -X POST http://localhost:8088/responses \
-d '{"input": "Find me hotels in Seattle for March 20-23, 2025 under $200 per night","stream":false}'
エージェントは、 get_available_hotels ツールを使用して、条件に一致する利用可能なホテルを検索します。
手順 6: Foundry Agent Service にデプロイする
VS Code から直接エージェントをデプロイします。
コマンド パレット (Ctrl + Shift + P) を開き、 Microsoft Foundry: Deploy Hosted Agent を選択します。
ホストされるエージェント コンテナーの CPU とメモリの構成を選択します。
表示されたダイアログで、[確認と展開] ボタンを選択します。
左側のアイコンを選択して、Microsoft Foundry エクスプローラーに切り替えます。 デプロイが完了すると、エージェント が [Hosted Agents (Preview)] ツリー ビュー サイドバーに表示されます。
エージェントを確認してテストする
デプロイが完了したら、エージェントが実行されていることを確認します。
エージェントの状態を確認する
エージェントの状態を確認して、実行中であることを確認します。
ホストされたエージェント (プレビュー) ツリー ビューから、ホストされているエージェントを選択します。
バージョン (v1) を選択して詳細ページを開きます。
詳細ページには、[コンテナーの詳細] セクションの下に [状態] が表示されます。
VS Code を使用してプレイグラウンドでテストする
Microsoft Foundry for VS Code には、エージェントとチャットして対話するための統合されたプレイグラウンドが含まれています。
ホストされたエージェント (プレビュー) ツリー ビューから、ホストされているエージェントを選択します。
バージョン (v1) を選択して詳細ページを開きます。
Playground オプションを選択し、メッセージを入力して送信してエージェントをテストします。
Foundry プレイグラウンドでのテスト
Foundry ポータルでエージェントに移動します。
Foundry ポータルを開き、Azure アカウントでサインインします。
Recent projects リストからprojectを選択するか、All projects を選択して検索します。
左側のナビゲーションで、[ ビルド ] を選択してメニューを展開し、[エージェント] を選択 します。
エージェントの一覧で、デプロイされたエージェントを見つけます (デプロイのエージェント名と一致します)。
エージェント名を選択して詳細ページを開き、上部のツール バー の [プレイグラウンドで開く ] を選択します。
チャット インターフェイスで、「Microsoft Foundry とは」などのテスト メッセージを入力し、 Enter キーを押します。
エージェントが Web 検索結果からの情報で応答することを確認します。 エージェントが外部ソースに対してクエリを実行する場合、応答には数秒かかる場合があります。
ヒント
プレイグラウンドが読み込まれない場合、またはエージェントが応答しない場合は、前述の [コンテナーの詳細] ページを使用して、エージェントの状態が Started されていることを確認します。
リソースをクリーンアップする
料金を回避するには、完了したらリソースを削除します。
Warnung
このコマンドは、Foundry project、Container Registry、Application Insights、ホストされているエージェントなど、このクイック スタートで作成されたすべてのAzure リソースを完全に削除します。 この削除操作は元に戻すことができません。
確認する前に削除される内容をプレビューするには:
azd down --preview
削除する準備ができたら、次のコマンドを実行します。
azd down
クリーンアップ プロセスには約 2 ~ 5 分かかります。
Warnung
リソースを削除すると、Foundry プロジェクト、Container Registry、Application Insights、ホステッド エージェントなど、このクイック スタートで作成されたすべての Azure リソースが完全に削除されます。 この削除操作は元に戻すことができません。
リソースを削除するには、 Azure portal を開き、リソース グループに移動し、含まれているすべてのリソースと共に削除します。
リソースが削除されたことを確認するには、 Azure portal を開き、リソース グループに移動して、リソースが表示されなくなったかどうかを確認します。 リソース グループが空の場合は、削除することもできます。
トラブルシューティング
問題が発生した場合は、一般的な問題に対して次の解決策を試してください。
| 問題点 | 解決策 |
|---|---|
| Docker ビルド エラー | Docker Desktop が実行されていることを確認します。
docker infoを実行して確認します。 |
SubscriptionNotRegistered エラー |
プロバイダーの登録: az provider register --namespace Microsoft.CognitiveServices |
AuthorizationFailed プロビジョニング中 |
サブスクリプションまたはリソース グループの 共同作成者 ロールを要求します。 |
| エージェントがローカルで起動しない | 環境変数が設定されていることを確認し、 az login 実行して資格情報を更新します。 |
AcrPullUnauthorized エラー |
プロジェクトの管理対象 ID に、コンテナー レジストリでAcrPull ロールを付与します。 |
| 問題点 | 解決策 |
|---|---|
azd init 失敗 |
azd versionを実行して、バージョン 1.23.0 以降を確認します。
winget upgrade Microsoft.Azd (Windows) または brew upgrade azd (macOS) で更新します。 |
| カタログにモデルが見つかりません | サンプルの agent.yaml をフォークし、gpt-4.1 など、サブスクリプションで利用可能なデプロイにモデルを変更します。 次に、AZURE_LOCATION ファイルの .azure/<environment name>/.env 値を削除します。 フォークしたazd ai agent init ファイルを使用して、agent.yaml コマンドを再実行します。 |
エージェントのコンテナー ログを表示する
問題のトラブルシューティングを行うには、コンテナーのコンソールとシステム ログを確認できます。
ホストされたエージェント (プレビュー) ツリー ビューから、ホストされているエージェントを選択します。
バージョン (v1) を選択して詳細ページを開きます。
右側の [ログ] ボタンを選択して、ログ ビューアーを開きます。
| 問題点 | 解決策 |
|---|---|
| 拡張機能が見つかりません | VS Code Marketplace から Microsoft Foundry for VS Code 拡張機能をインストールします。 |
学習した内容
このクイック スタートでは次の作業を行います。
- Foundry ツール (Web 検索と MCP) を使用してホストされるエージェント サンプルを設定する
- エージェントをローカルでテストしました
- Foundry エージェント サービスにデプロイ済み
- Foundry プレイグラウンドであなたのエージェントを確認しました
次のステップ
最初のホステッド エージェントをデプロイしたので、次の方法を学習します。
追加の機能を使用してエージェントをカスタマイズします。
- MCP ツールを接続 してエージェント機能を拡張する
- 関数呼び出しを使用して カスタム ロジックを統合する
- ファイル検索を追加 してドキュメントを検索する
- コード インタープリター で Python コードを実行できるようにする
使用可能なツールの完全な一覧については、 ツール カタログ の記事を参照してください。