スマートワークを加速させるTeamsと会話型AIの繋ぎ方
Microsoft Teamsは、多くのビジネスパーソンの方が利用されているかと思います。
普段お使いのTeamsの中で、育休明けの「浦島太郎」不安を解消してくれるAI や 雑多に投稿したアイデアメモを適切に整理・格納してくれるAI といった便利なAIを実現したいと思いませんか?
この便利なAIを実現するのが、会話型AIのmiiboです!
この記事では、miiboとTeamsをノーコードで繋ぐ方法をご紹介いたします。
※ 本記事は、会話型AI構築プラットフォームmiiboを開発する株式会社miiboの提供です。
この記事のゴール
Teamsのチャネルで投稿された内容に対して、miiboが返答を生成し、投稿に応答するという最も基本的なフローを、Microsoft Power Appsを使い実現します。
事前設定
まずは、miiboの設定をしましょう。といってもやることは二つです。
1. APIを設定する
左サイドバーより "外部サービス連携"をクリックし、中央に並んだ項目から"APIを利用して会話やデータの入稿を行う" をクリックします。
すると、「APIを有効にする」というボタンが現れるので、こちらをクリックすると画像様な画面が表示されます。ここのAPI_KEYとエージェントIDは後ほど利用するため、控えておきます。
2. 公開する
左サイドバーより "公開設定"をクリックし、「利用規約に同意して公開」をクリックします。
こちらで、miibo側の操作は完了になります。
フローの作成方法
1. Teamsでチャネルを作成する
※ 既存チャネルに追加する場合は、このステップはスキップしてください。Teamsにアクセスします。
Teamsのサイドバーにある"チーム"を選びます。任意のチームの下にチャネルを作成してください。
今回は「miiboと会話するチャネル」というチャネルを新たに作成しました。
2. PowerAppsでフローを作成する
ここからは、PowerApps上で作業していきます。まずは PowerApps にアクセスします。
サイドバーよりフローを選択し、新しいフローから"自動化したクラウド フロー"を選択します。
3. トリガーを設定
フロー構築のためのフロー名とフローのトリガーを入力するモーダルが表示されます。
フロー名は用途に合わせて入力しましょう。
トリガーは、検索窓に「チャネルに新しいメッセージ」と入力すると対象のトリガーが絞り込まれます。こちらを選択し作成をクリックします。
すると、最初のフローが表示されたフロー編集画面が開きます。
ここで、「チャネルに新しいメッセージが追加されたとき」というアクションのチームとチャネルを選択します。
Teamsと接続できていない場合は、ログインボタンが表示されますので指示に従うと、接続後チームとチャネルが選択可能になります。
4. アクション"HTTP"を追加
メッセージが追加された次のアクションを追加します。ここではAPIを利用してmiiboとやり取りを行いため、HTTPを追加します。
画面上の新しいステップをクリックし、組み込みタブを選択します。その中にHTTPがあります。
HTTPを選択するといくつかのアクションを選べます。
ここでは、HTTPを選択します。
5. miiboに繋ぐアクションを追加
HTTPアクションの項目を埋めていきます。
ここで、先にmiiboでAPIを設定した際に表示されたAPI_KEYとエージェントIDが必要になります。
$$
\begin{array}{|l|l|} \hline
\textsf{方法} &\textsf{POST} \\ \hline
\textsf{URI} &\textsf{https://api-mebo.dev/api} \\ \hline
\textsf{ヘッダー} &\textsf{Content-Type: appication/json} \\ \hline
\textsf{本文} &\textsf{\{} \\
& \textsf{"api\_key":"API\_KEY",}\\
& \textsf{"agent\_id":"エージェントID",}\\
& \textsf{"utterance":"メッセージ 本文 コンテンツ",}\\
& \textsf{"uid":"メッセージ from ユーザー displayName"}\\
& \textsf{\}} \\ \hline
\end{array}
$$
6. チャネルに返答するアクションに追加
さらに、新しいステップを追加します。Teamsのアクションの中に「チャネル内のメッセージで応答します」を選択します。
投稿先の項目をChannelに設定すると、入力項目が表示されます。
MessageIDは、トリガーで取得したメッセージIDを入れ、TeamやChannelは目的の項目を入力します。
Messageに関しては、miiboからの返答を入力したいのですが、miiboの返答んは付随するメタデータを含んだJSON形式のデータになっています。
ここから、返答のみを抽出するため式を使用します。
Messageのフォームをクリックすると右下に出てくるダイアログの中で、式をクリックし、fxの場所に
body('HTTP')['bestResponse']['utterance']
と入力しOKを押します。これで応答だけが抜き出され返答されるようになりました。
7. 実行してみる
最後に、Teamsに戻って実行してみましょう。
チャネルに投稿してみると、miiboが返答をしてくれています!
※ 返答時間にムラがある場合があります。結果がなかなか現れない場合はPowerAppsのフロー編集画面右上にあるテストから実行してみてください。
おわりに
この記事では、Teamsとmiiboの繋ぎ方について解説しました。
今回は、チャネルに関するアクションを設定しましたが、ここを変更するとチャットに対応することもできます。また、キーワードが言及された場合というトリガーを使うことで、特定のメッセージに反応させることもできます。
ぜひTeamsとmiiboを繋ぎ、冒頭に載せた社員の育休明けのフォローアップや雑多なアイデアメモの整理整頓といった内容にとどまらず、様々な使い方をご検討してみてください!