狠狠撸

狠狠撸Share a Scribd company logo
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

More Related Content

Bot Framework で会話のログを取る