2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Foundry エージェントを使った基本的なチャットアプリのデプロイ

2
Last updated at Posted at 2026-02-19

はじめに

本記事では、Microsoft Foundryエージェントを使用したチャットアプリをデプロイした手順をまとめます。Microsoft公式のリファレンスアーキテクチャを参照して、GitHubに公開されている環境をデプロイしています。
GitHubにガイドも公開されていますが、Foundryポータルでの画面や展開したリソース情報も記載してますので、この記事が理解の役に立てば幸いです。

概要

以下のリファレンスアーキテクチャの環境をデプロイしました。

この構成は、チャットUIアプリをApp Serviceで稼働して、アプリからOpenAIモデル(LLM)に接続しているFoundry Agent Serviceにアクセスする構成です。
また、Agentには"Bing Searchによるグラウンディング"も設定して、Web検索のテストも行っています(GitHubでのガイド手順に沿った内容です)。

image.png
(Microsoft Learnから抜粋。 実装はAzure AI SearchではなくBing Searchのグラウンディング)

前提条件

GitHubの”Prerequisites”を参照。
Azureサブスクリプション、権限などについて記載があります。
(※私は実装時に、App Service Planのクォータにひっかかり、App Serviceだけjapanwestでデプロイしました。。)

設定手順

1. インフラリソースのデプロイ
基本的にGitHubのREADMEに記載のガイドに従って実施していきます。
以下、ローカルPCのWSL環境から実行しました。

  1. GitHubのリポジトリのクローン
    git clone https://github.com/Azure-Samples/microsoft-foundry-basic
    cd microsoft-foundry-basic
    

  2. Azureへログインしてサブスクリプションの設定
    az login
    az account set --subscription <自身のサブスクリプション>
    

  3. ロケーションの指定
    READMEにテストされているロケーションが記載されています。"japaneast"で設定。
    LOCATION=japaneast
    
    ※ここで私の環境ではApp Serviceはjapaneastでのクォータにひっかかり、App Serviceだけ該当のbicepファイルのパラメータを変えてjapanwestでデプロイしました。

  4. デプロイするリソースの基本名値の指定
    デプロイするリソース名の一部に使用される変数を設定。任意ですが"FAbasic"で設定。
    BASE_NAME=FAbasic
    

  5. リソースのデプロイ
    リソースグループを指定して各種リソースをデプロイ。
    ※リソースグループは事前に作成済みであったため、変数指定だけしています。
    RESOURCE_GROUP=rg-ohrui
    PRINCIPAL_ID=$(az ad signed-in-user show --query id -o tsv)
    # This takes about 10 minutes to run.
    az deployment group create -f ./infra-as-code/bicep/main.bicep \
     -g $RESOURCE_GROUP \
      -p baseName=${BASE_NAME} \
      -p yourPrincipalId=$PRINCIPAL_ID
    
    ターミナルにデプロイ結果のメッセージが表示されます。
    Azure Portalからもリソースが確認できます。
    image.png

2. Foundry Agentのデプロイ
これまでのリソースのデプロイによりFoundryプロジェクトまで作成されています。以降の手順でエージェントのデプロイ・設定を実施します。

  1. エージェントの作成・モデルの選択

    • Foundry Portalにログインして、”projchat”プロジェクトの画面を開く

    • "新しいFoundry"が有効でない場合は、トグルボタンで切り替え

    • 上部のバーで[ビルド]を選択
      左のメニューバーで[エージェント]が選択されていることを確認

      image.png

    • [エージェントの作成]ボタンをクリック

    • 表示されるポップアップで"baseline-chatbot-agent"と入力

    • [作成]ボタンをクリック
        image.png

    • 作成したエージェントのプレイグラウンドパネルから、"agent-model"という名前の使用可能なモデルを選択
      image.png


  2. ナレッジツールの設定

    • ナレッジ セクションの[追加]ボタンをクリック

    • [+ツールを使ってデータソースを設定する]を選択
      image.png

    • ツールの選択画面で、[Bing検索を使用したグラウンド]を選択、[ツールの追加]ボタンをクリック
      image.png

    • 表示されるポップアップ画面で、[Bing検索接続を使用した典拠(グラウンド)]から"bingaiagent"を選択、[追加]をクリック

    • デフォルト値から言語の設定:"ja、市場:ja-jpに変更(GitHubのガイドには記載ない任意の手順)
      image.png

    • プレイグランドパネルの右上にある[保存]をクリック


  3. エージェントの公開(発行)
    以下の手順によりエージェントを専用のエンドポイントを持つマネージドAzureリソースに昇格させることができます。

    • プレイグラウンドパネルの右上にある「発行する」ボタンをクリックし、次に「エージェントを発行する」ボタンをクリックします。

    • 表示されるポップアップ画面で[発行する]をクリック
      image.png
      image.png

    • ポップアップ画面で[エージェントが正常に発行されました]と表示されることを確認


3. プレイグラウンドでエージェントのテスト
プレイグラウンドでエージェントに対して最新の情報を確認する必要がある質問をして、Bing検索によるグラウンディング(Web検索)をテストします。

  • プレイグランドのチャットに"最新の情報を確認する必要がある質問"を入力
  • 回答からbing検索が使用されていることを確認
    image.png

4. App Serviceにチャットアプリのデプロイ
GitHubにあるソースからApp Serviceにチャットアプリをデプロイする。基本的にREADMEに記載の手順に従って実施していきます。

  1. 変数の設定

    FOUNDRY_NAME="aif${BASE_NAME}"
    FOUNDRY_PROJECT_NAME="projchat"
    FOUNDRY_AGENTS_URL="https://${FOUNDRY_NAME}.services.ai.azure.com/api/projects/${FOUNDRY_PROJECT_NAME}/agents?api-version=2025-11-15-preview"
    echo $FOUNDRY_AGENTS_URL
    

  2. エージェントの値の取得

    AGENT_ID=$(az rest -u $FOUNDRY_AGENTS_URL -m "get" --resource "https://ai.azure.com" --query last_id -o tsv)
    echo $AGENT_ID
    

  3. アプリ設定の更新エージェントの値の取得

    APPSERVICE_NAME=app-$BASE_NAME
    az webapp config appsettings set -g $RESOURCE_GROUP -n $APPSERVICE_NAME --settings AIAgentId=${AGENT_ID}
    

    App Serviceに設定されている環境変数が指定値になったことを確認できます。(Azure Portalでの設定も可能です。)
    image.png

  4. チャットアプリ(ChatUI)のデプロイ

    az webapp deploy -g $RESOURCE_GROUP -n $APPSERVICE_NAME --type zip --src-url https://github.com/Azure-Samples/microsoft-foundry-basic/raw/refs/heads/main/website/chatui.zip
    

    ターミナルにデプロイ結果のメッセージが表示されます。

5. チャットアプリのテスト
ChatUIアプリのURLにアクセスしてアプリのテストをします。
ここでも最新の情報を確認する必要がある質問をして、Bing検索によるグラウンディング(Web検索)をテストします。
  image.png

Foundryポータルのエージェントの[トレース]画面から、エージェントへのアクセスやツールの利用が確認できます。
  image.png

その他

環境をデプロイして気づいたこと・気になったことを記載しておきます。

  • App Service, ChatUIでの認証
    リファレンスアーキテクチャでは、”ChatUIへのアクセスにMicrosoft Entra IDを使用して認証”と記載されていますが、私がGitHubリポジトリからデプロイしたときには、これは有効になっていませんでした。
    そのためApp ServiceのEasy Auth機能を後から設定して、Webサイトへの認証を追加しました。

  • ネットワークセキュリティ
    この環境自体が基本的な学習・PoC向けのアーキテクチャのため、ネットワークセキュリティは実装に含まれていないです。デプロイしたFoundryプロジェクトはAPIキー認証は無効化されていましたが、検証・評価中にもFoundryのネットワーク設定でアクセスをしぼる、または使わないときは外部アクセス無効にするなどを考慮したほうがよいかもしれません。

まとめ

Microsoft Foundryエージェントを使用したチャットアプリのリファレンスアーキテクチャを、実際に環境へのデプロイした内容を記載しました。公式リファレンス・GitHubのガイドに沿う形で実施しながらエージェント動作やAzureリソースの関連性について理解を深めることができました。
この記事がMicrosoft Foundryを使う方の参考になれば幸いです。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?