作った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」と「新規作成」のラジオボタンを選択して「発行」ボタンをクリックします。
「App Service の作成」ウィザードが起動します。Azureに接続するためのアカウント情報を設定するために、「アカウントの追加」ボタンをクリックします。
ここではAzureにデプロイするための各情報を入力していきます。そのうちの「API Appの名前」には、自動的にプロジェクト名「ChatBot201707」が入力されています。その他の項目について入力したのち、「作成」ボタンをクリックします。
発行が完了すると、サイトURLなどの設定情報が表示されます。
さらにしばらくすると自動的にブラウザが起動して、サイトURLで指定されたページが表示されます。Visual StudioでChatbotをデバック起動した時に表示されたものと同様の内容が表示されていれば成功です。
Bot Frameworkの設定
次に、Bot Frameworkの設定を行います。ポータルサイトからサインインしてBotの登録と、様々なメッセージングアプリケーションとの接続設定が可能です。
サインイン
Microsoft Bot Frameworkのページを開きます。Topページの右上の「Sign in」をクリックして、Microsoftアカウントでサインインします。
Botの登録
ここでは「Create a bot」をクリックします。
次に「Create」をクリックすると、Botの作成に関するダイアログが表示されます。ここでは、すでにAzure上にChatbotをデプロイしているので「Register an existing bot built using Bot Builder SDK.」を選択します。
続いてBotの登録情報を入力します。
各設定項目と指定する内容は、以下の通りです。
Bot profile
Icon | 任意のアイコンに変更可 |
---|---|
Display name | ChatBotの表示名 |
Bot handle | URLに使用される文字列 |
Long description | ChatBotの説明文 |
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
Owners | 管理者のメールアドレスを設定します。 |
---|
各設定項目を入力したら、「I agree..」にチェックを入れて「Register」ボタンを選択します。
これでBotの登録が完了しました。既定で、SkypeとWeb Chatへの接続はすでに完了しています。
アプリIDとパスワード
Bot登録時に「Create Microsoft App ID and password」を選択して作成したアプリIDとパスワードは、Visual Studioで開発したChatbotのWeb.configに記述する必要があります。
Visual Studioのソリューションエクスプローラーから、「Web.config」を開きます。「MicrosoftAppId」の値に生成したアプリIDを、「MicrosoftAppPassword」の値に生成したパスワードを設定して保存します。
<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>
保存したら、もう一度プロジェクト名「ChatBot201707」を右クリックして「公開」を選択します。その後Azure上にデプロイして、再発行しておきます。
Botのテスト
Chatbotの再発行が完了したら、Web上にあるChatbotのテストを行ってみましょう。Microsoft Bot Frameworkのポータルに戻り、右上の「Test」を選択します。さっそくChatbotに話しかけてみましょう。問題なく会話できていれば、登録は成功です。もし、テストで思うように会話できない場合は、ページを再表示してみましょう。なにか問題がある場合は、「Web Chat」の「Health」の項目に赤字で「Issues」と表示されるので、クリックしてとエラー内容を確認してみましょう。