OpenAI(ChatGPT)でAzure AI Searchでベクター化したデータを利用する

本記事は OpenAI活用法 Advent Calendar 2023 by ナレコム の9日目の記事です。

OpenAI活用法 Advent Calendar 2023 by ナレコム ではGPTsを含めた最新のOpenAIの活用法について紹介します。

はじめに

前回の記事「Azure OpenAI Studioを活用した効率的なチャットアシスタント構築」では、Azure OpenAI Studioを使ってデータソースを追加し、チャットアシスタントをセットアップする方法を解説しました。今回の記事では、その続きとして、ベクター化した大量データの実用性と注意点に焦点を当てます。特に、文章の引用と検索性能の最適化、Azure AI Searchでのチューニングの難易度、およびキーワード検索の挙動に関して詳しく掘り下げていきます。この情報を活用し、より精度の高いAIベースのアシスタントを構築しましょう。

準備

前回の記事を参考にお願いします

https://qiita.com/akiraokusawa/items/68cc2c6a5912ebe09013

OpenAIでベクター化したデータを利用する

  1. Azure OpenAI Studio にアクセスし、左メニュー「チャット」を選び、 アシスタントのセットアップ の「データの追加(プレビュー)」をクリックします。
    image.png
  2. 「データソースの追加」をクリックし、データ追加ウィンドウを立ち上げます。
    image.png
  3. 以下のように選択します。
    データ ソースを選択する⇒Azure AI Search
    サブスクリプション⇒前記事でベクター化を実行したサブスクリプション
    Azure AI Search Service⇒前記事でベクター化を実行したAzure AI Search
    Azure AI Search インデックス⇒前記事でベクター化したインデックス
    ベクトル検索をこの検索リソースに追加します。⇒チェック
    埋め込みモデルを選択する⇒前記事で準備したOpenAIの埋め込み(embedding)モデル
    Azure AI Searchアカウントに接続すると、アカウントが使用されるようになることに同意します。⇒チェック
  4. 「インデックス データ フィールドのマッピング」では以下のように選択します。
    コンテンツデータ⇒chunkにチェック
  5. 「データ管理」では以下のように選択します。
    検索の種類⇒ハイブリッド+セマンティック(ベクトル、ハイブリッド(ベクトル+ハイブリッド)でも可だが、性能が異なる)
    既存のセマンティック検索の構成を追加する⇒前記事でベクターに自動的に下図のようなものが追加されているので選択
    両方の項目にチェック
    image.png
  6. 確認画面が表示されるので「保存して閉じる」

完了すると以下のようにアシスタントにデータソースに選択したソースが表示されます。
image.png

実行すると以下のようにAI Searchに登録したデータを参照した回答を返してくれます。
image.png

ベクター化した大量データを利用することは魅力ですが、現時点での注意事項としては、

  1. 主に文章の引用に依存し、複雑な文章の再構成や要約には限界があります。例えば、全体の文章からいい感じに必要な情報をまとめて欲しい、などは出来ないと思ったほうが良い
  2. 検索性能は主にAzure AI Searchに依存し、望む回答を得るためには高度なチューニングが必要です
  3. 『「〇〇」と検索して』など特定のキーワードでの検索を指示しない限り、AIがどのようなキーワードで検索するか予測するのは困難です
  4. キーワードに複数の回答が存在する場合、回答は検索のヒットスコア順で表示され、文脈に適した部分を特定するのは難しい場合があります。対応策としては人間の問い合わせ文章を変える必要がある

まとめ

本記事では、Azure OpenAI Studioを利用してチャットアシスタントにデータソースを追加し、ベクター化したデータを活用する方法を探求しました。重要な点として、文章の引用の限界、検索性能に関するAzure AI Searchの依存性、およびキーワード検索の挙動について説明しました。これらの知見は、AIアシスタントの構築と最適化において役立つでしょう。


また、ナレッジコミュニケーションでは Musubite というエンジニア同士のカジュアルトークサービスを利用しています!この記事にあるような生成AI 技術を使ったプロジェクトに携わるメンバーと直接話せるサービスですので興味がある方は是非利用を検討してください!

この記事を書いた人

azure-recipe-user