松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第11回
画像を送信すると含まれる文字をAI Builderが書き起こして返信してくれるボット
ノーコード+AI BuilderでLINEボットを作ってみよう《ワークフロー作成編》
2022年02月22日 08時00分更新
1-2-4. アクションの作成:「AI Builder」コネクタ
AI Builderを利用してLINEから送信された画像を解析します。
検索窓に「AI Builder」と入力し、一覧に表示される「AI Builder」コネクタをクリックします。
アクション一覧の中から「画像やPDFドキュメントのテキストを認識する」をクリックします。
初めてAI Builderコネクタを利用する場合、サインインを求められます。AI Builderが利用可能なアカウントでサインインしてください。
AI Builderの画像認識対象とする「画像」には、HTTPコネクタの動的なコンテンツから「本文」を選択します。
1-2-5. アクションの作成:「Apply to each」アクションの入れ子
「画像やPDFドキュメントのテキストを認識する」コネクタの結果を取り出します。「アクションの追加」をクリックして、「Apply to each」アクションを追加します。前のApply to eachコネクタの枠内に、もう1つApply to eachコネクタの枠ができる(入れ子になる)形となります。
先ほどの「1-2-2. アクションの作成:「Apply to each」コネクタ」と同様に、検索窓に「コントロール」と入力し、一覧に表示される「コントロール」をクリックします。
アクション一覧の中から「Apply to each」をクリックします。なお、同じワークフロー内で2つ目の「Apply to each」アクションになるので、自動で「Apply to each2」という名前になります。
「以前の手順から出力を選択」には、「画像やPDFドキュメントのテキストを認識する」の動的なコンテンツの中から「results」をクリックします。
次のコネクタもApply to each2内に作成するので、Apply to each2の枠内にある「アクションの追加」をクリックします。
ここにもう1つ、「Apply to each」アクションを追加します。先ほどと同様に「コントロール」コネクタを検索し、そこから「Apply to each」アクションを選択すると、「Apply to each3」という名前でアクションが追加されます(枠はさらに入れ子状になります)。
Apply to each3の「以前の手順から出力を選択」には、「画像やPDFドキュメントのテキストを認識する」の動的なコンテンツの中から「lines」をクリックします。
1-2-6. アクションの作成:「変数」コネクタ
「画像やPDFドキュメントのテキストを認識する」アクションによって、画像に写っているテキストが抽出されました。その結果を、先に初期化しておいた変数「Extracted text」に格納します。
その処理は「Apply to each3」の中で行うので、Apply to each3の枠内にある「アクションの追加」をクリックします。
変数へのテキストの格納には「変数」コネクタを使います。検索窓に「変数」と入力し、一覧に表示される「変数」コネクタをクリックします。
「Extracted text」変数は文字列型の変数として初期化してあります。ここではアクション一覧の中から「文字列変数に追加」をクリックします。
「文字列変数に追加」アクションは、以下の内容で設定します。
- 名前:「1-2-1. アクションの作成:「変数」コネクタ」で作成した変数名を選択(今回は「Extracted text」)
- 値:「画像やPDFドキュメントのテキストを認識する」コネクタの動的なコンテンツ「テキスト」を選択
1-2-7. アクションの作成:「HTTP」コネクタ
画像からテキストを抽出できたので、最後にその結果をLINEにリプライする処理を追加します。
「1-2-2. アクションの作成:「Apply to each」コネクタ」で作成した、1つめのApply to eachの枠内にある「アクションの追加」をクリックします。上でも確認しましたが、合計3つのApply to eachが入れ子になっているので、アクションを追加する場所を間違えないようにしてください。
検索窓に「HTTP」と入力し、「HTTP」コネクタを選択し、アクション一覧から「HTTP」をクリックします。
このアクションには以下の設定を入力します。
- 方法:「POST」を選択
- URI:「 https://api.line.me/v2/bot/message/reply 」を入力
- ヘッダー:左側に「Authorization」を入力。その右側は「Bearer(半角スペース)」に続けて、「0. LINEチャネルアクセストークンの発行」で表示されたチャネルアクセストークンのテキストをコピー&ペースト
- 本文:以下のJSONをコピー&ペーストします。
{
"messages": [
{
"text": "@{variables('Extracted text')}",
"type": "text"
}
],
"replyToken": @{items('Apply_to_each')?['replyToken']}
}
2. ワークフローの保存
以上でワークフローの作成は完了です。最後にワークフローを保存します。
- 「無題」になっている部分をクリックしワークフローの名前を変更(今回は「LINEボット」)
- 「保存」をクリック
3. LINE側のWebhook設定を変更
ワークフローを保存すると、「1-1. トリガーの作成」の段階では空欄になっていた「HTTP要求の受信時」コネクタの「HTTP POSTのURL」が設定されます。このURLをコピーして、LINE側にコピー&ペーストします。
Power Automateのデザイナー画面で上記のURLをコピーしたら、LINE Developersのページに戻ります。
タブメニューの「Messaging API設定」をクリックします。
下にスクロールすると「Webhook設定」があるので、以下のように設定します。
- Webhook URL:Power Automateのトリガーから「HTTP POSTのURL」をペーストします。
- Webhookの利用:図のように「オン」にします。
LINEのWebhook設定が完了したら、実際にLINEのトークルームから写真を送信してみてください。
最後に
LINE Developersの設定やワークフロー内の「Apply to each」コネクタの入れ子など慣れるまではわかりにくいところもあると思いますが、1行もコードを書かずにAI機能を含んだLINEボットを作成することができました。ぜひ色々と試してみてください。
この連載の記事
-
第45回
Team Leaders
Power Automateで使える“2種類のExcel”、その使い分けを覚えよう -
第44回
Team Leaders
契約書を確実に期限管理! SharePoint+Power Automateで期日通知を自動化 -
第43回
Team Leaders
社内からの質問に自動回答! AI Builder+ノーコードでQ&Aボットを作ろう -
第42回
Team Leaders
Power Automateで複数人の承認(多段階承認)ワークフローを簡単作成しよう -
第41回
Team Leaders
重要なTeamsメッセージの見失い/見落としを防ぐPower Autometeのフローを作ろう -
第40回
Team Leaders
クラウドフローからデスクトップフローを「Picture-in-Picture」で起動する -
第39回
Team Leaders
面倒なカレンダー登録作業を生成AIで自動化するワークフローを作ろう -
第38回
Team Leaders
生成AIに日本語プロンプトで指示を出し、メールから情報を抽出してもらおう -
第37回
Team Leaders
フォルダー内のすべてのファイルを添付してメールを自動送信するフローを作ろう -
第36回
Team Leaders
ローカルPCのテキストファイルをPower Automateに読み込ませて活用しよう -
第35回
Team Leaders
受信メールの添付ファイルを種類に応じたフォルダに自動保存する - この連載の一覧へ