AWS上のlambda(nodejs)でVUIのCLOVAにおみくじを引かせる

LINE CLOVA mini AWS
LINE CLOVA mini

必要なもの

実装する前に必要なものは以下

  • AWSのアカウント
  • LINE DEVELOPERのアカウント
  • npm
  • LINE CLOVA mini

では、早速実装していきましょう。

実装する前の事前知識

CLOVAとは

LINE CLOVA miniの画像

「Clova」は、LINE社開発の音声認識AIアシスタントで、今のところ全部で3つのタイプ、「Clova WAVE(ウェーブ)」「Clova Friends(フレンズ)」「Clova Friends mini(フレンズミニ)」があります。
この画像はフレンズミニになります。

それに加え、GeteBoxがLINEと業務提携しておりVUI(Voice User Interface)としての役割も少しずつ家庭の中に入ってきてますね。

 LINEが提供するCEK(Clova Extension Kit)

CEKは、Clovaを使うために開発されたツールで2018年7月12日に一般公開されました。今年のLINE BOOT AWARDS 2018でも使用される可能性がある候補の一つですね。

CEKの仕組み

CEKを簡単に説明すると、Clovaに話した内容をLINEのサーバーAPIで処理し、処理結果で得られた情報をWebhookという形で対象のサーバーに得られた情報を送る仕組みになっています。

今回はこの対象のサーバーにAWSを指定して、AWSのAPI Gatewayとlamdbaを連携してリクエストに対してレスポンスを返すことになります。nodejsで実装するのはこのLINEのサーバーから送られたリクエストを返すプログラムを実装します。ローカルの端末とは異なる実装(lambda仕様)になります。

AWSのlambda

まずはじめはAWSのlamdbaの実装から始めていきます。

lamdbaの作成

aws_lambdaの画像01

aws_lambdaの画像01

この「lambda」をクリックする

aws_lambdaの画像02

aws_lambdaの画像02

次に右上にある「関数の作成」をクリック

その後、「一から作る」を選択し下記のように設定する。

  • 名前:ClovaOmikuji
  • ランタイム:nodejs 6.10
  • ロール:テンプレートから新しいロールを作成
  • ロール名:ClovaOmikuji
  • ポリシーテンプレート:シンプルなマイクロサービスのアクセス権限

設定が完了したら右下にある「関数の作成」をクリックして関数の作成を行いましょう。

無事に完了するとこのような画面が表示されます。
左側のトリガー追加に「API Gateway」があるのでこれをクリックしましょう。

クリックしてAPI Gatewayが出てくればOKです。

次にとうとう、lambdaの実装に入っていきます。

lambdaの実装

lambdaの実装はいたってシンプルで、直接コーディングで問題ないです。
すでに既存のソースが入力されているので、コメントアウトか入れ替えるようにして下記のコードを記述してください。

これをコピーペーストでおみくじのlambdaの実装は終わりです。

あとは下記の記事を参考にすれば作成することができます。

AWS LambdaでLINE Clovaのスキルを作成する

上記のソースにあるコメントを外すとLINE MESSAGE APIの実装部分になるので、push通知を送ることもできますので、興味があればやってみてください。

コメント