はじめに
Azure AI Search の Knowledge Base (Foundry IQ) は、インデックス済み SharePoint を根拠に回答を生成できます。回答内の標準 citation は [ref_id:<番号>] 形式で、元の SharePoint アイテムを開くリンクではありません。
REST API や SDK から retrieve を呼び出す場合は、インデックス済み SharePoint Knowledge Source を Knowledge Base に割り当てる手順で案内されているように、includeReferences (source references) を true にして、references を応答へ含めます。
しかし Copilot Studio から Knowledge Base を利用する場合、このパラメーターを明示的に指定できません。
さらにナレッジソースのウィザードで作成したインデクサーでは、既定の doc_url に drive... で始まる Microsoft Graph API 用の URL が格納されます。この URL はユーザーがブラウザーで開く SharePoint アイテムの URL ではありません。
この記事では、インデクサーのフィールド マッピングで SharePoint アイテムを開く metadata_spo_item_weburi を doc_url に格納し、回答生成モデルへ渡してユーザーが開ける SharePoint 用のリンクを回答させるワークアラウンドを紹介します。
本記事は、回答生成 (answer synthesis) を有効にした Knowledge Base を対象にしています。answer synthesis はプレビュー機能を含むため、利用する API バージョンと仕様変更に注意してください。
前提: SharePoint Knowledge Source の作成
Microsoft Foundry ポータルまたは Azure portal で Knowledge Base に SharePoint を追加し、インデックス済み SharePoint Knowledge Source を作成します。作成された Knowledge Source が取り込んだ SharePoint アイテムを根拠として、以降の回答生成が実行されます。
作成手順と前提条件は、インデックス済み SharePoint Knowledge Source を作成するを参照してください。
今回利用した Knowledge Source の構成は次のとおりです。
手順
1. インデクサーのフィールド マッピング
そこで、インデクサーのフィールド マッピングを編集し、入力フィールド metadata_spo_item_weburi を出力フィールド doc_url にマッピングします。これにより doc_url にはユーザーが SharePoint で開ける URL が格納されます。
-
Azure portal で Azure AI Search サービスを開き、[検索の管理] > [インデクサー] から、SharePoint Knowledge Source が生成したインデクサーを選択します。
-
[JSON エディター] を開き、
fieldMappingsにmetadata_spo_item_weburiからdoc_urlへのマッピングを追加します。変更前:
変更後:
-
保存後、インデクサーをリセットして再実行します。
2. セマンティック構成
Azure portal で [検索の管理] > [インデックス] > [セマンティック構成] を開き、SharePoint Knowledge Source が使用するセマンティック構成を編集します。[コンテンツ フィールド] に doc_url を追加して保存してください。既存のコンテンツ フィールドは削除せず、追加します。
doc_url をコンテンツに追加することで、SharePoint のアイテム URL を回答生成モデルに渡せます。
実際のインデックスでは、コンテンツ本文のフィールド名が異なる場合があります。生成済みインデックスのスキーマを確認し、既存のコンテンツ フィールドを残したまま doc_url を追加します。
3. ナレッジベースのプロンプト
Knowledge Base の answerInstructions に、doc_url を持つ根拠を Markdown リンクとして表示する指示を追加します。
根拠を提示するときは、コンテンツ内の doc_url が存在する場合にその URL を使用してください。
URL を変更・推測せず、ユーザーが開ける Markdown リンクとして表示してください。
4. 回答の確認
-
Copilot Studio でナレッジを追加するを参照して、作成した Knowledge Base を対象のエージェントに追加します。
-
Copilot Studio で対象のエージェントを開き、テスト チャットから SharePoint に取り込んだ情報に関する質問を実行します。
-
回答内に SharePoint アイテムへの Markdown リンクが表示されることを確認します。
-
対象ユーザーのアカウントでリンクを開き、元の SharePoint アイテムを表示できることを確認します。
SharePoint でファイル プレビューが開かれます。
補足・注意点
- REST API や SDK を直接利用できる場合は、インデックス済み SharePoint Knowledge Source を Knowledge Base に割り当てる手順に従って
includeReferences(source references) をtrueにし、references をアプリケーション側で表示する構成を優先できます。 - Copilot Studio では
includeReferencesを指定できないため、本記事の方法はその制約に対するワークアラウンドです。 -
metadata_spo_item_weburiとdoc_urlは、生成済みインデクサーおよびインデックスに存在するフィールド名を確認してから指定してください。 - 回答にリンクが表示されても、SharePoint の閲覧権限は別途評価されます。
参照:
- Foundry IQ とは
- Knowledge Base をクエリする
- 回答生成を使用する
- インデックス済み SharePoint Knowledge Source を作成する
- インデックス済み SharePoint Knowledge Source を Knowledge Base に割り当てる
以上、参考になれば幸いです。







