Microsoft Bot Frameworkで作るChatbot 4

作ったChatbotを公開してみよう

前回まで作成したChatbotを、ブラウザ経由でどこからでも利用できるように公開してみる。

樋口 勝一

2017年11月8日 6:00

作ったChatbotを公開してみよう

前回の記事で作ってきたChatbotは、ダイアログを使って話題分岐できるなど、ようやくChatbotらしくなってきました。テスト用のエミュレーターばかりではなく、実際に誰でも利用できるように公開してみましょう。Chatbotの公開手順は以下のようになります。

Chatbotの公開までの流れ

Chatbotの公開までの流れ

Azure App Serviceにデプロイ

Visual Studioから作成したChatbotは、Webアプリケーションとして開発されています。このままAzure App Serviceにデプロイ(配置)して、まずはインターネット上からアクセスできるようにします。Visual Studioには、Azure上にアップロードするためのウィザードが用意されているので簡単です。

まずは、Visual Studioのソリューションエクスプローラーから、プロジェクト名「ChatBot201707」を右クリックして「公開」を選択します。

ソリューションエクスプローラーから「公開」を選択

ソリューションエクスプローラーから「公開」を選択

「Microsoft Azure App Service」と「新規作成」のラジオボタンを選択して「発行」ボタンをクリックします。

Microsoft Azure App Serviceを選択

Microsoft Azure App Serviceを選択

「App Service の作成」ウィザードが起動します。Azureに接続するためのアカウント情報を設定するために、「アカウントの追加」ボタンをクリックします。

アカウントの追加を選択

アカウントの追加を選択

ここではAzureにデプロイするための各情報を入力していきます。そのうちの「API Appの名前」には、自動的にプロジェクト名「ChatBot201707」が入力されています。その他の項目について入力したのち、「作成」ボタンをクリックします。

Azureへのデプロイに必要な情報の入力

Azureへのデプロイに必要な情報の入力

発行が完了すると、サイトURLなどの設定情報が表示されます。

発行の完了

発行の完了

さらにしばらくすると自動的にブラウザが起動して、サイトURLで指定されたページが表示されます。Visual StudioでChatbotをデバック起動した時に表示されたものと同様の内容が表示されていれば成功です。

デプロイが完了

デプロイが完了

Bot Frameworkの設定

次に、Bot Frameworkの設定を行います。ポータルサイトからサインインしてBotの登録と、様々なメッセージングアプリケーションとの接続設定が可能です。

サインイン

Microsoft Bot Frameworkのページを開きます。Topページの右上の「Sign in」をクリックして、Microsoftアカウントでサインインします。

Microsoft Bot Framework

Microsoft Bot Framework

Botの登録

ここでは「Create a bot」をクリックします。

Botの登録

Botの登録

次に「Create」をクリックすると、Botの作成に関するダイアログが表示されます。ここでは、すでにAzure上にChatbotをデプロイしているので「Register an existing bot built using Bot Builder SDK.」を選択します。

Botの作成方法を選択するダイアログ

Botの作成方法を選択するダイアログ

続いてBotの登録情報を入力します。

Botの登録情報を入力する画面

Botの登録情報を入力する画面

各設定項目と指定する内容は、以下の通りです。

Bot profile

Bot profile

Icon 任意のアイコンに変更可
Display name ChatBotの表示名
Bot handle URLに使用される文字列
Long description ChatBotの説明文

Configuration

Configuration

Messaging endpoint AzureにデプロイしたChatbotの「https」のURLに「api/messages」を追加したもの。
例:https://chatbot201707.azurewebsites.net/api/messages
※必ずhttpsである必要があり、Azure App Serviceは既定でhttpsに対応しています。
Register your bot with Microsoft to generate a new App ID and password 「Create Microsoft App ID and password」を選択してApp IDとパスワードを作成します。
Paste your app ID below to continue App IDとパスワードが作成されると自動的にApp IDが入力されます。

Analytics

Azure Application Insightsを利用してChatbotのアクセス解析など行いたい場合は設定します。今回は割愛します。

Admin

Admin

Owners 管理者のメールアドレスを設定します。

各設定項目を入力したら、「I agree..」にチェックを入れて「Register」ボタンを選択します。

これでBotの登録が完了しました。既定で、SkypeとWeb Chatへの接続はすでに完了しています。

Botの登録が完了!

Botの登録が完了!

アプリIDとパスワード

Bot登録時に「Create Microsoft App ID and password」を選択して作成したアプリIDとパスワードは、Visual Studioで開発したChatbotのWeb.configに記述する必要があります。

App IDとパスワードを作成

App IDとパスワードを作成

Visual Studioのソリューションエクスプローラーから、「Web.config」を開きます。「MicrosoftAppId」の値に生成したアプリIDを、「MicrosoftAppPassword」の値に生成したパスワードを設定して保存します。

リスト1:アプリIDとパスワードをWeb.configに記述

<appSettings>
  <!-- update these with your BotId, Microsoft App Id and your Microsoft App Password-->
  <add key="BotId" value="YourBotId" />
  <add key="MicrosoftAppId" value="アプリID" />
  <add key="MicrosoftAppPassword" value="パスワード" />
</appSettings>
アプリIDとパスワードを設定

アプリIDとパスワードを設定

保存したら、もう一度プロジェクト名「ChatBot201707」を右クリックして「公開」を選択します。その後Azure上にデプロイして、再発行しておきます。

Botのテスト

Chatbotの再発行が完了したら、Web上にあるChatbotのテストを行ってみましょう。Microsoft Bot Frameworkのポータルに戻り、右上の「Test」を選択します。さっそくChatbotに話しかけてみましょう。問題なく会話できていれば、登録は成功です。もし、テストで思うように会話できない場合は、ページを再表示してみましょう。なにか問題がある場合は、「Web Chat」の「Health」の項目に赤字で「Issues」と表示されるので、クリックしてとエラー内容を確認してみましょう。

Botをテスト

Botをテスト

この記事のキーワード

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る