このページの本文へ

松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第31回

会議の発言記録から定型の議事録を自動生成するフローを作ってみよう

ChatGPTのPower Automateプラグインで、ChatGPT側からフローを実行する

2023年11月01日 08時00分更新

文● 松本典子 編集● 大塚/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 こんにちは、Microsoft MVP(Azure / Business Applications)の松本典子です。

 本連載の第28回では、ChatGPTをMicrosoft Teamsから使う仕組みをノーコードで作る方法をご紹介しました。今回もChatGPTを使ったノーコードアプリの開発にチャレンジしてみます。

 ChatGPTは、人間がふだん使う言葉(自然言語)で書かれた指示文に沿って、質問に答えたり、情報を要約してくれたりするサービスです。この指示文のことを「プロンプト」と呼びます。

 今回はこのプロンプトや、ChatGPTからPower Automateのフローを実行できる「スキル」コネクタを使って、会議の発言メモから定型の議事録を自動生成するフローを作ってみましょう。

1. 事前準備

 事前準備として、まずはChatGPT側でPower Automateプラグインを有効にしたチャットを1つ、新規で作成します。

 なおChatGPTでプラグインを利用するには、GPT-3.5ではなく「GPT-4」を使うことが条件になります。無償サービスでは使えないので、有償(月額20ドル)の「ChatGPT Plus」サービスに加入する必要があります。

 ChatGPT Plusサービスに登録したら、ChatGPTにPower Automateのプラグインを追加していきます。

1-1. ChatGPTにPower Automateプラグインを追加する

 まずはOpneAIのWebサイトからログインし、ChatGPTを選択します。

ChatGPTにプラグインを追加する

 画面上部のタブを「GPT-4」に切り替え、下に表示される一覧の「Plugins」にチェックを入れます。

Plugin storeの選択

 「プラグインなしが有効化されています」という文字をクリックすると、インストール済みのプラグイン一覧が表示されます。今回はPower Automateプラグインを新規追加するので、一番下に表示される「Plugin store」をクリックします。

Power Automate プラグインをインストール

 検索窓に「Power Automate」と入力すると、図のようにプラグインが表示されるので「Install」をクリックします。Power Automateのアカウントへのサインインが要求されるので、Microsoftアカウントでサインインしてください。

Power Automate プラグインを利用する

 ChatGPTで選択できる(有効にできる)プラグインは最大3つです。今回はPower Automateプラグインだけを選択します。

2. ChatGPTのプロンプトの準備

会議での発言メモ(サンプル)

 今回は、上図のような、ある会議での発言者と発言内容だけを記録したテキストから、「日時」や「議題」「決定事項」「TODO(アクションリスト)」といった情報を抽出して、それぞれに項目にまとめた一般的な議事録の形に整形させたいと思います。

 ChatGPTに指示を出すプロンプトは、次のように書きました。

# 指示
あなたは、議事録作成担当者です。以下の「発言メモ」をもとに、「出力」のフォーマットに合わせて議事録を作成してください。

# 目的
この議事録の目的は、会議内容を明確に伝え、会議に参加できなかった第三者が見てわかりやすく理解を助けることです。

#情報
## 発言メモ
・◯◯さん:(発言内容)

# ルール
・参加者は「発言メモ」の名前を参考にしてください
・「議論内容」は箇条書きで記載してください
・「ToDo」の担当者と期日は未定の場合、会話の流れから適切な担当者と期日を設定してください(期日は「次回の会議まで」でも構わない)

# 出力
## 日時:
## 議題:
## 参加者:
## 決定事項:
 1. 決定事項1
 2. 決定事項2
## 議論内容
## TODO:
・ToDo1(担当者、期日)
・ToDo2(担当者、期日)

 最後にある「# 出力」の内容が指定のメールアドレスに送信されるイメージです。

 このようにプロンプトには、ChatGPTに「どのような目的で」「どんな形式で」「何をしてほしいか」といったことを、ふだん使っている言葉で書きます。ひとつの長い文章で指示を書くよりは、上の例のように項目を分け、箇条書きにしたほうが書きやすいでしょう。プロンプトをカスタマイズして、やってもらう内容や出力形式を変えるのも簡単にできます。

3. ワークフロー全体図

ワークフロー全体図

 今回、Power Automateで作成するワークフローの全体像は上図のとおりです。ChatGPTがChatGPTで生成した議事録をHTML形式に変換し、出力内容を指定のメールアドレスに送信します。

3-1. トリガーの設定

トリガーの設定

 フローのトリガーには「スキル」コネクタを使います。「組み込み」タブをクリックして「スキル」を選択します。

Copilotからフローを実行する

 トリガーとして用意されている「Copilotからフローを実行する」をクリックします。

ユーザー入力の種類の選択

 先ほど用意したプロンプトは、会議での発言を記録した発言メモをChatGPTに与え、内容を議事録の形に整形してもらうというものでした。会議の発言内容は毎回変わりますから、それに対応できるよう、フローのトリガー時に発言メモを入力するかたちにします。

 具体的には、トリガーの「ユーザー入力の種類の選択」で「テキスト」を設定して、発言メモの入力ボックスを表示させます。わかりやすいように、名前も「発言メモ」にしました。

3-2. アクションの設定:Chat Completion

 続いて「OpenAI GPT」コネクタを使って、発言メモから議事録を生成します。なお、このコネクタの利用準備および詳細な使い方は、第28回の記事を参照してください。

「OpenAI GPT」コネクタの検索

 検索窓に「GPT」と入力して、「OpenAI (Independent Publisher)」コネクタを選択します。

「Chat Completion」アクションを選択

 アクション一覧から「Chat Completion」をクリックします。

アクションの設定:Chat Completion

 Chat Completionアクションの設定には、以下の内容を入力します。

 (1)model:「gpt-3.5-turbo」と入力
 (2)message role-1:「system」と入力
 (3)message content-1:「2. ChatGPTのプロンプトの準備」で用意したプロンプト全文をコピー&ペースト
 (4)message role-2:「user」と入力
 (5)message content-2:動的なコンテンツ「skills」から「発言メモ」を選択

3-3. アクションの設定:Chat Completion 2

 今回はChatGPTが生成した議事録の内容をメールで送信するため、出力はHTML形式のほうが都合が良いです。そこでOpenAI GPTコネクタを利用して、議事録をHTML形式に変換します。

アクションの設定:Chat Completion 2

 検索窓に「GPT」と入力して、「OpenAI (Independent Publisher)」コネクタを選択し、アクション一覧から「Chat Completion」をクリックします。先ほどと同じアクションなので、名前は自動的に「Chat Completion 2」となります。

 設定には以下の内容を入力します。

 (1)model:「gtp-3.5-turbo」を入力
 (2)message role-1:「system」と入力
 (3)message content-1:HTML形式に変換するためのプロンプトを入力
   # 指示
   入力内容をHTML形式に変換し出力してください。
 (4)message role-2:「user」と入力
 (5)message content-2:動的なコンテンツ「Chat Completion」の「content」を選択
 (6)Apply to each:(5)の内容を入力すると自動的にApply to eachが設定されます

3-4. アクションの設定:メールの送信 (V2)

 HTML形式に変換した議事録を、指定のメールアドレスに送信します。

 検索窓に「Outlook」と入力して「Office365 for Outlook」コネクタを選択し、アクション一覧から「メールの送信 (V2)」をクリックします。

アクションの設定:メールの送信 (V2)

 (1)宛先:議事録を送信したいメールアドレスを指定
 (2)件名:わかりやすい名称を入力(今回は「議事録の共有」)
 (3)本文:動的なコンテンツ「Chat Completion 2」から「content」を選択
 (4)Apply to each:(3)の内容を入力すると自動的にApply to eachが設定されます

3-3. 保存とテスト

ワークフローに名前をつけて保存

 以上、コネクタの設定が完了したら、ワークフローに名前をつけて保存します。

 ChatGPTのPower Automateプラグインを利用する場合、ワークフローの名前が重要になるので「ワークフローの内容がわかりやすい名称」にすることをオススメします。

フローのテスト

 保存後は「テスト」を実行する必要があります。テストを実行することで、作成したワークフローがChatGPT側に表示されるようになります。

4. 実行結果

 実際にワークフローを動かしてみます。

ChatGPTから実行する

 今回のワークフローは、ChatGPT側からPower Automateのフローを実行するかたちになります。ただし現時点では、日本語の会話の中でワークフローを指定し、実行させることがうまくできないようです。

 その代わりに「自分のフローを一覧表示する」とプロンプトを入力します。すると図のように、ChatGPTがワークフローを実行リンク付きで一覧表示してくれます。ここから、先ほど作成したワークフロー(「発言メモから議事録作成」)の「実行リンク」をクリックします。

Power Automateの実行画面

 図のようなPower Automateの実行画面が、ブラウザの別タブとして表示されます(このとき、Microsoftアカウントのサインインが求められる場合もあります)。この画面には、トリガーの「スキル」コネクタで設定した「発言メモ」の入力ボックス(赤枠内)が表示されます。

 この入力ボックスに、「2. ChatGPTのプロンプトの準備」でサンプルを示したような、会議での発言内容のテキストをコピー&ペーストします。

送信メールの内容

 「フローの実行」ボタンをクリックすると、図のような議事録内容が指定のメールアドレスに送信されます。

最後に

 ChatGPTのプロンプトはふだん使っている言葉(自然言語)で書けるため、カスタマイズも簡単にできます。プロンプトを工夫することで、出力するフォーマットを変えたり、出力する内容の精度を高めたりできますので、ぜひトライ&エラーで試してみてください。

 また、今回はChatGPTやOpen AI APIの有償機能を使っているので、長文の発言メモを多数処理させる場合にはコストがかかることもあります。コスト面も考えつつ、ChatGPTとPower Automateの連携方法として活用してみてください。

参考

カテゴリートップへ

この連載の記事