Power Automate for desktopの「GPT でテキストを作成する」アクションを活用するフローの紹介
きぬあさです。
本記事はMicrosoft Power Automate Advent Calendar 2024(シリーズ 2)の12月25日分の記事となります。
Power Automate for desktop(PAD)にはAI(Copilot)を活用した機能が搭載されており、私のnoteでもいくつか記事を書いています↓
そんな私でもこれまであまり触れてこなかったのが「GPT でテキストを作成する」アクションです。
実はこのアクション、以前は「Azure OpenAI Service の GPT でテキストを作成する」という名前で、2023年の5月にはこのアクションが使えるようになっていました。
では何故これまで触れてこなかったか!?
それは・・・
”ぶっちゃけ使いづらいから!”
です。
実に身も蓋もない。
アクション自体はGPTに指示を出して結果を受け取るという、名前通りの機能で一見すると便利そうなのですが、いざ使ってみるとこれが中々に使いどころが難しい・・・。
今回はそんな「GPT でテキストを作成する」アクションの活用方法を考えてみたのでご紹介します。
「GPT でテキストを作成する」アクションが使いづらい理由
「GPT でテキストを作成する」アクションが微妙に使いづらい最大の理由、それはこのアクションの後に必ず「メッセージを表示」アクションや「入力ダイアログを表示」アクションを追加して、本文中にGPTからのレスポンスを含める必要がある点です。
実際に試してみると分かりますが、「GPT でテキストを作成する」アクションをフローに追加しただけだと下記エラーが発生します。
エラー内容通り、GPTからの回答を手動でレビューする必要があるためにこのような仕様になっているようです。
「GPT でテキストを作成する」アクションを活用するフロー
この仕様を踏まえたうえで、「GPT でテキストを作成する」アクションを活用するフローを考えてみました。
1. 「カスタム フォームを表示」アクション
カスタム フォームにテキスト入力要素(ID: Request)を配置してGPTへの指示文を入力します。
2. 「ループ条件」アクション
「ループ条件」アクションを使って、フォームがキャンセルされない限り「カスタム フォームを表示」アクションによるGPTへの指示文入力フォームを表示し続けるようにします。
3. 「GPT でテキストを作成する」アクション
指示パラメーターでカスタム フォームで入力した指示文(%CustomFormData.Request%)を指定します。
4. 「メッセージを表示」アクション
「メッセージを表示」アクションで「GPT でテキストを作成する」アクションからのレスポンス(%PredictV2TextResponse%)を表示します。
「メッセージ ボックスを自動的に閉じる」オプションを有効にし、「タイムアウト」パラメーターの値を「1」にすることで、メッセージ ボックス表示後1秒で自動的に閉じるようにします。
5. 「カスタム フォームを表示」アクション
フローの1番最初の「カスタム フォームを表示」アクションをコピーして再利用します。
テキスト入力要素(ID: Request)の既定値をGPTからのレスポンス(%PredictV2TextResponse%)にして、カスタム フォームでレスポンスを表示すると同時にコピーや編集をできるようにします。
実行画面
フローの実行画面が下記になります。
おわりに
最初は「入力ダイアログを表示」アクションを活用しようと試行錯誤していたのですが、GPTからのレスポンスを「既定値」パラメーターではなく「入力ダイアログ メッセージ」パラメーターに入れる必要があり、レスポンスの文字数が多いほどダイアログが見づらくなり、また、レスポンスのコピー&ペーストもできなくなるため、最終的に「メッセージを表示」アクションで「GPT でテキストを作成する」アクションのエラーを回避しつつ、「カスタム フォームを表示」アクションを使うことで使い勝手を向上させました。
個人的には大分実用的なフローになったとは思うのですが、それでもやっぱりブラウザーやアプリには勝てないなー・・・、というのが正直な感想です😅
(我ながらひどいオチやー・・・🤯)