はじめまして、Insight Edge 開発チームの綱島です。昨年4月からInsight Edgeに参画し、生成AI関連の案件を中心に、PMやエンジニアロールを担当しています。
元々エンジニアリング経験が少ないバックグラウンドなので、非技術者でもとっつきやすいローコード・ノーコード領域などを中心に積極的に調査していきたいと思っています。 今回は上記領域の中でも比較的ホットなMicrosoft Copilot Studioを使ったChatbot作成について紹介できればと思います。
この領域に興味がある方、または軽く読んでみたいと思う方、ぜひお付き合いいただければ幸いです。
はじめに
「Microsoft Copilot Studio(以下Copilot Studio)」は、昨年11月に開催された「Microsoft Ignite 2023」でMicrosoftが発表した会話型AIプラットフォームで、ローコードでMicrosoft 365 Copilotを独自にカスタマイズした生成AIツール(=Copilot)を作成できるというものです。
ちなみに、Insight Edgeが内製組織としてDX推進のサポートを行っている住友商事では、昨年からCopilotの導入が進められており、Copilot Studioの生成AI機能についても、今後の業務活用に向けた検証が始まっています。それらの導入や検証のサポートにあたって、Insigh Edgeでは各種Copilotツールを検証出来る環境が整っており、日々調査を進めています。
現時点でCopilot Studioを使ってみた印象ですが、以前より提供されていたPower Virtual Agents(ノーコードのChatbot作成ツールで、現在はCopilot Studioに統合。以下PVA。)上で、生成AI機能が使えるようになった!という感じです。
Microsoft Copilot Studioを使ったChatbotの作成
今回はPVAからアップデートされた部分を中心に試しつつ、Chatbotを作成してみましたので、以下の流れでご説明します。
- 作成画面までの操作
- Copilot Studioにおけるアップデート部分の組み込み
① Webサイト情報の連携
② 独自のアップロードデータの使用
③ 生成的な回答を可能にするトピックの紹介
④ トピックの自動提案 - Copilotの公開(Teams上での利用)
1. 作成画面までの操作
ホーム画面にて [+ Copilotを作成する] をクリックします。
[コパイロットを設定する]画面で、「コパイロットの名前」と「コパイロットが話す言語」を設定し、[作成]をクリックします。
- 言語は「英語」を指定※します。
※現時点で、日本語では生成AIによる会話強化を利用できないため。
※ただ、作成画面は日本語UIで、チャットのやり取りも日本語に対応していました。 - 下段の「生成型の回答で会話を強化する」欄では、データソースとして使用するWebサイトを設定できます。こちらは[作成]ボタンクリック後でも設定可能※です。(※次セクションでご説明します)
- 言語は「英語」を指定※します。
以下、概要画面に遷移し、ここからChatbotを作成していきます。
前提として、Copilot Studioでは「トピック」と呼ばれる回答シナリオを予め定義し、基本的にはそれら既定トピックをもとに回答します。トピックに該当しない質問が投げられた際に、“生成AIによる会話強化機能”を使い、各種データソースをもとに生成型回答を返すというイメージです。
なお、トピックは[プラグイン(プレビュー)]タブで設定でき、下記キャプチャのようにノーコードでシナリオを設定することができます。
今回は上述の“生成AIによる会話強化機能”を中心に、PVA→Copilot Studioにおけるアップデート部分を試していますので、その前提で以下ご覧頂ければと思います。
2. Copilot Studioにおけるアップデート部分の組み込み
① Webサイト情報の連携
画面左の[生成AI]タブに移動し、[Webサイト]欄に、データソースとしたいWebサイトのURLを入力します。今回はInsight Edge HPの[Company]および[Business]ページを設定しました。
上記データソースを設定のうえ、いくつか質問を試してみました。概要サマリ系とピンポイントの情報検索系の質問を投げてみましたが、どちらも正しく回答している印象です。
ちなみに、日本語で同じ質問をした場合にも正しく回答が返ってきました。
② 独自のアップロードデータの使用
続いて、データアップロードについてもご紹介します。 先ほどと同じ [生成AI] タブの [ドキュメントをアップロードする(プレビュー)] 欄でアップロードします。 今回はInsight Edge求人サイトの、データサイエンティスト募集要項を英訳のうえ.txt化して取り込んでみました。
アップロードしたファイルにのみ記載がある標準労働時間について質問したところ、正しくデータを引用して回答が返せていました。
③ 生成的な回答を可能にするトピックの紹介
上述の Webサイト情報やアップロードデータを基にした生成型回答を返すためのトピック(「Conversational boosting」)について触れておきたいと思います。 本トピックは、既定トピックに定義されていない値が入力された場合に、下図の通り、”Unknown Intent”として生成AIに流し、予め設定した独自のデータソースを基に回答を生成する仕組みとなっています。 規定シナリオに基づく正確性の高いQ&Aと、生成AIによる柔軟なQ&Aのハイブリッド実装を可能にする注目機能と捉えています。
④ トピックの自動提案
最後は少し毛色が違いますが、Chatbotからのトピック提案についてです。Microsoft公式ドキュメント(Microsoft Copilot Studio のシステム トピックを使用する - Microsoft Copilot Studio | Microsoft Learn)では、「システムトピック」(デフォルトで設定されているトピック)の一つとして紹介されていますが、システムが自動にやってくれると少し嬉しい機能だったのでご紹介します。
端的に言うと、ユーザーの入力内容が複数のトピックに該当しそうな場合に、それら該当トピックを表示し、ユーザーに選択するように求めるものです。試しに、Insight Edgeの福利厚生に関するトピックを2つ作成のうえ、どちらにも当てはまるような質問を投げてみました。すると、予め定義した2トピックを提示して選択を求めるフローとなりました。
(ちなみに、以下例示キャプチャの通り、使用言語は英語に設定しているものの、日本語でもやり取り可能です。)
3. Copilotの公開(Microsoft Teams上での利用)
Copilotの公開についても少し触れたいと思います。[公開]タブの[チャネルの構成]から、[チャネルに移動]をクリックし、[Teamsを有効にする]ことでMicrosoft Teamsでの利用が可能になります。
つまずきポイントの紹介
今回Chatbot作成にあたって、少しつまずいたポイントをいくつかご紹介します。
- アップロードファイル
- ファイル容量に制限(3MB以下)があります。
- ファイルが英語でないと参照されませんでした。(今後、日本語対応が進むに連れて解消するかと思います)
- 作成時の設定
- セカンダリ言語として日本語などを設定することも可能ですが、プライマリ言語(英語)でないと、各種トピックの更新が出来ませんでした。
最後に(今後試したいこと)
今回は少量データ且つ既定トピックも多くないので、回答精度が良かった印象ですが、今後はデータソースやトピックを増やしたうえで精度を確認していきたいと思います。
また、SharePointやOneDriveとの連携機能※1や、会話プラグイン機能※2はまだ試せていないので、それらも組み合わせたChatbotの作成にも取り組みたいと思います。
※1:生成型の回答に SharePoint または OneDrive for Business のコンテンツを使用する - Microsoft Copilot Studio | Microsoft Learn
※2:Microsoft Copilot 向け会話プラグインを作成する (プレビュー) - Microsoft Copilot Studio | Microsoft Learn
以上、最後まで読んでいただきありがとうございました!