ナレッジ ソースSharePoint結果が返されないCopilot Studio

まとめ

この記事は、SharePointナレッジ ソースがMicrosoft Copilot Studioで結果を返さない問題のトラブルシューティングと解決に役立ちます。 SharePoint データ ソースを構成すると、エージェントが応答を提供できなくなる要因がいくつかあります。 これらの要因には、検索結果の不足、ユーザーのアクセス許可、保護されたコンテンツ、アプリの登録の問題、ファイル サイズの制限、フィルター条件、コンテンツ モデレーション のフィルター処理などがあります。 このような場合、エージェントは "私はそれに役立つ方法がわからない" のようなメッセージを返す可能性があります。言い換えをお試しいただけますか?

Copilot Studioでは、SharePointをナレッジ ソースとして構成する 2 つの方法を提供します。この記事では、両方の方法について説明します。

  • エージェント レベルのナレッジ ソース。 エージェントの [概要]、[ナレッジ]、または [プロパティ] ページの [ナレッジ追加] ダイアログから追加します。 このパスでは、SharePoint サイト (URL) とSharePoint リスト、秘密度ラベルのトリミング、フィルター条件がサポートされます。 詳細については、「ナレッジ ソースとしてSharePointを追加する」を参照してください。
  • トピック レベルのナレッジ ソース。 トピックの 生成応答の作成 ノード内に追加します。 このパスは、ノードとSharePoint URL のペアになります。 詳細については、「生成応答にSharePointコンテンツを使用する」を参照してください。

Note

続行する前に、エージェントが使用する構成パスのセットアップ手順に従っていることを確認します。エージェント レベルのパスのナレッジ ソースとしてSharePointを追加するか、トピック レベルの生成応答ノードの生成応答にSharePointコンテンツを使用します。

検索結果を改善するには、エージェントと同じテナント内でMicrosoft 365 Copilot ライセンスを使用します。

検索結果がSharePointに表示されない

Copilot Studio SharePoint検索では、上位 3 つの検索結果のみを使用して、応答を集計して生成します。 検索結果が返されない場合、エージェントは応答を提供しません。 Copilot Studio Microsoft Searchインデックス作成に依存し、応答の生成に使用されるページ レイアウト、コンポーネント、およびファイル形式に特定の制約を適用します。

不足しているSharePoint検索結果を修正する

  1. SharePointナレッジ ソース (エージェント レベルのソースまたは生成応答ノードの作成) が、関連するコンテンツを含むSharePointの場所を指していることを確認します。

  2. 回答の生成には、サポートされている形式のドキュメントのみが使用されます。

  3. エージェントが使用するSharePoint ページが次の制約を満たしていることを確認します。

    • 最新のページ:モダン SharePoint ページのみがサポートされています。 SharePoint Framework (SPFx) コンポーネントを含むモダン ページはサポートされていません。
    • クラシック ページ:SharePointのクラシック .aspx ページのコンテンツは、回答の生成には使用されません。
    • 技術的な境界の完全な一覧については、web アプリの制限SharePoint参照してください。
  4. ドキュメントが最近SharePointにアップロードされ、まだインデックスが作成されていない可能性があります。 また、一部の設定で一部のサイトが検索結果に表示されない場合もあります。 詳細については、SharePoint オンラインで検索結果が見つからない を参照してください。

    確認方法

    • SharePoint ポータルの検索バーで、ターゲット ドキュメントの一意のキーワードを入力し、検索結果にファイルが表示されることを確認します。 ファイルが表示されない場合、インデックス作成は不完全です。

    修正方法

    • 自動インデックス作成サイクルが完了するまで待ちます。
    • 緊急更新の場合、サイト管理者SharePoint手動でインデックス再作成をトリガーできます。 SharePoint設定で、[サイト情報]>[すべてのサイト設定の表示]>、[検索とオフラインの可用性>インデックス サイト] の順に移動します。 詳細については、「サイト、 ライブラリ、またはリストのクロールとインデックス再作成を手動で要求する」を参照してください。

SharePointのユーザーアクセス許可がありません

Copilot StudioはトリミングMicrosoft 365 セキュリティ考慮します。 少なくとも、ユーザーは関連するサイトとファイルに対する読み取りアクセス許可を持っているか、検索結果が返されない必要があります。

ユーザーにアクセス許可がない場合、システムは結果もエラーや例外も返しません。 権限のないユーザーの場合、ドキュメントが見つからなかったかのように見えます。

Note

ユーザーにアクセス許可がない場合、システムはエラーや例外をスローしません。 代わりに、ドキュメントが存在しないかのようにサイレントモードで動作します。 フォルダー レベルの継承構造のみに依存してアクセス権を付与しないでください。

ユーザーのアクセス許可SharePoint確認する

  1. 影響を受けるユーザーに、正確なSharePointドキュメント パスに直接移動して、ファイルを開くことができることを確認します。
  2. Microsoft 365 Copilot Chatで同じユーザー アカウントを使用してクエリをテストします。 Microsoft 365 Copilot Chat応答を取得できない場合は、アクセス許可または検索インデックス作成バリアを確認します。

不足している SharePoint ユーザーのアクセス許可を修正する

ユーザーが関連するサイトやファイルにアクセスできるように権限を変更します。 詳細については、 SharePoint モダン エクスペリエンスにおける共有と権限 を参照してください。

コンテンツは秘密度ラベル、DKE、またはパスワードによって保護されます

エージェント レベルのSharePointナレッジ ソースでは、アクセス許可トリミングの秘密度ラベルが考慮され、サインインしているユーザーのラベルが許可されているコンテンツのみが表示されます。 しかし、エージェントはファイルを暗号化する保護対象のコンテンツから抽出や接地を行うことはできません。 この制限には、暗号化を適用する感度ラベル、二重鍵暗号化(DKE)、パスワード保護ファイルが含まれます。

このようなドキュメントは、ナレッジ ソースの一覧に [準備完了] と表示され、SharePointのユーザーが開く可能性がありますが、エージェントが内容について尋ねられると、"応答なし" を返します。

保護されたSharePointコンテンツを確認する

  1. SharePointまたはそのデスクトップ アプリでファイルを直接開き、パスワードの入力を求めるメッセージ、DKE 保護を示す、または暗号化秘密度ラベルが表示されているかどうかを確認します。
  2. 同じソース内の保護されていないファイルにのみ表示されることがわかっているコンテンツについて質問します。 保護されたファイルをスコープとするクエリが応答を返さないときにこれらのクエリが成功した場合、保護が原因です。

保護されたSharePointコンテンツを修正する

  • 組織のポリシーで許可されている場合は、暗号化秘密度ラベル、DKE 保護、またはパスワードをファイルから削除します。
  • エージェントがアクセスできるSharePointの場所に、必要なコンテンツの保護されていないコピーを発行します。
  • ナレッジ ソースを、暗号化されたコンテンツが含まれていないSharePointの場所にポイントします。

エージェント レベルのナレッジ ソースが使用するSharePoint サイトまたはフォルダーの名前を変更すると、既存のソース リンクが破損し、アクセス許可のギャップが発生する可能性があります。 この場合、エージェントはナレッジ ベースにアクセスできず、応答が返されない可能性があります。

  1. SharePoint 管理者に、名前が変更された場所に対する適切なアクセス許可を付与し、新しいソース リンクを生成するように依頼します。
  2. エージェントを開き、SharePointナレッジ ソースを新しく生成されたリンクで更新します。

アプリの登録またはエージェントが、SharePoint用に正しく構成されていません

管理者は、SharePointナレッジ ソースを構成するときに、Microsoft Entra ID アプリの登録を使用して認証を設定し、追加のスコープを構成する必要があります。 少なくとも、アプリの登録では、 Sites.Read.All スコープと Files.Read.All スコープを指定し、それらのスコープを profileopenidと共にエージェントの認証設定に追加する必要があります。 アプリの登録またはエージェントの認証設定にスコープがない場合、または必要なスコープに同意が付与されていない場合、エージェントは結果もエラーや例外も返しません。 ユーザーにとっては、ドキュメントが見つからなかったかのように表示されます。

Important

テナントの制限付きSharePoint検索が有効になっている場合、アプリの登録やエージェントの構成に関係なく、ナレッジ ソースとしてのSharePointの使用はブロックされ、結果は返されません。 制限付きSharePoint検索が有効になっていないことをSharePoint 管理者に確認するか、関連するサイトを許可リストに追加します。

SharePoint ソースからの生成的な回答は、SSO 対応アプリのゲスト ユーザーにも利用できません。

正しく構成されていないアプリの登録またはエージェント認証を修正する

アプリの登録とエージェントの認証設定に必要なスコープを追加し、同意を付与します。

次の例は、適切に構成されたアプリ登録への参照です。

委任された Files.Read.All および Sites.Read.All アクセス許可が付与されたアプリ登録の [構成済みのアクセス許可] ページのスクリーンショット。

次の例は、Copilot Studio で必要な認証設定を示しています。

[認証のCopilot Studio] ウィンドウのスクリーンショット。手動で認証が選択され、必要なスコープが入力されています。

SharePoint生成応答のファイル サイズの制限

SharePoint ソースの場合、エージェントと同じテナントに Microsoft 365 Copilot ライセンスがない場合、生成型の回答は最大 7 MB までのファイルしか処理できません。 セマンティック検索設定を使用して 、テナント グラフのグラウンドを オフにする必要もあります。

エージェントと同じテナントに Microsoft 365 Copilot ライセンスがある場合、最大ファイル サイズは 200 MB です。 セマンティック検索設定を使用して、 テナント グラフの基礎を 有効にする必要もあります。

SharePoint に大きなファイルを保存した場合、Microsoft Graph 検索で結果が返されますが、⽣成型の回答では処理されません。 別の方法として、最大 512 MB までのファイルをアップロードすることもできます。

制限とサポートされている SharePoint 機能の一覧については、「 SharePoint Web アプリの制限」を参照してください。

SharePoint生成応答のファイル サイズの問題を修正する

会話 AI エクスペリエンスに関連するファイルがサイズの制限を超過する場合は、Microsoft 365 Semantic Indexing を使用したり、生成型の回答のためにデータをAzure OpenAI に接続する など、別のアーキテクチャを検討することをお勧めします。

ソースSharePoint list結果が返されない

SharePoint リストを使用するエージェント レベルのナレッジ ソースの場合、リスト固有のいくつかの要因により、リストに関連するデータが含まれている場合でも、エージェントは応答を返さない可能性があります。

  • データバース検索が必要です。 Copilot Studioエージェントでは、SharePoint listをナレッジ ソースとして使用するために Dataverse 検索が必要です。 環境内で Dataverse 検索が無効になっている場合、一覧を照会することはできなくなり、結果は返されません。 Dataverse 検索を有効にする方法の詳細については、「環境の Dataverse 検索を構成する」を参照してください。
  • リスト サイズは品質と待機時間に影響します。 35,000 行を超える行を含むリストでは、結果の品質が低下し、待機時間が長くなり、それ以外の場合は有効なクエリに対する応答がない可能性があります。
  • 1 つのエージェントのリストが多すぎます。 一度に最大 10 個のリストを選択でき、最適な結果を得るには、エージェントごとに 10 個以下のリストを使用します。 リストを追加すると、関連するコンテンツが表示されない可能性が高くなります。
  • リストは最近使ったリストには表示されません。 共有アクセス権を持つSharePoint listがブラウザーの [マイ リスト] または [最近使ったリスト] に表示されない場合は、SharePointでリストを 1 回開いて [最近使ったリスト] に表示するか、ソースを追加するときにリストの URL を直接 URL 選択に貼り付けます。

SharePoint listソースの問題を修正する

  1. エージェントが実行されている環境で Dataverse 検索を有効にするように管理者に依頼します。
  2. リスト内の行数を減らすか、大きなリストを小さいフォーカスリストに分割します。
  3. エージェントに関連付けられているリストの数を 10 個以下に減らし、エージェントがサポートするトピックに関連するリストのみを保持します。
  4. 最近使ったリストに自動的に表示されない場合は、URL を貼り付けることで リストを再追加します。

フィルター条件は、想定されるコンテンツを除外します

どちらの構成パスでも、エージェントが使用できるSharePointコンテンツを絞り込むことができます。 これらのフィルターが制限が厳しすぎる場合や正しく構成されていない場合、一致するコンテンツが存在する場合でも、エージェントは応答を返しません。

  • エージェント レベルのソース、詳細設定フィルター。 エージェント レベルのSharePointナレッジ ソースでは、タイトル作成者変更者、または変更日に基づくフィルターによって、ユーザーが求めているコンテンツを除外できます。 カスタム変数、システム変数、または環境変数にバインドされたフィルターは、実行時に意図しない値に解決される可能性があります。
  • トピック レベルの生成応答ノード。選択したソースのみを検索します。 [生成応答の作成] ノードで[選択したソースのみを検索]がオンになっている場合は、そのノードで選択されているソースのみが使用されます。 予想されるSharePointソースが選択されていない場合、エージェントは他のナレッジ ソースにフォールバックするのではなく、応答を返しません。

フィルター条件を確認する

  1. [ナレッジ] ページで、SharePointソースを選択し、編集>Advanced 設定を選択して、アクティブなフィルター条件と解決先の値を確認します。
  2. 生成 応答の作成 ノードをホストするトピックで、ノードの プロパティ>Data ソース を開き、[ 選択したソースのみを検索 ] 設定と選択した特定のソースの両方を確認します。

フィルター条件を修正する

  • 予想されるコンテンツを除外するフィルター条件を緩和または削除します。
  • フィルターで変数が使用されている場合は、会話にデバッグ ステップを追加して、変数が実行時に予想される値に解決されたことを確認します。
  • トピック レベルのノードで、予想されるSharePointソースを選択したソースに追加するか、[選択したソースのみを検索] をオフにして、エージェント レベルのナレッジ ソースもクエリされるようにします。

Copilot Studioのコンテンツ モデレーションによってブロックされるコンテンツ

応答を生成すると、Copilot Studio エージェントは 、損害カテゴリに該当するコンテンツをモデレートします。 コンテンツがモデレートされると、生成的な回答では、コンテンツがモデレートされたことを示す応答や表示は提供されません。 ただし、Azure Applications Insights に遠隔測定データを送信するようにエージェントが構成されている場合、モデレート イベントはログに記録されます。

エージェント を Azure アプリ Insights に接続した後、次の Kusto 照会言語 (KQL) クエリを使用して、コンテンツがフィルター処理されたかどうかを確認できます。

customEvents
| extend cd = todynamic(customDimensions)
| extend conversationId = tostring(cd.conversationId)
| extend topic = tostring(cd.TopicName)
| extend message = tostring(cd.Message)
| extend result = tostring(cd.Result)
| extend SerializedData = tostring(cd.SerializedData)
| extend Summary = tostring(cd.Summary)
| extend feedback = tostring(todynamic(replace_string(SerializedData,"$","")).value)
| where name == "GenerativeAnswers" and result contains "Filtered"
| where cloud_RoleInstance == "myCopilot"
| project cloud_RoleInstance, name, timestamp, conversationId, topic, message, result, feedback, Summary
| order by timestamp desc

次の例では、KQL クエリは、コンテンツ モデレーションによってフィルターされた生成的な回答を使用する試みを強調表示しています。

コンテンツ モデレーションでフィルター処理された結果を含む生成応答イベントを示す Application Insights クエリ結果のスクリーンショット。

コンテンツモデレーションによる生成回答のブロックを修正