Azure FunctionsでAzure AI AgentとBing検索を連携する方法【初心者向けコード例付き】

2025.04.25
Azure FunctionsでAzure AI AgentとBing検索を連携する方法【初心者向けコード例付き】

はじめに

MS開発部の松坂です。

Azure FunctionsとAzure AI Agentを使って、Bing検索(Grounding)を活用する方法をご紹介します。Azure AI Foundryの登場により、クラウド上の知識検索をエージェントに簡単に統合できるようになりました。

本記事では、以下の構成で実際に動作する環境を構築し、Azure FunctionsからBing検索を行うまでをステップバイステップで解説します。

前提条件

本記事では、以下のリソースが作成済みであることを前提としています:

  • Azure AI Project

  • Azure AI Hub

  • Azure AI Service

  • Azure Function(この記事ではC#を利用しており、その場合はランタイムスタック「.net」)
  • Bing Grounding(Bing Search連携用のGroundingリソース)

これらが未作成の場合は、Azureポータルから事前に準備しておきましょう。

また、アクセス制御の設定を行うので、Azure AI ProjectのリソースにてMicrosoft.Authorization/roleAssignments/write の権限を持つ必要があります。


ステップ1:AI FoundryでBingと連携

  1. Azureポータルにアクセスし、Azure AI Hubを開きます。Azure AI Hubのリソースページから「Launch Azure AI Foundry」をクリックしてAzure AI Foundryを開きます。

  2. Azure AI Hubの概要ページが表示されるので、左メニューよりConnected Resourcesを選択します。

  3. 表示されたページの「新しい接続」を押下、その後「ナレッジ」の項目にある「Bing 検索を使用したグラウンド」を選択してBingのリソースと紐づけを行います。

  4. 作成したリソースが別サブスクの場合は一覧に表示されないため、「その他のリソースの種類」より「APIキー」を選択して、APIキー及びエンドポイントをBing Searchリソースから取得して設定。

ポイント: この操作で、Azure AI AgentがBing検索を内部的に利用できるようになります。


ステップ2:AIエージェントにBing Groundingをアタッチ

  1. Azure AI Foundryのページにて左上のロゴをクリックしてトップページに遷移します。

  2. トップページより、先ほど紐づけたHubと同列にあるプロジェクトを選択して、Azure AI Projectのページに遷移します。
  3. 左メニューより「ビルドとカスタマイズ」の「エージェント」を選択

  4. エージェントページにて新規エージェントの作成及び既存エージェントのナレッジの追加を選択
  5. データソースにてBingを選択し、Hubにて紐づけたBingとエージェントを紐づけます。

これで、エージェントがBing検索を通じて外部情報へアクセスできるようになります。こちらのエージェントを使ってプレイグラウンド上から確認することも可能です。


ステップ3:Azure Functionにアクセス権を付与

  1. Azure Functionの「ID」設定を オン にします(マネージドIDを有効化)。

  2. Azure AI Projectの「アクセス制御(IAM)」で、Azyre FunctionのIDに 「Azure AI Developer」 のロールを追加。

🔐 ヒント: このステップにより、FunctionがAIリソースに安全にアクセス可能になります。


ステップ4:Azure Functionからエージェントを呼び出すコード(C#)

🧠 解説:

  • DefaultAzureCredential を使うことで、認証がスムーズに行えます。

  • エージェントにアタッチされたBing Groundingを使い、最新情報を取得しています。


ステップ5:Functionをデプロイして動作確認

  • デプロイはAzure CLIまたはVisual Studioから実行可能

  • エンドポイントにリクエストを送信し、Bing検索を含むレスポンスを確認

  • 上記関数をそのままFunctionに発行する場合は、AzureFunctionの環境変数を設定しておく

    • 「AZURE_AI_AGENT_CONNECTION_STRING」:AzureAIProjectの接続文字列
    • 「AZURE_AI_AGENT_ID」:エージェントID
    • 「AZURE_AI_THREAD_ID」:スレッドID
 

結果

最新情報を取得するチャットを行えることが確認しました。    

まとめ

Azure Functions × Azure AI Agent × Bing Groundingの連携により、クラウドファンクションからリアルタイムな情報を扱うAIアプリケーションが簡単に構築できます。

主なポイント

  • Bing Groundingの紐づけとエージェントへのアタッチが鍵

  • FunctionのID権限設定と DefaultAzureCredential の活用で安全にアクセス

  • リアルタイムな検索回答を含んだAIチャットが構築可能に

以上、最後までご愛読いただき
ありがとうございました。

お問い合わせは、
以下のフォームへご連絡ください。

お問い合わせ

PAGETOP