Azure Cognitive SearchのデータソースにSharePointを追加する方法
こんにちは、アイシーティーリンクの国分です。
今日は今までの投稿と趣向を変えてAI関連の話をしようと思います。
はじめに
弊社では社内のTeamsとAzure OpenAIを使って社内環境でChatGPTを利用できるようにしています。
利用時に出てきたリクエストとして、「SharePointのデータを検索してほしい」というものがありました。そこでAzure OpenAI+Azure Cognitive Searchを使ってSharePointのデータを検索する方法を調査しました。
Azure Cognitive Searchとは
「Azure Cognitive Search」とは、コンピューターの中で、膨大なデータから必要な情報を探し出したり、自然言語での検索を可能にするサービスのことです。たとえば、大学の図書館のシステムで本を探すときや、ショッピングサイトで商品を検索するときに役立ちます。Azure Cognitive Searchは、検索に必要な情報の検証や解析、インデックス作成などを自動化するため、簡単かつ迅速にデータを検索することができます。また、検索されたデータを使って、ビジネスの分析や意思決定にも役立ちます。
Azure Cognitive Search作成時の注意点
Azure Cognitive Searchは非常に高額なSaaSとなっています。
ご利用は計画的に。
Azure Cognitive SearchのデータソースにSharePointを追加する
注意事項
2023年6月14日時点ではAzure Cognitive SearchのデータソースにSharePointを追加する方法はプレビュー扱いとなっています。今後正式リリースされた場合には、本手順はおそらく不要になります。
参考URL
作業手順
エンタープライズアプリケーションを作成
SharePointにアクセスするためにGraph APIを利用します。エンタープライズアプリケーションにてGraph APIのアクセス許可を行います。
アプリケーション登録の画面にて以下の設定が必要となります。
・シングルテナントを選択すること
・リダイレクトURIは設定不要
エンタープライズアプリケーションのアクセス許可
Files.Read.AllとSites.Read.Allのアクセス許可を追加します。
認証設定1
[認証] タブをクリックします。[パブリック クライアント フローを許可する]を [はい] に設定してから、[保存] を選択します。
認証設定2
[+ プラットフォームを追加] 、 [モバイル アプリケーションとデスクトップ アプリケーション] の順に選択し、https://login.microsoftonline.com/common/oauth2/nativeclient のチェック ボックスをオンにします。
クライアントシークレット設定
作成したアプリを外部から使用する際の認証のためにクライアントシークレットを設定します。
データソースの作成
Azure Cognitive SearchのデータソースとしてSharePointを設定します。Azureポータルからの追加はできないため、APIをキックしてデータソースを作成します。詳細は以下のURLに記載されています。Chromeの拡張機能を利用してAPIをキックしました。
インデックスの作成
インデックスの作成についてもAPIをキックして作成を行います。
インデクサーの作成
インデクサー作成については2回APIをキックする必要があります。
1回目については必ずエラーとなり、エラー文の中にコードが含まれています(下記赤枠部分)。2回目のAPI実行時に1回目のコードを入力することでインデクサーの作成ができます。
さいごに
Azure Cognitive SearchのデータソースにSharePointを追加する方法を紹介させていただきました。参考になれば幸いです。今後AI関連についての技術は飛躍的に向上すると考えているので、時代においていかれないよう日々精進していきます。