Microsoft 365のコンテンツをAIクエリのコンテキストとして活用する「Copilot Retrieval API」が、Microsoft Graph PowerShell SDKから利用できるようになっている。このAPIはRAG(Retrieval Augmented Generation)の仕組みでSharePoint OnlineやOneDrive for Businessを検索し、生成AI処理前のグラウンディングを担う。単なる検索ではなく、アプリケーションがどのようにCopilotと連携しているかを理解する上でも重要なAPIだ。
Copilot Retrieval APIとは何か
Microsoft Graph上に公開されているCopilot Retrieval APIは、アプリケーションがユーザーのプロンプトを送信する前に、M365上の関連情報を取得してコンテキストを補完するための仕組みだ。このプロセスが「グラウンディング」と呼ばれる。
よく似た名前のCopilot Search APIも存在するが、両者には明確な違いがある。
API 検索方式 用途
Copilot Search API セマンティック検索 キーワード・意味的類似性
Copilot Retrieval API RAG検索 AIプロンプトのグラウンディング
WordやExcel、PowerPointにCopilotが統合されている際に裏側で行っている処理がまさにこのRetrieval APIを通じた情報取得だ。APIを触ることで、Copilotの統合がどのように機能しているかを実感できる。
利用条件と認証の仕組み
利用にはM365 Copilotライセンスが必要だが、従量課金(Pay-as-you-go)モデルでも利用可能だ。重要なのは、このAPIが委任アクセス許可(Delegated Permissions)のみをサポートしている点で、アプリケーション権限(App-only)では動作しない。
必要なスコープは以下の通り:
Files.Read.All— OneDrive for BusinessのファイルアクセスSites.Read.All— SharePoint OnlineのサイトアクセスExternalItem.Read.All— Copilotコネクタ経由の外部データ(オプション)
サインインしているユーザーの権限範囲でのみ検索できる設計は、情報漏洩リスクを最小化するという観点で適切な設計だ。
PowerShellでの実装
Graph PowerShell SDK v2.35.1を使った基本的な実装は以下の通りだ。
出典: この記事は Running Copilot Retrieval Searches with the Microsoft Graph PowerShell SDK の内容をもとに、筆者の見解を加えて独自に執筆したものです。