Dialogflowを使ってGoogleHomeアプリを作ってみた
概要
寂しい夜はGoogleHomeともっと会話したい?と思って勉強した内容の備忘録です。
ももクロちゃんの名前を言うと担当カラーを教えてくれるだけのアプリを作成しました。
参考にしたサイト
前提条件
- Dialogflowが使用できる(要Googleアカウント)
- インターネットに接続されたPythonが動作するWebサーバが使用できる
Dialogflowでテストアプリの作成
- GoogleアカウントでDialogflowにログインし「CREATE AGENT」をクリック
- 「Agent name」に「MyApp(任意)」を入力、「DEFAULT LANGUAGE」は「Japanese-ja(任意)」を選択し、「CREATE」をクリック
ENTITYの作成
- 左カラムの「Entities」をクリックし、中央カラムの「CREATE ENTITY」をクリック
- モノノフ仕様で、「Entity name」は「mcz」で以下のようにエントリーしました(このあたりはご自由に)
- 「SAVE」をクリック
INTENTの作成その1
- 左カラムの「intents」をクリックし、中央カラムの「Default Welcam Intentt」をクリック
- 「Training phrases」に「百田夏菜子は何色担当?」と入力しEnter
- 「百田夏菜子」が黄色く網掛けされるはず
- 「Action and parameters」に値が入力されているので「REQUIRED」をチェック
- 「Responses」は使用しないので「Text responses」はすべて削除
- 「SAVE」をクリック
Fulfillmentの設定
- 左カラムの「Fulfillment」をクリックし、中央カラムの「Webhook」を「ENABLED」に設定
- 「URL」にこれから作成するアプリのURLを記載する
- 「SAVE」をクリック
INTENTの作成その2
- 左カラムの「intents」をクリックし、中央カラムの「Default Welcam Intentt」をクリック
- 「Fulfillment」の「Enable webhook call for this intent」を有効に設定
- 「SAVE」をクリック
スクリプトの作成および配置
Fulfillmentの設定で指定した場所にスクリプトを配置します。
#!/usr/local/bin/python2.7
# -*- coding: utf-8 -*-
import json
import sys
input = json.load(sys.stdin)
print("Content-type: application/json\n\n")
message = input["result"]["parameters"]["mcz"]
if message == u"百田夏菜子":
answer = "赤です"
elif message == u"玉井詩織":
answer = "黄色です"
elif message == u"佐々木彩夏":
answer = "ピンクぅ?"
elif message == u"高城れに":
answer = "紫族です"
else:
answer = "わかりません"
output = {
"speech": answer
}
json.dump(output, sys.stdout)
動作確認その1
右カラムの「Try it now」に「あーりんは何色?」と入力したら、「DEFAULT RESPONSE」に「ピンクぅ?」と返ってきました。
動作確認その2
左カラムの「Integrations」をクリックし、中央カラムの「Google Assistant」をクリック。次の「Google Assistant」画面は「TEST」をクリックで、GoogleHomeと会話を開始することが可能です。
私「OK,Goolge テスト用アプリにつないで」
グーグルホーム「はい テスト用アプリのテストバージョンです」
私「玉井詩織」
グーグルホーム「黄色です」
私「れにちゃん」
グーグルホーム「紫族です」
私「とめて」
ってな感じで会話というか、反応があれば成功です。
最後に
解説なくてすみません。
多分間違いも多いと思います。
Author And Source
この問題について(Dialogflowを使ってGoogleHomeアプリを作ってみた), 我々は、より多くの情報をここで見つけました https://qiita.com/sunaga70/items/ca82aa800475a1b97d01著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .