Copilot Studioでエージェントを作成する際、エージェントが参照可能なナレッジとして、2つの方法でSharePointを指定することができます。
本記事では、SharePointをナレッジとして指定する2つの方法を比較します。
SharePointをナレッジとする2つの方法
2つの方法の比較
Copilot Studioのナレッジを追加する画面では、以下の2つの方法でSharePointをナレッジとして登録することができます。
2つの方法の比較は以下の通りです。
| 項目 | 1. SharePoint | 2. 非構造化データ |
|---|---|---|
| ナレッジソースの指定方法 | SharePointサイトやリストのURLを指定する | SharePointのファイルやフォルダのURLを指定する |
| 検索可能なSharePointコンテンツ | ページ/ファイル/リスト | ファイル |
| 検索に対応するファイル形式 | Word/PowerPoint/PDF | Word/Excel/PowerPoint/PDF |
| 検索可能な最大ファイルサイズ | 7MB (拡張検索結果の機能がオンの場合は200MB *4 | 32MB |
| ファイルとフォルダ数の制限 | 特に明記なし | ソースごとに200ファイル、50フォルダ、10のサブフォルダレイヤー |
| データの更新頻度 | 即時 | 4~6時間 |
| ユーザーのクエリに対する検索 | 指定されたSharePoint内のコンテンツを検索 | Azure AI Searchに作成されたベクトルインデックスを検索 |
非構造化データのインデックス作成
Microsoftのドキュメントによると、SharePointに配置された非構造化データは、以下の処理を経てAzure AI Searchにインデックスが作成されます。
- ファイルをDataverseにダウンロード
- ファイルのインデックス化
- テキストと画像の抽出
- 抽出したテキストのページング
- テキストのチャンク化とインデックス作成
- 埋め込みの作成

また、インデックス作成処理はスケジュールされたジョブで自動実行されるため、SharePoint上のファイルを更新した後、インデックスの更新を手動で行う必要はありません。
インデックス作成に関する注意点としては、以下が挙げられます。
- SharePointに配置されたファイルはDataverseにダウンロードされるため、Dataverseの容量を消費します。大量のファイルがSharePointに配置されているようなシナリオでは、Dataverseの容量にも注意が必要です。
- データ更新は4~6時間の頻度で行われるため、SharePoint上のファイル更新を即時反映することは出来ません。
検索結果の比較
それでは、実際に2つの方法の検索結果を比較してみます。
検索対象とするファイル
今回は、検索対象として以下のPDFファイルを用意しました。テキストベースの情報と、画像でフローチャートが貼り付けてあります。テキストの内容と、画像の内容に対する2パターンの質問で比較します。

ナレッジソースの追加
ナレッジソースとしてSharePointを追加する方法
エージェントの[概要] - [ナレッジの追加]から赤枠のSharePointをクリックします。

[項目の参照]をクリックします。

検索対象のファイルが配置されたフォルダを選択します。

[エージェントに追加する]をクリックします。

ナレッジが準備完了となっていることを確認します。

ナレッジソースとして非構造化データを追加する方法
エージェントの[概要] - [ナレッジの追加]から赤枠のSharePointをクリックします。

[項目の参照]をクリックします。

検索対象のファイルが配置されたフォルダを選択します。

[エージェントに追加する]をクリックします。

ナレッジが準備完了となっていることを確認します。

検索結果の比較
ナレッジソースとしてSharePointを追加する方法
テキストの内容に対する質問
元データの内容をまとめて回答してくれました。回答としては問題ないと思います。

画像の内容に対する質問
画像の内容について質問してみましたが、こちらの回答は難しいようです。

ナレッジソースとして非構造化データを追加する方法
テキストの内容に対する質問
SharePointのパターンとほとんど同じ内容を回答してくれました。テキストベースだと大きな差は出ないかも知れません。

画像の内容に対する質問
画像のフローチャート内の文字列を上から箇条書きで回答してくれました。公式ドキュメントでは明記されていませんが、Azure AI Searchのインデックスを作成する際、抽出した画像に対するOCR処理が実装されているのではと想像しています。

まとめ
今回は、Copilot StudioのナレッジとしてSharePointを指定する2つの方法を比較しました。
非構造化データを追加する方法では、裏側でAzure AI Searchが実装されているということもあり、より高い検索精度を期待することが出来そうです。SharePointのデータを検索したいシナリオは非常に多いかと思いますので、ぜひ試してみて下さい。
*1:https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/knowledge-add-sharepoint
*2:https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/knowledge-unstructured-data
*3:以前はローカルからファイルを直接アップロードする方法のみをサポートしていましたが、SharePointやOneDriveも指定可能となりました。
*4:https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/knowledge-copilot-studio#tenant-graph-grounding
