Googleを使って)作ってみようと思うと以下の選択肢があります。Cardsアシスタントアプリ学習用のフラッシュカードテンプレートまぁおおよそは、以下から選択するわけですが、違いがあります。SDK(構文解析などは自分でやる必要がある)後者はガチで、前者は簡単にサービスを開始できます。この記事は、前者のDialogflowについて書いていきます。参考記事:Googleに買収された自然言語対話プラットフォーム「API.AI」が「Dialogflow」に名称変更!GoogleHomeのアプリは以下のような流れで実行されます。TTS)GoogleHome(スピーカー)で私たちは音声を聞くことができるのです。Dialogflow単体でいうと、Googleアシスタントだけではなく、LINEやSlackのBOTも作れます。APIDialogflowにはAPIがあり、主な利用用途は以下のとおりです。GUIを使わずにCLIから操作できるクライアントアプリを作るアプリの設定を自動化するWebhookのインターフェース現在の安定板はV1ですが、V2がbeta1として存在しています。V1とV2の違いは公式サイトに書かれています。Edition(現在はベータ版)というのがあって、商用アプリを作る人にはきになるところです。Edition(無料版)には制限があります。Editionでも制限はないということです。必須です)LINEやSlackのBOTを作りたいけど、制限を解除したいまた、DialogflowのWebhookアプリを作るのには、以下の2つから選択します。JSONを直接やりとりするNode.jsの公式ライブラリを使う当然、後者の方が簡単にアプリを作成できるので、宗教上の理由でNode.js使いたくないという理由がなければ後者の方が良いですね。library.ということです。作ってみたいろいろなことがあって、現時点V2使わないといけないかもしれない。V1にも簡単に戻れるようにしたい、みたいな「ふわっとした」状況ってあるじゃないですか。Dialogflowのデプロイも自動化したいよね、とか。いうことで簡単に「お試し」できるように、リクエストとレスポンスのJSONをV2/V1変換するミドルウェアを作りました。ミドルウェアにしたのは簡単に取り外せるようにするためです。dialogflow-fulfillment-v2-middlewareV1のアプリは以下のようなコードになります。res});dialogflow.handleRequest(actionMap);V2のアプリにしたい場合は、エントリポイントのJSだけを変更して、以下のようにすることを想定しています。dialogflowV2.v1to2(response));connectというミドルウェアレイヤーを使って、DialogflowのWebhookアプリでミドルウェアを使えるようにしています。Lambdaを使った場合は、expressとか使うと思うので、expressのミドルウェアとして差し込んでもらえれば大丈夫です。V1レスポンスをV2レスポンスに変換するラッパー2つのAPIがPublicになっています。さいごにJSONを変換するだけの簡単な実装ですが、手元のアプリではV2に切り替えてもうまく動作しました。Requestお待ちしております(もちろんそのうち書く予定ですが...)。うまく動作しない!などあれば、Issueで報告ください(日本語でOK)。