Mechanical Echelon

色々とやったことを書いていく

Dialogflowのチュートリアルでチャットボットを作ってみる Part.3

今回からPart.4 Part.5にかけて実際にAPIコールを使用して関連する天気を返すようにするためにFulfillmentを追加していきます。

この記事の内容はDialogflowの
Basic Fulfillment and Conversation Setup
に書かれています。

Part.2では、自分で入力した応答を返答する基本的なエージェントを作成しました。
今回からは、例えば「今日の東京の天気は?」と聞かれたら、
今日の東京の実際の天気を応答として返せるようになることを目標とします。

ユーザーが要求している実際の情報を提供するには、サービスの展開とAPIの呼び出しが必要なフルフィルメントを設定する必要があります。
今回は自身のPC上の環境構築、Google Cloud Projectの設定、Google Cloud SDKのインストールを行います。

1.自身のPC上で環境構築を行う

Fulfillmentを追加するために、環境構築を行っていきます。

・自分のローカルシステム上にディレクトリを作成します。今回はC:\Dialogflow\my_weatherというディレクトリを作成します。
・作成したディレクトリにindex.jsファイルを作成します。[画面1]
・作成後以下のコードをindex.jsに記入します。(キャプチャ画面を訂正しました)[画面2]

exports.my_weather = function my_weather (request, response) {
  response.json({ fulfillmentText: 'This is a sample response from your webhook!' });
};

f:id:den_noh:20180509000617j:plain
[画面1]

f:id:den_noh:20181105233635j:plain
[画面2]


2. Google Cloud Projectの設定

引き続きFulfillmentを追加するための、環境構築を行います。
ここではQuickstart: Using the gcloud Command-Line Toolの1-5の手順の説明をしていきます。

・Cloud Platform Console プロジェクトを作成します。以下からプロジェクトページに移動します。
console.cloud.google.com

・(多分)アカウントの選択画面が現れるので、Dialogflowにログインしているのと同じアカウントでログインします。
・プロジェクトページに移動したら、「無料トライアルを試す」*1をクリックします。(無料トライアル試さなくてもできるかも・・。)[画面3]
利用規約に同意し「同意して続行」をクリックします。[画面4]
・名前、住所、電話番号、クレジットカード番号等情報を入力し終えると、Google Cloud Platformのスタートガイドに移ることを確認します。[画面5]

2.1. プロジェクトの課金を有効にする。*2

2.1.1. 新しい請求先アカウントの作成を行う

参考:Create, Modify, or Close Your Billing Account  |  Cloud Billing Documentation  |  Google Cloud
Google Cloud Platform Console に移動します。
・Console の左側のメニューを開き、[お支払い] を選択します。[画面6]
・お支払いの画面で請求先アカウントがない方は組織を選択という部分があるので、そこを変えると出てくるかもしれないです。[画面7]
請求先のアカウントがある方は、プロジェクトの課金を有効にするへ進んでください。
・請求先アカウントを追加ボタンをクリックします。[画面8]
・請求先アカウントの名前を入力し、続行します。(組織欄はそのままにしました)[画面9]
・国、通貨を確認し確認ボタンをクリックします。[画面10]
・お支払いプロファイルを確認し、「送信して課金を有効にする」をクリックします。



f:id:den_noh:20180509002338j:plain
[画面3]

f:id:den_noh:20180509005742j:plain
[画面4]

f:id:den_noh:20180509005806j:plain
[画面5]

f:id:den_noh:20180509124046j:plain
[画面7]

f:id:den_noh:20180509120812j:plain
[画像6]

f:id:den_noh:20180509121406j:plain
[画面8]

f:id:den_noh:20180509121948j:plain
[画面9]

f:id:den_noh:20180509122349j:plain
[画面10]

2.1.2. プロジェクトの課金を有効にする

Google Cloud Platform Console に移動します。
・Console の左側のメニューを開き、[お支払い] を選択します。
・お支払い画面に移動後、マイプロジェクトをクリックします[画面11]
・my_weatherの操作の部分をクリックし、請求先アカウントを変更をクリックします。[画面12]
・「アカウントを設定」をクリックします。[画面13]
・請求先アカウントが設定されていることを確認します[画面14]
以上でプロジェクト課金の有効化は終了です。

f:id:den_noh:20180509135404j:plain
[画面11]

f:id:den_noh:20180509135437j:plain
[画面12]

f:id:den_noh:20180509135506j:plain
[画面13]

f:id:den_noh:20180509135857j:plain
[画面14]

2.2. Cloud Functions API を有効にする。

・以下のページを開きます。
console.cloud.google.com

・プロジェクトを作成をクリックし、my_weatherを選択します。[画面15]
・続行をクリックします。[画面16]
・Cloud Function APIが有効化されました。と表示されたのを確認し続行をクリックします。[画面17]
以上でCloud Functions API の有効化は完了です。

f:id:den_noh:20180511002746j:plain
[画面15]

f:id:den_noh:20180511002746j:plain
[画面16]

f:id:den_noh:20180511003319j:plain
[画面17]

3. Google Cloud SDK のインストール

Cloud SDK のインストーラをダウンロードします。インストーラには Google Inc. による署名が付いています。
Google Cloud SDKインストーラ
https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe

インストーラをダウンロードしたら実行します。
・すべてデフォルトでインストール。
f:id:den_noh:20180513000352j:plain
f:id:den_noh:20180513000401j:plain
f:id:den_noh:20180513000417j:plain
f:id:den_noh:20180513000418j:plain
f:id:den_noh:20180513000422j:plain
f:id:den_noh:20180513000427j:plain
20分ぐらい待つ
f:id:den_noh:20180513002720j:plain
・インストールが完了したら、次のオプションを受け入れます。
→Start Cloud SDK Shell
→gcloud init を実行する
f:id:den_noh:20180513002919j:plain

・これにより、ターミナル ウィンドウが開いて gcloud init コマンドが実行されます。
・ [1] Re-initialize this configuration [default] with new settingsを選択(1をコンソールに入力してEnter)[画面18]
・ [2] Log in with a new accountを選択[画面19]
・アカウントの選択画面になるのでDialogflowを作成してるアカウントを選択→許可
・作成しているプロジェクト名を選択(僕の場合1)[画面20]
・そのまま、gcloud コンポーネントの更新とインストール[画面21]
→gcloud components update && gcloud components install beta
とコンソールに入力してEnter(途中Dou you want to continue(Y/n)?と聞かれるのでY)[画面22]
15分ぐらい待機
・Update done!と表示されたらEnter押して完了[画面23]

以上でGoogle Cloud SDK のインストールと初期化は終了です。

f:id:den_noh:20180513004102j:plain
[画面18]

f:id:den_noh:20180513004244j:plain
[画面19]

f:id:den_noh:20180513004659j:plain
[画面20]

f:id:den_noh:20180513030629j:plain
[画面21]

f:id:den_noh:20180513030739j:plain
[画面23]

f:id:den_noh:20180513030748j:plain
[画面24]


今回は、自身のPC上の環境構築、Google Cloud Projectの設定、Google Cloud SDKのインストールをおこないました。
Fulfillmentを追加までにはさらに、次回以降の設定も行っていく必要があります。
次回はgcloudで関数のコンパイルをしていきます。


*1:無料トライアルについて

*2:無料トライアルについてを参照。無料トライアルで料金が発生することはありますか?の部分に、先ほど設定した300 ドル分のクレジットが適用される。使用額に応じて課金され、無料トライアルを試してる場合、300 ドル分のクレジットを使い切った時点でアカウントが一時停止されるため、勝手に有料に切り替わるということはない的なことが書いてある