Azure Bot FrameworkとQnA Maker Serviceを用いて作成した、Skype for Business用ChatBotのサンプルコード(C#版)です。Application Insightsを用いて、チャットログのトレースを行うことができます。 Visual Studioを用いずに、Azureポータル上の簡単な設定だけでChatBotを動かすことが出来ます。Skype for BusinessではRich Interface(選択ボタンetc)が機能しないため、数字での入力をユーザに促す設定になっています。 ChatBotやApplication Insightsを用いたログ解析のPoCに、お使いいただけます。
- Azureポータルでリソースの作成からWeb App Botをデプロイしてください。この際、ボットテンプレートを選択できますが、Question and Answer(C#) をお選びください。
-
デプロイが完了したら、Web App Botをお開きください。
-
Web App Botを開いたら、画面左側のリストからアプリケーション設定を選択してください。
- AzureポータルのWeb App Botのアプリケーション設定の以下の欄に、QnA Makerポータルで発行された3種類のキー (QnAAuthKey, QnAEndpointHostName, QnAKnowledgebaseId)を貼り付けてください。
- 入力が終わりましたら、画面上部の保存をクリックしてください。
- App Serviceの画面左側のリストから、App Service Editor (プレビュー) を選択して頂き、移動 をクリックしてください(ブラウザで別ウィンドウが開きます)。
- App Service Editorの画面にて、画面左側に複数個のフォルダとファイルがあるかと思います。これらを全て削除してください(ファイル名上で右クリック→Delete)。
- 変更内容は全て自動で保存されます。すべて削除し終わったら、Azureポータル画面にお戻り下さい。
-
App Serviceの画面左側のリストからデプロイ オプションを選択してください。
-
ソースの選択から外部リポジトリを選択してください。
- リポジトリのURLに、このリポジトリのURL(https://github.com/NoriMin/ChatBotSample_SkypeforBiz_AppInsights.git)をコピー&ペーストしてOKをクリックしてください。
- 完了すると、以下のような画面になります。
- App Serviceの画面左側のリストから、Application Insights を選択して頂き、変更 をクリックしてください。
- 既存のリソースの選択でWeb App Botと共にデプロイしたApplication Insightsリソースを選択してください。アプリケーションのインストゥルメンテーションでランタイム/フレームワークをASP.NETとしてください。Web App Botデプロイ時にApplication Insightsを作成していない場合は、新しいリソースの作成を行ってください。
- OKをクリックすると、以下のようなポップアップが表示されますが続行を選択してください。
以上で、セットアップは終了です。Web Chatや登録済みのSkype for Businessから動作確認を行ってください。
- 設定を行ったApplication Insightsの概要タブから分析を選択してください。
- 画面上部の空欄にクエリを入力します。クエリの詳細については、以下のリンクをご参照ください。 (https://github.com/NoriMin/AppInsightsQuery-TraceLogs/blob/master/README.md)
- クエリ作成後、RUNを押すと結果を見ることが出来ます。
※Application Insightsからログデータを見る際には、ボットに入力があってから2~5分程度のラグがある場合がありますが、通常の動きなので問題はありません。
- 結果を.csvファイルにエクスポートし、Excel等で管理することも可能です。
ここで示した手順では、ChatBotおよびApplicationInsightsによるログ取得の動作確認を行っていただけますが、ソースコードの編集は行えません。ソースコードを編集できる形で共有できるように、現在検証を行っていますので、今しばらくお待ちください。