
こんにちは、VポイントマーケティングAIエンジニアの三浦諒一です。
私は最近MicrosoftのCopilot Studioでどんなエージェントが出来るのかいろいろと調査をしています。Copilot Studioはローコードでエージェントを開発できるプラットフォームで、様々なツールや外部エージェントと連携、ナレッジを参照したカスタムエージェントを作ることが出来ます。さらにTeamsやWebアプリなどのチャネルに公開することが可能です。

普段からMicrosoft環境で作業をしているのであれば、Copilot Studioでかなり柔軟にエージェントが開発できると思います。
さて、このCopilot StudioでExcelで作成された表形式のデータを分析するエージェントを作れないかな、と考えていました。それもできるだけ労力をかけずに、です。今回はこれを実現するためにMicrosoft Fabricの自然言語でデータ分析ができる「Fabricデータエージェント」をCopilot Studioのカスタムエージェントから呼び出してみる、といったことを試してみました。
※一部の環境ではCopilot StudioのUIが以下のようになっています。今回の検証はこの新しいUIではなく、「New experience」をオフにして表示されるUIで行っています。

設定
チームや組織でSharePointにExcelファイルを格納し、表形式でデータを管理している、といったケースは結構あるのではと思います。そこでSharePointに格納したExcelファイルをFabricのLakehouseに取り込んでそれを分析できるFabricデータエージェントを構築、そのデータエージェントをCopilot Studioのカスタムエージェントから外部エージェントとして呼び出す、という構成をとりました。
今回使用するデータは「UCI ML Wine Data Set」というワインの成分で構成されたデータセットです。Pythonの機械学習ライブラリ「scikit-learn」にもサンプルデータとして搭載されているもので、そちらを少し加工して使用しました。
SharePointのExcelファイルをFabricに取り込む
まずSharePointに格納したExcelファイルをFabricのLakehouseに取り込む処理を、Fabricの「Dataflow Gen2」で実装しました。Dataflowはコードを記述せずにデータを準備および変換するデータ処理パイプラインを組むことが出来るクラウドベースのツールです
Dataflowを新規作成すると、以下のように入力するデータソースを選択することが出来ます。

Excelを取り込むときは「Import from Excel」を選択します。対象のファイルをURLで指定しますが、SharePointのドキュメントに格納したファイルのURLフォーマットは以下のようになっており、この形式で対象のExcelファイルを指定します。
https://<テナント>.sharepoint.com/sites/<サイト名>/Shared Documents/<フォルダ>/<ファイル>
次に読み込むシートを選択します。

書き込み先を指定します。対象のLakebaseとスキーマ、テーブル名を設定します。

設定が完了したら保存してDataflowを実行します。実行が完了すると、Excelの内容が書き込まれたテーブルが出来上がります。
Fabricデータエージェント
Excelの内容が書き込まれたテーブルを参照するFabricデータエージェントを作成します。Fabricのワークスペースで「+New item」から「Data agent」を選択します。

設定画面が開いたら、画面左の「Explorer」から対象のテーブルを選択します。あとはチャット画面でテストをして動作を確認し、問題がなければ「Publish」を実行することでCopilot Studioのエージェントからアクセスが出来るようになります。

Copilot Studioでエージェントを作る
では最後にCopilot StudioでFabricデータエージェントを呼び出すエージェントを作成します。Copilot Studioでエージェントの作成画面に入り、「エージェント」のタブに進み「+エージェントの追加」を選択します。
エージェント一覧から「Microsoft Fabric」を選択します。検索窓に「fa」と入力するとすぐに見つけることが出来ました。

Publish済みのFabricデータエージェントが表示されるので、対象のエージェントを選択します。これで設定は完了です。テストしてみると、Fabricデータエージェントへのアクセス許可を求めるメッセージが表示され、それらを許可すると、Fabricデータエージェントが生成した結果を見ることが出来ます。

あとは「チャネル」でTeamsなどに接続すると、別のアプリやサービスからこのエージェントを利用できるようになります。
まとめ
ということで、今回はCopilot StudioのカスタムエージェントからFabricデータエージェントを呼び出してExcelから取りこんだ表形式のデータを分析させてみる、といったことを試してみました。すべてMicrosoft製品なので、それぞれの接続がとてもスムーズで比較的容易に試すことが出来ました。一方ちゃんと調整していない状態だとFabricデータエージェントの回答は少し気になる点がありました。たとえば入力に含まれる「class_1」や「class1」といった表記ゆれに対応できない、といった点です。回答精度を上げるためにはFabricデータエージェントに与えるインストラクション等を作りこむ必要がありそうです。