Azure AI Searchの新機能! Agentic Retrievalを試してみる

2025.06.30
Azure AI Searchの新機能! Agentic Retrievalを試してみる

こんにちは、MS開発部の渋谷です。

本記事をご覧いただいた皆さんはAzureを使ってRAGの構築を進めている方が多いのではないでしょうか? OpenAI社のGPTモデルをはじめとして多種多様なモデルが登場してくる中で、自社が持つデータ資産をうまくRAGに活用していきたいという需要はますます拡がってきています。

Azureには組織がRAGを構築するために活用できる様々なサービスが提供されており、Azure AI Searchはその中でも代表的な製品です。元々Azure Searchというサービス名で提供されており、全文検索を活用したチャットボットの開発などで広く使われてきた実績のある製品です。

本記事では2025年5月のMicrosoft Buildで発表されたAzure AI Searchの新機能であるAgentic Retrievalを紹介します。

Agentic Retrievalとは

Azure AI Searchの概要については公式ドキュメントをご参照ください。Agentic RetrievalはAzure AI Searchサービスの中の一つの機能でRAGにおける検索精度を向上するためのツールです。

Agentic Retrievalは日本語では「検索エージェント」と表記されています(本記事作成時点での情報です)。超簡単に一言で表現をすると、ユーザーが入力した複雑なクエリをAIモデルが理解しやすいように前処理をしてくれる機能がAgentic Retrievalです。

例えば以下のようなシナリオが考えられます。

  • 複雑なクエリの並列分解
  • 複雑なクエリの直列分解
  • 省略されたクエリの補完
  • 否定を含むクエリの解きほぐし

特に日本語は抽象的な表現になりがちな言語だと思いますが、ユーザーが本当に聞きたいこと・調べたいことを上手くくみ取って前処理をしてくれるので、AIモデルがより高い精度の回答を返してくれるという仕組みになっているようです。

(※本記事では紹介しませんが、回答精度をあげるための仕組みとしてクエリリライティング(クエリ書き換え)という機能も提供されています。)

実際に試してみた

それでは早速試してみましょう。現時点ではPythonもしくはREST APIを用いて操作できるようになっており、本記事ではREST APIを用いた方法で検証をしてみます。

Azureポータルにサインインをし、Azure AI SearchをBasicプラン以上でデプロイします。

「キー」メニューから「両方」を選択し、ロールベースのアクセス制御を有効化します。

「アクセス制御」メニューから「+追加」「ロールの割り当てと追加」に進み、以下3つのロールを作業者に付与します。

  • Search Service 共同作成者
  • 検索インデックス データ共同作成者
  • 検索インデックス データ閲覧者

Agentic Retrievalでは、Azure AI SearchがAzure OpenAI Foundryリソースにアクセスする必要があるため、システム割り当てマネージドIDを作成します。本記事ではドキュメントの通りAzure CLIを利用します。Azure CLIを利用する場合にはAzureポータル上に用意されているCloud Shellが便利です。

Azure AI Foundryをデプロイします。

「アクセス制御」メニューから「+追加」「ロールの割り当てと追加」に進み、「Cognitive Service ユーザー」を選択します。その後「マネージドID」で先ほどCLIで作成したIDを割り当てます。

Azure AI Foundryの「概要」メニューに戻り「Azure AI Foundry portal」にアクセスします。「モデルカタログ」から「gpt-4.1-mini」を選択し「このモデルを使用する」をクリックします。

gpt-4.1-miniを「デプロイ」します。同じ手順で「text-embedding-3-large」もデプロイしておいてください。

Azureポータルに戻ります。Azure AI Foundryの「キーとエンドポイント」メニューから「OpenAI」タブを選択しエンドポイントをコピーしておきます。

同じくAzure AI Searchの「概要」メニューに表示されるエンドポイントをコピーしておきます。

ローカルでVisual Studio Codeを起動しターミナルを起動後「az login」でローカルからログインをします。その後「az account get-access-token」を使用してMicrosoft Entraトークンを取得します。

公式ドキュメントの「接続をロードする」セクションを進めます。先ほどコピーした各種情報を入力後、REST APIが正しく実行できると以下のようになります。

つづいてこちらの手順を進めます。先ほどのコードに追加して実行をし、201が返ってくることを確認します。

つづいてこちらの手順を進めます。先ほどのコードに追加して実行をし、200が返ってくることを確認します。

つづいてこちらの手順を進めます。先ほどのコードに追加して実行をし、201が返ってくることを確認します。

さいごにこちらの手順に沿ってAgentic Retrievalの動作検証を行います。

結果の確認

サンプルは英語になってしまっていますが、日本語に翻訳をすると次のようにAgentic Retrievalが作用していることが分かります。

●英文のクエリ:
Why do suburban belts display larger December brightening than urban cores even though absolute light levels are higher downtown? Why is the Phoenix nighttime street grid is so sharply visible from space, whereas large stretches of the interstate between midwestern cities remain comparatively dim?

●クエリの日本語訳:
なぜ郊外の地域では、都市中心部よりも12月の明るさの増加(December brightening)が大きく見られるのでしょうか?都市中心部の方が絶対的な光の量は多いにもかかわらずです。また、なぜフェニックスの夜間の街路のグリッドは宇宙からはっきりと見えるのに、アメリカ中西部の都市間を結ぶ高速道路の多くは比較的暗いままなのでしょうか?

●処理されたクエリ1:
都市中心部の方が絶対的な光量は多いにもかかわらず、郊外地域で12月の明るさの増加がより大きく見られる理由

●処理されたクエリ2:
なぜフェニックスの夜間の街路のグリッドは宇宙からはっきりと見えるのに、アメリカ中西部の都市間を結ぶ高速道路の広い区間は比較的暗く見えるのでしょうか?

複雑で長い文章を細かく区切って、分かりやすい文章に変換するという処理がかかっていることが分かります。本来であれば自前でこのような仕組みを作る必要がありますが、Azure AI Searchを使うことでフルマネージドに処理をしてくれるので便利ですね。

さいごに

本記事ではAzure AI Searchの新機能であるAgentic Retrievalを紹介しました。サンプルの関係で英語での検証となりましたが、日本語でも動作することを確認しています。

本記事作成時点ではプレビュー製品となっておりますので、本番運用におけるご利用にはお気を付けください。また、最新情報は公式ドキュメントをご参照ください。

皆様の業務に少しでもお役に立つ情報をお届けできていれば幸いです。

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

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

お問い合わせ

PAGETOP