8
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Azure Cognitive Search(Azure AI Search)で SharePoint ドキュメントのインデックスを作成する

Last updated at Posted at 2023-11-11

更新事項

2023/11/17
Azure Cognitive Search の名前を Azure AI Search に変更しました。

はじめに

Teams から SharePoint 内のドキュメントを参照して ChatGPT に質問回答させる検証を行いました。これを実現するためにはまず Azure Cognitive Search(Azure AI Search)で SharePoint をデータソースとしたインデックスを作成する必要がありますので、今回はその手順を説明します。

image.png

基本的には以下の Microsoft の公式ドキュメント通り行えばできますので、簡単な操作は説明を省略したいと思います。(2023/11/11 時点ではパブリックプレビューです)
SharePoint ドキュメント ライブラリにあるデータのインデックスを作成する

インデックス作成方法

上記ドキュメントの手順まとめると、
① Azure Cognitive Search(Azure AI Search)のシステム割り当てマネージド ID を有効にする
今回は Azure Cognitive Search(Azure AI Search)は Free プランでも可能です。

image.png

② Microsoft Entra アプリケーションを作成する
Azure Cognitive Search(Azure AI Search)から SharePoint へ接続するためには Graph API を介する必要があるので、そのためのアプリを登録します。

③ 作成したアプリケーションの各種設定をする
アクセス許可設定、認証設定、シークレット設定を行います。
こちらも特記事項はないので、公式ドキュメント通り行えばよいかと思います。

④ ドキュメントを SharePoint のドキュメントライブラリに保存する
参照させたいドキュメントを作り、そこに必要なドキュメントを保存します。

image.png

⑤ Azure Cognitive Search(Azure AI Search) でデータソースを作成する
以下の API を実行します。URI のみ記します。

POST https://{Azure Cognitive Search のリソース名}.search.windows.net/datasources?api-version=2023-07-01-Preview

⑥ Azure Cognitive Search(Azure AI Search) でインデックスを作成する
以下の API を実行します。URI のみ記します。

POST https://{Azure Cognitive Search のリソース名}.search.windows.net/indexes?api-version=2023-07-01-Preview

⑦ Azure Cognitive Search(Azure AI Search) でインデックサーを作成し、実行する
以下の API を実行します。URI のみ記します。

POST https://{Azure Cognitive Search のリソース名}.search.windows.net/indexers?api-version=2023-07-01-Preview

公式ドキュメントにも書かれているのですが、はじめにこの API を実行したあと、認証をするための別の API も叩く必要があるので、そちらも記載しておきます。

GET https://{Azure Cognitive Search のリソース名}.search.windows.net/indexers/sharepoint-indexer/status?api-version=2023-07-01-Preview

※ ここまで行えば無事インデックス作成できると思いますが、自分が行った際は挙動がおかしく、何度かデータソースから作成し直したりしました。

※ 新たにデータソースにドキュメントを追加した場合は、インデックサーを再実行することでインデックスを更新することができます。以下にその API を記します。(公式にも記載あります)

POST https://{Azure Cognitive Search のリソース名}.search.windows.net/indexers/sharepoint-indexer/run?api-version=2023-07-01-Preview

実際に確認してみる

Azure Cognitive Search(Azure AI Search) のインデックスメニューから確認できます。

image.png

検索エクスプローラーで特に何も設定せず「検索」をすると、以下のように作成したインデックスが表示されます。

image.png

おわりに

今回 SharePoint のインデックスを作成したことで、Azure Cognitive Search(Azure AI Search) から SharePoint 内のドキュメントを参照することができました。これによって、Azure Cognitive Search(Azure AI Search)のライブラリを使用し、OpenAI と組み合わせて RAG(Retrieval Augmented Generation)機能などを実装できます。

Azure Cognitive Search(Azure AI Search)と Azure OpenAI を組み合わせた実装は以下記事で行っています。こちらは Blob ストレージをデータソースとしたインデックスを使用していますが、今回の SharePoint のインデックスに置き換えることも可能です。
Azure Cognitive Search(Azure AI Search)× Semantic Kernel でドキュメントの内容を要約する

8
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?