今回は、前回投稿した記事から派生した内容として、生成型回答のデータソースをSharePointにして動作確認をしてみたいと思います。
事前準備
データソースの登録
事前に、データソースとなるSharePointのドキュメントライブラリに、適当なドキュメントをアップロードします。
私は以下のPDFファイルをアップロードしました。
- Micsofot LearnのCopilopt Studio の日本語サイトをPDF化したファイル
- Micsofot LearnのCopilopt Studio の英語サイトをPDF化したファイル
- IPA(独立行政法人 情報処理推進機構)が提供している「脆弱性対処に向けた製品開発者向けガイド」のPDFファイル
恐らく、SharePoint上でクロールが完了しないと、生成型回答の対象にならないと思います。
Azure Active Directory(AAD)アプリの登録
データソースにSharePointを指定する場合、SharePointに対して、アクセスするための認証用の設定として、事前にAADアプリの登録が必要となります。
詳細な手順は下記の通りです。
1.Azureポータルに管理者権限を持つアカウントでサインインする。
2.Micsofot Entra IDを選択し、アプリの登録を選択する。
3.新規作成を押下し、下記の通りに設定し、登録ボタンを押下する。
- 名前:<任意の名前>
- サポートされているアカウントの種類:<この組織ディレクトリのみに含まれるアカウント>
- リダイレクトURI:https://token.botframework.com/.auth/web/redirect
※リダイレクトURLは環境により変わる可能性があります。後述しますが、Copilopt のセキュリティから確認することが可能です。
4.AADアプリが作成できたら、アプリケーションIDをコピーしておきます。
5.左サイドメニューの認証を選択し、アクセストークンとIDトークンにチェックをつけて、保存ボタンを押下します。
6.左サイドメニューの証明書とシークレットを選択し、新しいクライアントシークレットを作成します。クライアントシークレットの値はコピーしておきます。
7.左サイドメニューのAPIのアクセス許可を選択し、以下の通りにアクセス許可を追加します。
- API:Micsofot Graph
- アクセス許可の種類:委任されたアクセス許可
- アクセス許可:openid, profile, Files.Read.All, Sites.Read.All
8.「管理者の同意を与えます」を押下し、追加したアクセス許可に管理者の同意を付与します。
Copilopt の作成
以下の手順でCopilopt を作成します。
1.Copilopt を下記の設定で作成します。
- 名前:<任意の名前>
- 言語:英語
- Webサイト:<SharePointサイトのURL>
※SharePointの場合、「https://」は省略可能
2.作成されたCopilopt のトピックの「Conversational boosting」を確認し、「生成型の回答を作成する」アクションのデータソースのSharePointに、先ほど入力したWebサイトが表示されることを確認します。
3.左サイドメニューの設定からセキュリティを選択し、認証を押下します。
4.下記の設定を行い、保存ボタンを押下します。
- オプションの選択:手動(カスタムWebサイトの場合)
- ユーザーにサインインを要求する:チャックあり
- サービスプロバイダー:Azure Active Directory v2
- クライアントID:<事前に作成したAADアプリのアプリケーションIDを設定>
- クライアントシークレット:<事前に作成したAADアプリのクライアントシークレットを設定>
- トークンの交換URL:<空白のまま>
- スコープ:profile openid
※上記の画面に前述のAADアプリのリダイレクトURIに設定すべきURLが記載されています。
Copilopt のテスト
Copilopt のテストから動作確認してみます。
まず、赤枠のリセットボタンを押下すると下記のようにログインを求められます。
このログインボタンを押下すると、検証コードを表示した画面が表示されるので、検証コードをコピーします。
※ブラウザ上で複数のアカウントでログインしている場合は、アカウントの選択が表示されます。
Copilopt のテスト画面に戻って、先ほどコピーした検証コードを送信します。
送信すると、通常のあいさつが返ってきます。これでやり取りが可能となります。
なお、一度認証しておくと、リセットしても再認証は行われません。
この状態で、下記の通りに質問してみました。
リンク付きで、回答してくれました。*1
続いて、Copilot Studio についても質問してみました。
残念ながら回答してくれませんでした。ファイルサイズが大きすぎるのが原因かもしれません。
参考までに、今回アップロードしたファイルのサイズは以下の通りです。
- Micsofot LearnのCopilopt Studio の日本語サイトをPDF化したファイル:35.2MB
- Micsofot LearnのCopilopt Studio の英語サイトをPDF化したファイル:36.3MB
- IPA(独立行政法人 情報処理推進機構)が提供している「脆弱性対処に向けた製品開発者向けガイド」のPDFファイル:2.58MB
容量の問題かどうかを切り分けるために、Micsofot LearnのCopilopt Studioのサイトの1ページだけPDF化したファイルをアップロードし直して検証してみます。
今度は回答してくれました。
Micsofot LearnのCopilopt Studioのサイトを読んでみましたが、SharePointサイトのファイルサイズの制限については明言されていませんでした。この件は追って調査したいと思います。
まとめ
SharePointサイトをデータソースとして、生成型回答ができるCopilotに関しても、簡単に作成することができました。
これならSharePointサイトに社内システムのマニュアルなどをアップロードしておけば簡単にQAポッドが作ることができると思いました。
ただ、回答の精度はまだまだ高くないので、アップグレードされていくことを期待したいです。
*1:全く同じリンクを3つ付与してくるのは謎ですが