Azure AI SearchとGPT-4o Realtime API for Audioを使用したRAG + Voiceのアプリパターンについて検証してみた

MicrosoftからGPT-4o Realtime API for Audioが発表されました。

今回は、Azure AI SearchとGPT-4o Realtime API for Audioを連携し、音声によるRAG検索が行えるのかどうかを検証します。

検証結果

下記は検証結果です。

GPT-4o Realtime API for Audioを使用すれば、下記動画のような音声によるRAG検索が可能です。

youtu.be

RAG検索で使用した資料の内容です。「育児休業の対象者となる労働者を教えて下さい」という質問に、的確に回答できています。

引用:育児・介護休業法のあらまし(厚生労働省)

引用として表示された箇所の内容です。質問に対して、的確な該当箇所を抽出できています。

環境

今回はWindows 11の環境で検証しました。

検証には、下記サイトで紹介されていたWebアプリを使用しました。

Webアプリの実行には下記が必要となります。

  • Node.js
  • Python >=3.11
  • PowerShell

作業概要

検証作業は、下記の手順で行います。

  1. BLOBストレージに資料を配置
  2. Azure AI Searchにベクトルインデックスを作成
  3. git cloneでリポジトリを取得
  4. 環境変数を設定
  5. Webアプリを実行

作業手順

BLOBストレージに資料を配置

任意のBLOBストレージを作成し、RAG検索の対象とする資料を保存します。

今回は、資料として、厚生労働省が公開している「育児・介護休業法のあらまし」を使用しました。

BLOBストレージに「PDF」という名称のコンテナを作成して、資料を保存します。

Azure AI Searchにベクトルインデックスを作成

Azure AI Searchの「データのインポートとベクター化」を選択します。

BLOBストレージを選択します。

BLOBコンテナーで、資料を保存したコンテナを選択します。

Azure OpenAIサービスを選択し、embeddingで使用するモデルを選択します。

※Azure OpenAIサービスが表示されない場合は、デプロイして下さい。

セマンティックランカーを有効にします。

※セマンティックランカーは、Basic以上のプランで使用できます。

問題なければ作成ボタンを押してインデックスを作成します。

git cloneでリポジトリを取得

PCの任意のフォルダでリポジトリを取得します。

git clone https://github.com/Azure-Samples/aisearch-openai-rag-audio

環境変数を設定

aisearch-openai-rag-audio\app\backend\.env ファイルを作成します。 .envファイルには下記を記載します。

AZURE_OPENAI_ENDPOINT=wss://<your instance name>.openai.azure.com
AZURE_OPENAI_DEPLOYMENT=gpt-4o-realtime-preview
AZURE_OPENAI_API_KEY=<your api key>
AZURE_SEARCH_ENDPOINT=https://<your service name>‌.search.windows.net
AZURE_SEARCH_INDEX=<your index name>
AZURE_SEARCH_API_KEY=<your api key>

Azure OpenAIについては、下記を参照して設定して下さい。

Azure AI Searchについては、下記を参照して設定して下さい。

Webアプリを実行

PowerShellで、下記のコマンドを実行します。

※aisearch-openai-rag-audio\appで実行します。

cd app
pwsh .\start.ps1

Webアプリが起動しますので、画面中央のマイクボタンを押して、質問します。

※PCのマイクがオンになっていることを確認してください。

まとめ

今回、Microsoftが発表したGPT-4o Realtime API for AudioとAzure AI Searchを連携させ、音声を活用したRAG検索の実用性を検証しました。

Microsoftは、このような機能をCopilot製品に搭載することを発表しており、音声技術を活用した新しいユーザー体験の提供に力を入れています。

すべての人のための AI コンパニオン~Copilot Voice!Copilot Vision!~ - JBS Tech Blog

検証では、音声入力を用いたRAG検索が問題なく動作し、関連情報をスムーズに検索・提示できることを確認しました。

音声による検索は、ユーザーにとってさらなる利便性と効率性を提供する可能性を秘めており、今後の展開がますます期待されます。

執筆担当者プロフィール
株木 誠

株木 誠

先端技術部の株木です。 Azure OpenAI Service を活用するアプリ開発を担当しています。

担当記事一覧