このページの本文へ

前へ 1 2 3 次へ

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

画像を送信すると含まれる文字をAI Builderが書き起こして返信してくれるボット

ノーコード+AI BuilderでLINEボットを作ってみよう《ワークフロー作成編》

2022年02月22日 08時00分更新

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

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

1-2-4. アクションの作成:「AI Builder」コネクタ

 AI Builderを利用してLINEから送信された画像を解析します。

AI Builderコネクタの検索

 検索窓に「AI Builder」と入力し、一覧に表示される「AI Builder」コネクタをクリックします。

AI Builderコネクタの検索

 アクション一覧の中から「画像やPDFドキュメントのテキストを認識する」をクリックします。

サインイン

 初めてAI Builderコネクタを利用する場合、サインインを求められます。AI Builderが利用可能なアカウントでサインインしてください。

「画像やPDFドキュメントのテキストを認識する」コネクタの設定

 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アクションの追加

 アクション一覧の中から「Apply to each」をクリックします。なお、同じワークフロー内で2つ目の「Apply to each」アクションになるので、自動で「Apply to each2」という名前になります。

Apply to eachアクションの設定

 「以前の手順から出力を選択」には、「画像やPDFドキュメントのテキストを認識する」の動的なコンテンツの中から「results」をクリックします。

Apply to each2アクションの枠内で「アクションの追加」

 次のコネクタもApply to each2内に作成するので、Apply to each2の枠内にある「アクションの追加」をクリックします。

Apply to each3アクションを追加

 ここにもう1つ、「Apply to each」アクションを追加します。先ほどと同様に「コントロール」コネクタを検索し、そこから「Apply to each」アクションを選択すると、「Apply to each3」という名前でアクションが追加されます(枠はさらに入れ子状になります)。

 Apply to each3の「以前の手順から出力を選択」には、「画像やPDFドキュメントのテキストを認識する」の動的なコンテンツの中から「lines」をクリックします。

1-2-6. アクションの作成:「変数」コネクタ

Apply to each3の枠内に新規アクションを追加

 「画像やPDFドキュメントのテキストを認識する」アクションによって、画像に写っているテキストが抽出されました。その結果を、先に初期化しておいた変数「Extracted text」に格納します。

 その処理は「Apply to each3」の中で行うので、Apply to each3の枠内にある「アクションの追加」をクリックします。

変数コネクタ

 変数へのテキストの格納には「変数」コネクタを使います。検索窓に「変数」と入力し、一覧に表示される「変数」コネクタをクリックします。

「文字列変数に追加」アクション

 「Extracted text」変数は文字列型の変数として初期化してあります。ここではアクション一覧の中から「文字列変数に追加」をクリックします。

「文字列変数に追加」アクションの設定

 「文字列変数に追加」アクションは、以下の内容で設定します。

  1. 名前:「1-2-1. アクションの作成:「変数」コネクタ」で作成した変数名を選択(今回は「Extracted text」)
  2. 値:「画像やPDFドキュメントのテキストを認識する」コネクタの動的なコンテンツ「テキスト」を選択

1-2-7. アクションの作成:「HTTP」コネクタ

 画像からテキストを抽出できたので、最後にその結果をLINEにリプライする処理を追加します。

1つめの「Apply to each」の枠内でアクションを追加

 「1-2-2. アクションの作成:「Apply to each」コネクタ」で作成した、1つめのApply to eachの枠内にある「アクションの追加」をクリックします。上でも確認しましたが、合計3つのApply to eachが入れ子になっているので、アクションを追加する場所を間違えないようにしてください。

 検索窓に「HTTP」と入力し、「HTTP」コネクタを選択し、アクション一覧から「HTTP」をクリックします。

HTTPアクションの設定

 このアクションには以下の設定を入力します。

  1. 方法:「POST」を選択
  2. URI:「 https://api.line.me/v2/bot/message/reply 」を入力
  3. ヘッダー:左側に「Authorization」を入力。その右側は「Bearer(半角スペース)」に続けて、「0. LINEチャネルアクセストークンの発行」で表示されたチャネルアクセストークンのテキストをコピー&ペースト
  4. 本文:以下のJSONをコピー&ペーストします。

{
  "messages": [
    {
      "text": "@{variables('Extracted text')}",
      "type": "text"
    }
  ],
  "replyToken": @{items('Apply_to_each')?['replyToken']}
}

2. ワークフローの保存

 以上でワークフローの作成は完了です。最後にワークフローを保存します。

完成したワークフローを保存する

  1. 「無題」になっている部分をクリックしワークフローの名前を変更(今回は「LINEボット」)
  2. 「保存」をクリック

3. LINE側のWebhook設定を変更

 ワークフローを保存すると、「1-1. トリガーの作成」の段階では空欄になっていた「HTTP要求の受信時」コネクタの「HTTP POSTのURL」が設定されます。このURLをコピーして、LINE側にコピー&ペーストします。

 Power Automateのデザイナー画面で上記のURLをコピーしたら、LINE Developersのページに戻ります。

LINE Developersのページで「Messaging API設定」を開く

 タブメニューの「Messaging API設定」をクリックします。

Webhook設定

 下にスクロールすると「Webhook設定」があるので、以下のように設定します。

  1. Webhook URL:Power Automateのトリガーから「HTTP POSTのURL」をペーストします。
  2. Webhookの利用:図のように「オン」にします。

 LINEのWebhook設定が完了したら、実際にLINEのトークルームから写真を送信してみてください。

最後に

 LINE Developersの設定やワークフロー内の「Apply to each」コネクタの入れ子など慣れるまではわかりにくいところもあると思いますが、1行もコードを書かずにAI機能を含んだLINEボットを作成することができました。ぜひ色々と試してみてください。

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事