めるぶろぐ

まったりぷろぐらまーの雑記

【参加記録】AWSとLINEをつないでAIボットを作ろう![JAWS DAYS 2021 Re:Cap] #jawsug_bgnr #linedc

JAWS DAYSがG検定と被っていて参加できなかったハンズオン、
Re:Capで参加できたので再実行しつつまとめです。

イベントページ

linedevelopercommunity.connpass.com

資料

翻訳や文字起こしを行うbot作成の手順

taketakekaho.github.io

Amazon Lexの手順

www.notion.so

使用したサービスについて

LINE Developers

LINEの公式アカウントの作成・APIの設定などを行う。

AWS Lambda

イベントの発生(音声のストレージへの保存など)をトリガとして関数を実行する。
今回はnode.jsの関数を実行する。

Amazon S3

ストレージ。
LINEから入力した音声や文字起こししたJSONファイルを格納する。

Amazon Translate

翻訳するサービス。

Amazon Transcribe

音声を文字おこししてくれるサービス。

API Gateway

APIを作成する。今回はLINEからの入力を受信する。

Amazon Lex

チャットボットのような、対話型インターフェースを作成する。
GCPのDialogFlowみたいなもの)

ハンズオン

やったこと概要
  1. LINE公式アカウント・プロバイダーを作成する。
  2. Lambdaが使うIAMロールを作成する。
  3. 音声やテキストファイルを保存するS3バケットを作成する。
  4. Lambda関数を作成する。
  5. API Gatewayを作成し、
  6. Amazon Lexでホテルを予約する対話型ボットを作成する。
成果物

こんな感じ(再度のスクショ面倒だったので昨日のやつ)



つまづいた
  • API Gatewayの作成後、URL末尾に/webhookを入力するのを忘れてテスト通信時にエラーになった。手順書はちゃんと読もう。
  • Amazon LexのPublishを忘れていて応答がなかった。Slackにて質問して回答いただいた。手順書は(ry

その他

手順書がすごいよかったのでGoogleドキュメント触ってみようと思った。
zenn.dev

所感

LINEの公式アカウントでAIボットがこんな簡単に作れる!やったー!!という感じ。楽しかった。
音声の文字おこし、結構時間がかかるので(2秒の音声で体感1分くらいかかる)
長々と喋ってしまうとリターンがなくて不安になりそうだなと思った
(音声入力の上限時間は180秒らしい、限界までしゃべると1時間以上返ってこなくなるのかな?怖いので試してはみないが……)。

Amazon Lex、ちょっと使ってみた感じではDialogFlowのほうが操作性とか良いのでは?という感じがした。
(DialogFlow使うおしごともなくなってしまったから気が向いたらもうちょっと触ろう……。)

CDKとかCloudFormationでもできる、と言われてましたが、
S3やLambdaは最近CLI専門支部のハンズオンでやった内容なので
CLI化できないか(Lex部分は除く)ちょっとやってみようと思います。
(と書くことでやる気を出そうという試み……)