クイック スタート: 最初のホステッド エージェントをデプロイする

このクイック スタートでは、次の操作を行います。

  • ホステッド エージェント プロジェクトを作成する
  • エージェントをローカルでテストする
  • Foundry エージェント サービスへのデプロイ
  • プレイグラウンドでエージェントとチャットする
  • リソースのクリーンアップ

VS Code または CLI を使い始めるには、好みの開発エクスペリエンスを選択してください。

メモ

このドキュメントは、新しいバックエンドの Hosted Agents を対象としており、azd ai agent バージョン 0.1.27-preview 以降が必要です。 Azure Container Appsを使用するレガシ エクスペリエンスについては、引き続き 0.1.25-preview を使用してください。

現在、ホストされているエージェントはプレビュー段階です。

前提 条件

開始する前に、次のものが必要です。

  • Azure Developer CLI (AZD) 1.25.3 以降

  • azd microsoft.foundry拡張機能。 AZD のインストール後に拡張機能をインストールして確認します。

    azd ext install microsoft.foundry
    
  • Azure にサインインします。

    azd auth login
    

必要なアクセス許可

ホスト型エージェントを作成してデプロイするには、プロジェクト スコープの Foundry Project Manager ロールが必要です。 Azure Developer CLI と Visual Studio Code 拡張機能は、サブスクリプションに Owner または User Access Administrator がある場合に、残りのロールの割り当て (プロジェクト マネージド ID、エージェント ID、Azure Container Registry (ACR) プル) を自動的に処理します。 これらのサブスクリプション レベルのロールがない場合は、「 ホスト型エージェントのアクセス許可リファレンス」で説明されているロールを割り当てるように管理者に依頼してください。

重要

Foundry RBAC ロールの名前が最近変更されました。 Foundry User, Foundry Owner, Foundry Account Owner、および Foundry Project Manager は、以前は、AZURE AI ユーザー、Azure AI 所有者、Azure AI アカウント所有者、および AZURE AI Project Manager という名前でした。 名前の変更がロールアウトされている間、以前の名前が表示される場合があります。ロール ID とコア アクセス許可は、名前の変更によって変更されません。

手順 1: サンプル プロジェクトをスキャフォールディングする

基本的な Agent Framework サンプル マニフェストを使用して、新しいホステッド エージェント プロジェクトを初期化します。

azd ai agent init -m "https://github.com/microsoft-foundry/foundry-samples/blob/main/samples/python/hosted-agents/agent-framework/responses/01-basic/agent.manifest.yaml"

対話型フローでは、次の入力を求めます:

  • エージェント名: 名前をカスタマイズするか、既定の agent-framework-agent-basic-responses をそのまま使用します
  • Foundry Project: 新しい Foundry プロジェクトを作成 を選択します
  • テナント: Azure テナントを選択します
  • サブスクリプション: Azure サブスクリプションを選択する
  • Location: Azureリージョンを選択します
  • モデル: 既定の gpt-4.1-mini、またはアクセスできる別のモデルを選択します。
  • モデルのバージョン: 既定のオプションを選択します。
  • モデル SKU: Batch ではない使用可能なクォータ (通常は Standard または GlobalStandard) のオプションを選択します
  • デプロイ容量: 既定の 10 を選択します
  • デプロイ名: 既定の gpt-4.1-mini を選択します

完了すると、 AZD プロジェクトに AI エージェント定義が正常に追加されたことがわかります。

非対話型コマンド

--no-prompt フラグを使用して、コーディング エージェントのような非対話型環境でinitを実行することもできます。

azd ai agent init -m "https://github.com/microsoft-foundry/foundry-samples/blob/main/samples/python/hosted-agents/agent-framework/responses/01-basic/agent.manifest.yaml" --no-prompt

続行する前に、AZURE_SUBSCRIPTION_IDとAZURE_LOCATIONを設定します。

azd env set AZURE_SUBSCRIPTION_ID <subscription-id>
azd env set AZURE_LOCATION <region>

モデルのデプロイを構成するには、configazure.yaml セクションを編集します。

deployments:
    - name: <deployment-name>
      model:
        name: <model-name>
        format: OpenAI
        version: <model-version>
      sku:
        name: GlobalStandard
        capacity: 1

手順 2: Azure リソースをプロビジョニングする

azure.yamlで定義されているリソースをプロビジョニングします。

azd provision

この手順には数分かかり、次のリソースが作成されます。 プロビジョニングとデプロイを一緒に実行するには、代わりに azd up を使用できます。

リソース 目的 コスト
リソース グループ 他のリソースのコンテナー コストなし
モデルの展開 エージェントによって使用されるモデル Foundry の価格を参照してください
Foundry プロジェクト エージェントをホストする 使用量に基づく; Foundry pricingを参照してください
Azure Container Registry エージェント コンテナ イメージを保存します Basic レベル。ACR の価格を参照してください
Log Analytics ワークスペース ログ データを格納します Log Analytics コスト を参照してください。
Application Insights エージェントを監視します 従量制であり、Azure Monitor の価格を参照してください
マネージド ID Azure サービスに対してエージェントを認証します コストなし

手順 3: エージェントをローカルでテストする

  1. エージェントを起動します。

    azd ai agent run --no-inspector
    

    このコマンドは、仮想環境を作成し、依存関係をインストールし、startupCommandで定義されているazure.yamlを使用してエージェントを起動します。 プレビュー パッケージは、セットアップ中に pip 依存関係のバージョン競合の警告を生成できます。 これらの警告は非ブロッキングです。 それらがあっても、エージェントは起動し、正常に応答します。

  2. 別のターミナルで、テスト プロンプトを送信します。

    azd ai agent invoke --local "Write a haiku about deploying cloud applications."
    

    エージェントからの俳句応答が表示されます。

手順 4: Foundry エージェント サービスにデプロイする

エージェント コンテナーをビルドしてデプロイします。

azd deploy

コマンドが完了すると、出力にエージェントプレイグラウンドとエージェント エンドポイントへのリンクが表示されます。

Deploying services (azd deploy)

  Done: Deploying service basic-agent
  - Agent playground (portal): https://ai.azure.com/.../build/agents/basic-agent/build?version=1
  - Agent endpoint: https://ai-account-<name>.services.ai.azure.com/api/projects/<project>/agents/basic-agent/versions/1

手順 1: Foundry プロジェクトを作成する

  1. コマンド パレット (Ctrl + Shift + P) を開き、Foundry Toolkit: Create Project を選択します。
  2. Azure サブスクリプションを選択します。
  3. 新しいリソース グループを作成するか、既存のリソース グループを選択します。
  4. Foundry プロジェクトの名前を入力します。

手順 2: モデルをデプロイする

  1. コマンド パレットを開き、[ Foundry Toolkit: Open Model Catalog]\(Foundry Toolkit: モデル カタログを開く\) を選択します。
  2. gpt-4.1を検索し、[デプロイ] を選択します
  3. モデルのデプロイ ページで、Microsoft Foundry にデプロイ を選択します。

手順 3: ホステッド エージェント プロジェクトを作成する

  1. コマンド パレットを開き、[ Foundry Toolkit: Create new Hosted Agent]\(Foundry Toolkit: 新しいホステッド エージェントの作成\) を選択します。
  2. 言語として Python を選択します。
  3. [フレームワーク] で、[ エージェント フレームワーク] を選択します。
  4. プロトコルの種類として [Responses API ] を選択します。
  5. サンプル コードとして [ 基本 ] を選択します。
  6. [次へ] ボタンを選択します。
  7. プロジェクト ファイルのフォルダーを選択し、エージェントの名前を入力します。
  8. [Environment Setup]\(環境のセットアップ\) で、[Set up with Microsoft Foundry を選択すると、手順 1 と 2 で作成したプロジェクトとモデルがコンテンツに自動的に設定されます。
  9. [作成] ボタンを選択します。

新しい VS Code ウィンドウが開き、プロジェクトがアクティブなワークスペースとして表示されます。

手順 4: 依存関係をインストールする

仮想環境を作成し、要件をインストールします。

macOS または Linux の場合:

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Windows PowerShell の場合:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

手順 5: エージェントをローカルでテストする

F5 キーを押して、デバッグが有効になっているローカル HTTP サーバーを起動します。 Foundry Toolkit Agent Inspector が対話型テスト用に開き、コードにブレークポイントを設定できます。

デバッグなしでサーバーを実行するには:

python main.py

エージェントは http://localhost:8088/ で待ち受けます。 curl (または任意の HTTP クライアント) を使用してテスト プロンプトを送信します。

curl -sS -H "Content-Type: application/json" -X POST http://localhost:8088/responses \
    -d '{"input": "Write a haiku about deploying cloud applications.", "stream": false}'

手順 6: Foundry Agent Service にデプロイする

  1. コマンド パレットを開き、 Foundry Toolkit: Deploy Hosted Agent を選択します。 デプロイ Web ビューが開きます。
  2. [デプロイ方法] で 、[ コード] を選択します。
  3. パッケージ モードとして [リモート ] を選択します。
  4. "エージェント名" は自動的に設定されます。
  5. [次へ] ボタンを選択します。
  6. この「Review and Deploy」ページでは、各項目が自動的に入力されるはずです。
  7. [デプロイ] ボタンを選択します。

デプロイが完了すると、Foundry Toolkit エクスプローラーの [Hosted Agents (Preview)] の下にエージェントが表示されます。

エージェントを確認してテストする

  1. エージェントの状態を確認します:

    azd ai agent show
    

    エージェントが "アクティブ" であることを確認します。

  2. デプロイされたエージェントに同じプロンプトを送信します。

    azd ai agent invoke "Write a haiku about deploying cloud applications."
    

    数秒以内に俳句の応答が表示されます。

  3. (省略可能)エージェントとの対話中にコンテナー ログをストリーミングします。

    azd ai agent monitor --follow
    

    プラットフォームによって Application Insights 接続文字列がコンテナーに挿入されるため、OpenTelemetry トレースは、前にプロビジョニングした Application Insights リソースにも表示されます。 Azure portalInvestigate>Transaction search または Performance で表示します。

  1. Foundry Toolkit エクスプローラーで、[ Hosted Agents (Preview)] を展開し、エージェントを選択します。 詳細ページには、[ デプロイの詳細] の下の状態が表示されます。
  2. [プレイグラウンド] タブを選択し、Write a haiku about deploying cloud applications.などのテスト プロンプトを送信します。

Foundry プレイグラウンドでのテスト

Foundry ポータルには、エージェントのテストに使用できる共有プレイグラウンドが含まれています。

  1. Foundry ポータルを開き、サインインします。
  2. [最近使ったプロジェクト] または [すべてのプロジェクト] からプロジェクトを選択します。
  3. 左側のナビゲーションで、[ ビルド>Agents] を選択します。
  4. エージェントを選択し、[ プレイグラウンドで開く] を選択します。
  5. Write a haiku about deploying cloud applications.などのプロンプトを入力し、Enter キーを押します。 プレイグラウンドが読み込まれない場合、またはエージェントが応答しない場合は、エージェントの詳細ページでエージェントの状態が Started されていることを確認します。

リソースのクリーンアップ

完了したらリソースを削除して、料金の発生を停止します。

警告

azd down は、Foundry プロジェクト、モデルのデプロイ、Container Registry、Application Insights、ホステッド エージェントなど、リソース グループ内のすべてのリソースを完全に削除します。 他のリソースを含むリソース グループにプロビジョニングした場合、それらのリソースも削除されます。

azd down

azd は、削除するリソースを一覧表示し、確認を求めます。 クリーンアップには約 2 ~ 5 分かかります。

  1. Azure ポータルを開き、エージェントを含むリソース グループに移動します。
  2. [ リソース グループの削除] を選択し、確認するリソース グループ名を入力して、[削除] を選択 します

警告

リソース グループを削除すると、Foundry プロジェクト、Container Registry、Application Insights、ホステッド エージェントなど、その中のすべてのものが完全に削除されます。

トラブルシューティング

問題 ソリューション
SubscriptionNotRegistered プロバイダー (az provider register --namespace Microsoft.CognitiveServices) を登録します。
AuthorizationFailed プロビジョニング中 サブスクリプションまたはリソース グループでの 共同作成者 ロールを申請します。
AuthenticationError または DefaultAzureCredential エラー 資格情報を更新するには、 azd auth logout を実行してから azd auth loginします。
ResourceNotFound または DeploymentNotFound Build>Deployments の Foundry ポータルで、エンドポイントの URL とモデルのデプロイ名を確認します。
AcrPullUnauthorized コンテナー レジストリ上のプロジェクトのマネージド ID に AcrPull ロールを付与します。
Connection refused ローカル実行時 他のプロセスでポート 8088 が使用されていないことを確認します。
azd ai agent init 失敗 azd versionを実行して 1.25.0 以降を確認します。 winget upgrade Microsoft.Azd (Windows) または brew upgrade azd (macOS) で更新します。 azd ext listを実行し、azd ext upgrade azure.ai.agentsを使用してエージェント拡張機能をアップグレードして、0.1.34-preview 以降を取得します。
Microsoft Foundry Toolkit 拡張機能が見つかりません Marketplace から Microsoft Foundry Toolkit for Visual Studio Code をインストールし、プレリリース チャネルに切り替えます。
Windows ARM64 でのローカルでの実行が、aiohttpgrpciocryptography、または httptools のビルド エラーで失敗する これらのパッケージに対して事前構築済みの arm64 ホイールは発行されず、ソース ビルドには C++ ビルド ツールMicrosoft必要があります。 回避策として、手順 3 をスキップし、 azd deploy の後に azd ai agent invokeを続けて、エージェントをリモートで検証します。

完全なアクセス許可とロールの割り当てのマトリックスについては、 ホストされるエージェントのアクセス許可のリファレンスを参照してください

学習した内容

このクイック スタートでは、次の操作を行います。

  • Basic エージェント サンプルを基に、ホスト型エージェント プロジェクトのひな形を作成しました。
  • エージェントをローカルでテストしました。
  • エージェントを Foundry Agent Service にデプロイしました。
  • CLI (または VS Code) と Foundry プレイグラウンドの両方からテスト プロンプトを送信しました。

次の手順

追加の機能を使用してエージェントをカスタマイズします。

コーディング エージェントで Microsoft Foundry スキルを使用して、デプロイ、評価、トラブルシューティングのワークフローを標準化します。