1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure AI Search Knowledge base (Foundry IQ) で SharePoint の根拠リンクをユーザーが開けるようにするワークアラウンド

1
Posted at

はじめに

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_urldrive... で始まる Microsoft Graph API 用の URL が格納されます。この URL はユーザーがブラウザーで開く SharePoint アイテムの URL ではありません。

image.png

この記事では、インデクサーのフィールド マッピングで SharePoint アイテムを開く metadata_spo_item_weburidoc_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 の構成は次のとおりです。

image.png

手順

1. インデクサーのフィールド マッピング

そこで、インデクサーのフィールド マッピングを編集し、入力フィールド metadata_spo_item_weburi を出力フィールド doc_url にマッピングします。これにより doc_url にはユーザーが SharePoint で開ける URL が格納されます。

  1. Azure portal で Azure AI Search サービスを開き、[検索の管理] > [インデクサー] から、SharePoint Knowledge Source が生成したインデクサーを選択します。

  2. [JSON エディター] を開き、fieldMappingsmetadata_spo_item_weburi から doc_url へのマッピングを追加します。

    変更前:

    image.png

    変更後:

    image.png
    既存の fieldMappings がある場合は削除せず、このマッピングを配列に追加してください。

  3. 保存後、インデクサーをリセットして再実行します。

2. セマンティック構成

Azure portal で [検索の管理] > [インデックス] > [セマンティック構成] を開き、SharePoint Knowledge Source が使用するセマンティック構成を編集します。[コンテンツ フィールド]doc_url を追加して保存してください。既存のコンテンツ フィールドは削除せず、追加します。

doc_url をコンテンツに追加することで、SharePoint のアイテム URL を回答生成モデルに渡せます。

実際のインデックスでは、コンテンツ本文のフィールド名が異なる場合があります。生成済みインデックスのスキーマを確認し、既存のコンテンツ フィールドを残したまま doc_url を追加します。

image.png

3. ナレッジベースのプロンプト

Knowledge Base の answerInstructions に、doc_url を持つ根拠を Markdown リンクとして表示する指示を追加します。

根拠を提示するときは、コンテンツ内の doc_url が存在する場合にその URL を使用してください。
URL を変更・推測せず、ユーザーが開ける Markdown リンクとして表示してください。

image.png

4. 回答の確認

  1. Copilot Studio でナレッジを追加するを参照して、作成した Knowledge Base を対象のエージェントに追加します。

  2. Copilot Studio で対象のエージェントを開き、テスト チャットから SharePoint に取り込んだ情報に関する質問を実行します。

  3. 回答内に SharePoint アイテムへの Markdown リンクが表示されることを確認します。

  4. 対象ユーザーのアカウントでリンクを開き、元の SharePoint アイテムを表示できることを確認します。

    image.png

    SharePoint でファイル プレビューが開かれます。

    image.png

補足・注意点

  • REST API や SDK を直接利用できる場合は、インデックス済み SharePoint Knowledge Source を Knowledge Base に割り当てる手順に従って includeReferences (source references) を true にし、references をアプリケーション側で表示する構成を優先できます。
  • Copilot Studio では includeReferences を指定できないため、本記事の方法はその制約に対するワークアラウンドです。
  • metadata_spo_item_weburidoc_url は、生成済みインデクサーおよびインデックスに存在するフィールド名を確認してから指定してください。
  • 回答にリンクが表示されても、SharePoint の閲覧権限は別途評価されます。

参照:

以上、参考になれば幸いです。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?