Bot Framework で会話のログを取る

15
Bot Framework で 会話のログを取ろう♪ (C# - 2017/8月編) 2017-8-30 Cogbot #8 LT

Transcript of Bot Framework で会話のログを取る

Bot Framework で

会話のログを取ろう♪(C# - 2017/8月編)

2017-8-30

Cogbot #8 LT

ABOUT ME

@BEACH_SIDE

横浜 篤よこはま あつし

http://beachside.hatenablog.com/

Using…

C#, ASP.NET, Azure, Cognitive Services, Bot Framework….

C#er ♪

Cogbot

コミュニティ

BEACHSIDE BLOG

Bot Framework とは

Bot Frameworks とは

•LTだと説明する時間がない!省略

公式ドキュメント:https://labs.cognitive.microsoft.com/

会話のログについて

Bot Framework(Bot Builder)内では…

•“IActivityLogger “というインターフェースがあり、これを実装したクラスを作ることで、会話のログが楽にとれる•デフォルトでは、何も出力しない設定になっている

( “NullActivityLogger” クラスがセットされている)

•具体的にはこちら• https://github.com/Microsoft/BotBuilder/blob/master/CSharp/Library/Microsoft.Bot.Builder/ConnectorEx/IActivityLogger.cs#L81-

L91

• https://github.com/Microsoft/BotBuilder/blob/31048a2173313c81a2db47efce6a8a869b4ec284/CSharp/Library/Microsoft.Bot.Buil

der.Autofac/Dialogs/DialogModule.cs#L372-L375

“IActivityLogger “ のログ出力

•出力したいタイミングにコードを書かなくても、よしなに出

力してくれる•何を出力するかの実装は必要

•出力のタイミングは、• チャットボットが、ユーザーからメッセージを受け取ったとき

• チャットボットが、ユーザーにメッセージを返すとき

DemoIActivityLogger

• 出力ウインドウにログを出力

簡単 かつ 実用度ゼロ

そこで、

Nuget パッケージの

Microsoft.Bot.Builder.Azureですよ

Microsoft.Bot.Builder.Azure

•Microsoft で出しているライブラリ(Nuget パッケージ)https://www.nuget.org/packages/Microsoft.Bot.Builder.Azure/

• Azureと連携するための機能が実装されている

• Queue とかに出力する機能のコードはあるけど…

Microsoft.Bot.Builder.Azure - “TableLogger “ クラス

•Azure Table Storage にログを出力する• Aictivity を圧縮して保存する(見るときは展開が必要だよ)• https://github.com/Microsoft/BotBuilder-

Azure/blob/478790baed4fa675e31b9e71a5038cb5fc376e07/CSharp/Library/Microsoft.Bot.Builder.Azure/

TableLogger.cs#L115-L129

• “TableLoggerModule” が面倒な処理をラップしてくれている

DemoBot.Builder.Azure

• Azure Table Storage に出力

簡単 かつ 実用的

まとめ

• 簡易なロギングの方法は用意されている

• これから増えそう(Bot.Builder.Azureの実装中のコードを見る限り…)

• 詳しいことは、数回に分けてブログでまとめてます。

http://beachside.hatenablog.com/archive/category/Bot