Microsoft Copilot Studio の生成 AI 機能が日本環境でも使えるようになったので触ってみた


# はじめに

先日の Microsoft Ignite で Microsoft Copilot Studio が発表されました。

https://qiita.com/Takashi_Masumori/items/77c3f1bcce188f0df869

その時点では、以下の通り、日本の環境ではまだ生成 AI 機能を利用したカスタム Copilot (旧チャットボット) の作成ができませんでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/5edffbc3-9d31-53fd-6dd7-a14760a0f166.png)

しかし、この度、日本環境でも利用できるようになり、触ってみたため、改めて紹介したいと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/fcc84e2b-493a-c17b-fb25-a407ab55c50c.png)

:::note 
Power Platform には環境という仕組みがあり、Power Apps で作成したアプリ、Power Automate で作成したフロー、Copilot Studio で作成したカスタム Copilot 等は環境に保存されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/279b4fde-18ec-ddce-af88-c951e1557e81.png)

また、日本環境の場合は、現状以下の設定を事前に許可しておく必要があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/324b128c-2fa2-a4ea-8c37-e03088744198.png)
:::

# 資料の準備

テストするためいくつかファイルを用意します。

* SharePoint ドキュメントライブラリ用のファイル

ChatGPT に以下のような架空のサービスメニューを作成してもらい、pdf ファイルをドキュメントライブラリに保存しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/db5998b1-ed2e-d733-bae9-ec83a2910efa.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/e0b71502-e9d2-558b-6b12-d3611dbd9b0c.png)

* ファイルのアップロード用ファイル

ファイルを直接アップロードできるので、別の架空のサービスメニューを作成しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/0fb92264-f785-0eb6-7313-2e219dd2957e.png)

# 作成方法

まず、現時点ではカスタム Copilot の言語を英語にする必要があります。日本語は間もなくのはずです。しかし、後述する通り、英語にしていても、日本語でもそれなりに動きます。もちろん、日本語対応するとさらに精度が上がることを期待しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/3147c34b-c4ce-9daf-9fb6-c9233a0715dc.png)

一応、英語で作成した後、セカンダリ言語を追加します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/6452de71-b00a-3252-c5b5-c72db2829723.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/7483a52e-2e5e-0873-b023-c7d7973a1090.png)

そうすると、こちらで言語の選択が可能になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/9288855c-cd44-ee6f-d827-64d1e861ce38.png)

作成段階で日本語にした場合は、以下の通り URL を入れることができません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/ee17ed03-7cdb-37a8-9f2e-caf69c23c623.png)

作成時点で Web サイトの URL を入れてもいいですし、一旦空にして後から追加していってもいいです。作成時点では一つしか URL を入れれないため、いずれにせよ作成後 URL 追加することになると思います。

今回は、私のブログの URL を入れておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/250a094d-44b5-56c0-f63e-578e229b2863.png)

生成 AI タブに移動します。こちらから URL を追加したり、ファイルをアップロードできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/45d55886-0f9d-3a8f-a177-5d3e114732ab.png)

直接もアップロードできますが、ファイルが多数になる場合は、一個一個アップロードするのは面倒ですし、Dataverse に保存されるため、手間という意味でも、Dataverse の容量を節約するという意味でも、SharePoint ドキュメントライブラリ側にファイルを保存した方が個人的にはいいと思います。

https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/nlu-documents

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/e2950125-1977-d743-728d-da5d538b2765.png)

今回は、最終的に、先ほどのファイル (FuturoTech IT サービスメニュー
) を保存したドキュメントライブラリが存在する SharePoint サイトを追加します。

また、GreenHarmony IT サービスメニューについては、以下から直接アップロードします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/b8e5f6de-3345-a434-1fea-96748a20dfa7.png)

こちらの設定について、より詳細を確認したい場合はこちらをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/d0e58300-7c45-6aaa-f0d7-e64a3f98e7c6.png)

実は、Conversational boosting というトピックがあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/fce03425-4897-6459-ebf9-db25612ad6bc.png)

こちらからも設定を変更できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/51839d27-f703-8c3e-ee5d-9880f13974b2.png)

また、こちらの場合、Azure OpenAI サービスとの連携もできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/89f26ca9-8578-6523-cb5a-7e73038ed6e1.png)

こちら何かというと、Azure OpenAI にも以下のように独自データを登録して生成 AI チャットに利用することができます。(以降 「Add your data」)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/85101e5f-0970-edc0-b6af-7ea74ab1a309.png)

https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/nlu-generative-answers-azure-openai

以前、Power Apps から API を利用してこちらを利用する方法も紹介しましたが、Copilot Studio から GUI ベースで設定して組み込むことや、Copilot Studio にノーコードでダイレクトに組み込めるようです。

https://qiita.com/Takashi_Masumori/items/410e7e92e6f93ec823c2

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/05b10464-37a6-862e-1b11-1152275e4686.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/ca09cb74-0280-ab78-3dde-59d9b24fb06e.png)


Add your data 側の準備ですが、例えば、Azure サービス上にファイルを保存して、インデックスを作成する感じになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/b282eed7-16f4-79a6-d93e-0bd60555d401.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/d3354ab5-755c-6934-9fc5-a8208eee6ec5.png)

設定自体は、GUI ベースで可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/dd0bf42d-0fac-675d-3c5d-42620505306c.png)

以下、チャット例です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/df2d10ce-f802-027d-48d0-42308794f1a2.png)

Copilot Studio からも直接独自データを登録できるため、こちらの利用するメリットとしては、キーワード以外の検索が利用できる点です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/326b601a-4521-581c-98d9-490324f852ce.png)

現在、設定できるベクトル検索の最大の利点は、データの「意味」を捉えられることです。キーワード検索とは異なり、単語の類似性や文脈を理解できるため、より精度の高い検索結果を得られます。

Copilot Studio から直接独自データを登録した際検索の精度について課題がある場合、こちらがソリューションになる可能性があります。

今回は、設定せずに進もうともいます。

# 動作確認

テストしてみようと思います。早速試してみると以下の通り認証の設定をしろと怒られます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/959bfa6f-5525-ffab-a522-25cb10fc80ae.png)

そのため、認証の設定を行う必要があります。こちらについては以下の記事を参考にしていただくのが良いと思います。

https://www.geekfujiwara.com/tech/powerplatform/3722/#%E3%83%9C%E3%83%83%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90

ポイントは、以下の通り、「委任されたアクセス許可」を利用している点です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/60b2dfd1-571c-19e0-106b-461ee3d240da.png)

以前、こちらの記事で、Microsoft Graph API について紹介しましたが、以下のようにユーザーが元々出来ることしか出来ません。

https://qiita.com/Takashi_Masumori/items/d88ba534da9bed3eb8d0#microsoft-graph-api

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/9349b811-079a-ab30-61f9-8a8f32714b76.png)

つまり、今回のように SharePoint 内のファイルを利用する場合、カスタム Copilot を利用するユーザーがアクセス出来るファイルをベースに回答が生成されることになります。

:::note warn
こちらの Microsoft Entra ID (旧 Azure Active Directory) へのアプリ登録は組織で制限されているケースが多い認識です。そのため、本番環境の場合、IT 管理者に依頼することになると考えます。
:::

## Web サイトの情報

私のブログの記事をいい感じで返してくれました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/8d7e02d8-6098-21d6-50a3-aafb37482d3f.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/87a9ccfe-abe4-6c0e-f187-6a3214a47241.png)

正式に日本語対応するとかなりいい感じになりそうな気がします。

## 直接アップロードしたファイル

一応日本語で質問しても返ってきましたが、ちょっと微妙でした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/a8b3cc2b-6d24-9205-bdae-1e4382f178c1.png)

参照したファイルも別のものでした。。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/9d82c93f-bcda-709e-2096-9ec21f5aa247.png)

## SharePoint に保存したファイル

時折英語で返ってきましたが、実際の pdf ファイルと比較すると、結構いい感じに返ってきていることが分かります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/e63378a4-3605-989f-6074-b83e1e500f72.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/7fc37f62-175c-227c-2433-4022a511f5fa.png)

特定のサービスについて聞いてみました。こちらは日本語でいい感じに答えてくれました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/0b0de550-dfe1-a72a-deb9-6c4b6f835913.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/a16dcc27-79ea-2abf-7477-eb4b0537022f.png)


# まとめ

今回は、Microsoft Copilot Studio が日本環境でも使えるようになったので触ってみました。厳密には日本語の Copilot はまだ対応していませんが、中々いい感じに動いてくれました。

正式に日本語に対応すれば、ファイルを SharePoint ドキュメントライブラリにアップロードとするだけで独自のカスタム Copilot (独自の生成 AI チャットボット) を作成することが出来ることになると思います。