Alexa音声アシスタント特集2018年04月24日SIN(328)56この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。Javaと同じコア機能セットとなっており、これにより、Amazonから提供されるスキル開発用のSDKは、JavaとNode.jsの2本だてとなりました。SDKの使い方を、順を追って紹介して行きたいと思います。(対象は、Node.js用のみです。Java用には触れておりません)なお、以前に紹介した下記の記事は、初期バージョン(Ver1.x)のものであり、これらの焼き直しともなっています。SDKを利用することで、その殆どを任せることができます。これにより開発者は、ロジックに集中することが可能になります。SDKの特徴は、次のように列挙できます。インストールインストールは、npmコマンドで可能です。ask-sdknode_modulesの下に、必要なモジュールが展開されますので、Lambdaへアップロードする際にzipに含まれるようにします。ask-sdkは、依存関係を含めると概ね40Mbyteです。コア機能のみを利用する場合は、下記のように600KByte程度で利用することも可能です。SDKを使用した最小限のスキルを書いてみました。SDKでは、SkillBuildersでスキルオブジェクトを生成し、ハンドラ(MyHandler)を追加していきます。Lambdaのパラメータ(event)を指定したinvoke()により、Lambdaの戻り値を返しています。ここで追加したハンドラ(MyHandler)では、canHandle()でtrue(常に処理する)を返しているため、このハンドラが、すべての処理を担うことになります。MyHandlerのhandle()では、responseBuilderを使用してレスポンスを組みたて、最後にgetResponse()でレスポンスを返します。返ってくる(だけの)スキルです。会話の継続と終了アレクサからの発話には、会話を継続するものと、終了させるものの2種類があります。簡単に記述できるようになっていましたが、残念ながら、Ver2では提供されていません。会話の継続と終了は、ResponseBuilderにreprompt()を追加するかどうかで決まります。会話(セッション)を終了させる場合ResponseBuilderにspeak()だけを追加すると、会話は終了します。.getResponse();レスポンスには、shouldEndSessionキーが含まれていないため、デフォル値であるtrueとなり、アレクサの発話の後、直ちにセッションは終了します。会話を継続したい場合は、speak()にプラスしてreprompt()を追加します。.getResponse();こうすることで、レスポンスでは、shouldEndSessionキーがfalseとなり、会話は継続となります。会話継続にした場合は、アレクサの発話の後、ユーザーからの返答を待つようになります。このタイミングでユーザーからの返事がない場合、今度は、催促するようにreprompt()で指定した内容が発話されます。複数のハンドラー定義ハンドラーは、addRequestHandlersによって幾つでも追加することができます。.create();そして、どのリクエストをどのハンドラで処理するかは、canHandle()の戻り値で区別します。最初のサンプルでは、ここでtrueを返していたので、すべてのリクエストを処理するようになっていました。}};canHandle()で、対象となるリクエストを絞ることで、複数のハンドラを定義できます。以下の例では、LauchRequestとIntentRequestのOrderIntentを処理するハンドラを定義しています。記述してみることにします。サンプルは、簡単なコーヒーショップのスキルです。スキルを起動すると「ようこそ・・・」というようなウエルカムメッセージを返し、注文を聞きます。コーヒーを注文をすると、スキルは終了します。定義されているインテントは、以下のOrderIntentだけです。呼び出し名は、「コーヒーショップ」になっています。コードは、下記の通りです。}};動作している様子です。使用するような手法は、標準機能からは無くなっています。(同等の記述は可能)今回紹介したサンプルは、必須のハンドラであるAMAZON.HelpIntent、StopIntent、CancelIntentの処理や、エラー処理などは、まったく行なっておりません。させて頂きたいと考えております。3,285,640CX事業本部の平内です。最近は、音声で操作するアプリの開発を担当させて頂いてます。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。〜ITエンジニアのお仕事とホンネ〜1月30日に新卒向けの会社説明会〜ITエンジニアのお仕事とホンネ〜を開催します。濱田孝治80EKS初心者の方向けに、EKS周辺のAWSリソースがどのように関連して動作しているのかをステップバイステップでEKSCTLが担っている役割を中心に説明しました。菊池修治45こんにちは、菊池です。VPNの冗長化について、最近何度か続けて社内で質問を受けましたのでまとめようと思います。大前諒祐26MediaLiveでの配信終了時に自動でアーカイブファイルをMediaConvertで変換する仕組みを作ってみました。武田隆志1179このエントリは、2018年、2019年に公開したAWS全サービスまとめの2020年版です。これまではいくつかに分割して公開していましたが、1エントリにまとめてほしいという要望をもらっていたため、今年は1エントリに集約してみました。クラスメソッドの関連会社であるアノテーション株式会社の研修として依頼を受け、チームと心理的安全性、それに礼節というテーマで話をしてきました。CAFEのサービスが「LINEアプリ」として利用できるようになりました。これまではLINEのトークから利用する形でしたが、LINEサービス内から利用できるようになりました。これまでより便利に、シームレスにご利用いただけます。Cafe328件のシェア(そこそこ話題の記事)インフラ未経験の私が内定から入社までに読んだ技術書11冊ブログ記事2020年01月16日Yui328インフラ未経験で入社した私がインフラを勉強するために読んだ技術書11冊を感想とともにまとめました。濱田孝治272「ふわわぁ、眠いな。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。