0:00:00.000,0:00:01.740 you want to make your Bott writing 0:00:01.740,0:00:03.659 experience much more enjoyable you're 0:00:03.659,0:00:05.100 not gonna want to miss this episode of 0:00:05.100,0:00:07.080 the AI show where Tony takes us through 0:00:07.080,0:00:10.620 the new bot framework emulator new and 0:00:10.620,0:00:13.530 improved shiny amazing you're not gonna 0:00:13.530,0:00:14.280 want to miss it 0:00:14.280,0:00:15.830 take a look 0:00:15.830,0:00:18.920 [Music] 0:00:18.990,0:00:20.789 hello and welcome to this episode of the 0:00:20.789,0:00:22.410 AI show we're going to talk about the 0:00:22.410,0:00:25.050 new quad emulator doing it right that is 0:00:25.050,0:00:26.609 right how you doing Tony I'm doing well 0:00:26.609,0:00:27.840 how are you doing good tell us what you 0:00:27.840,0:00:29.160 are and what you do so yeah my name is 0:00:29.160,0:00:31.109 Tony and Zion oh and I am one of the 0:00:31.109,0:00:32.729 developers on the Microsoft bot 0:00:32.729,0:00:34.559 framework and Azure about service team 0:00:34.559,0:00:36.269 and over the past few months I've been 0:00:36.269,0:00:38.190 working a lot on the new bot for America 0:00:38.190,0:00:40.140 emulator and I'm pretty excited to show 0:00:40.140,0:00:41.070 you guys some of the new features we 0:00:41.070,0:00:43.140 have alright let's take a look okay and 0:00:43.140,0:00:45.300 for any of those who don't know the bot 0:00:45.300,0:00:47.729 framework emulator or the you know 0:00:47.729,0:00:49.350 Microsoft off framework check us out on 0:00:49.350,0:00:51.679 our website at Deb ball framework comm 0:00:51.679,0:00:54.989 also on Azure under products in AI and 0:00:54.989,0:00:57.269 machine learning and then we also have 0:00:57.269,0:00:58.890 some get started getting started 0:00:58.890,0:01:01.289 resources and Doc's on Doc's table 0:01:01.289,0:01:03.449 Microsoft comm fantastic so you got all 0:01:03.449,0:01:05.580 the deets now let's take a look at all 0:01:05.580,0:01:08.429 the bits ok so here's kind of this 0:01:08.429,0:01:10.649 end-to-end development workflow we have 0:01:10.649,0:01:13.020 that's around developing a bot from 0:01:13.020,0:01:14.789 start to finish and we've centered this 0:01:14.789,0:01:16.350 around this new suite of tools we have 0:01:16.350,0:01:17.909 called bot builder tools nice 0:01:17.909,0:01:20.429 appropriate lead of course okay and so 0:01:20.429,0:01:22.050 the emulator doesn't cover all these 0:01:22.050,0:01:24.540 areas but what it does cover is planning 0:01:24.540,0:01:27.149 testing and refining your BOTS and it 0:01:27.149,0:01:29.159 excels at those pretty well so yeah 0:01:29.159,0:01:30.780 because like once you start building 0:01:30.780,0:01:32.460 BOTS the first one you build you're like 0:01:32.460,0:01:34.140 oh now I get this I ever actually 0:01:34.140,0:01:35.729 planned this like I do all my software 0:01:35.729,0:01:37.560 which takes a bit of time yeah and these 0:01:37.560,0:01:38.850 tools are designed to help with that 0:01:38.850,0:01:41.490 correct all right let's say ok so yeah 0:01:41.490,0:01:44.540 so we have this new transcript mode and 0:01:44.540,0:01:47.130 presentation mode and transcripts which 0:01:47.130,0:01:48.689 help you basically view mocked 0:01:48.689,0:01:50.219 conversations as they would look in 0:01:50.219,0:01:51.450 production without having to write a 0:01:51.450,0:01:53.310 single line of code so that's pretty 0:01:53.310,0:01:55.770 cool for testing you know we have all 0:01:55.770,0:01:57.509 the core functionalities of the old bot 0:01:57.509,0:01:59.850 emulator which basically allows you to 0:01:59.850,0:02:02.009 set debug set breakpoints in your code 0:02:02.009,0:02:04.399 and have a full debugging experience and 0:02:04.399,0:02:06.689 refining your bot we have this really 0:02:06.689,0:02:08.910 cool piece of UI called the inspector 0:02:08.910,0:02:10.320 panel which allows you to look at all 0:02:10.320,0:02:11.760 the underlying structure of your 0:02:11.760,0:02:14.130 messages to and from your bot and your 0:02:14.130,0:02:15.810 network traffic and all that stuff so 0:02:15.810,0:02:17.609 you can actually get in there and debug 0:02:17.609,0:02:19.350 yeah you can see what's going on behind 0:02:19.350,0:02:21.540 the scenes everything ok so now that 0:02:21.540,0:02:23.190 I've talked about all this let me kind 0:02:23.190,0:02:24.540 of dive in and show you what I'm talking 0:02:24.540,0:02:27.750 about here's to it so here we are in the 0:02:27.750,0:02:31.049 new emulator welcome page you can see 0:02:31.049,0:02:32.819 we've given it a pretty significant face 0:02:32.819,0:02:34.680 for any of those who have used the old 0:02:34.680,0:02:37.290 one and so basically what I'm gonna do 0:02:37.290,0:02:39.150 is show you transcripts and what those 0:02:39.150,0:02:40.739 are because they're a brand new concept 0:02:40.739,0:02:43.680 so let's go ahead and open this 0:02:43.680,0:02:46.739 transcript in the left over here and now 0:02:46.739,0:02:48.480 what you'll see is it has populated this 0:02:48.480,0:02:51.269 web chat window with basically every 0:02:51.269,0:02:54.090 every conversation or every message in 0:02:54.090,0:02:55.859 this conversations history just like we 0:02:55.859,0:02:57.930 had this conversation right here this is 0:02:57.930,0:03:00.480 literally like wire framing your old old 0:03:00.480,0:03:02.040 apps that we used to have Windows with 0:03:02.040,0:03:03.629 right right this is like wire framing a 0:03:03.629,0:03:05.099 chapter right exactly so what a 0:03:05.099,0:03:06.659 transcript is it's basically just a 0:03:06.659,0:03:08.459 record of a conversation you had with a 0:03:08.459,0:03:10.620 bot that the emulator can understand is 0:03:10.620,0:03:12.150 it what kind of format are we talking 0:03:12.150,0:03:12.500 about 0:03:12.500,0:03:15.599 no it's basically just a JSON array of 0:03:15.599,0:03:17.879 just a bunch of conversation activities 0:03:17.879,0:03:19.230 so you can literally type one up and 0:03:19.230,0:03:20.969 notepad um still I'll get to that later 0:03:20.969,0:03:23.099 that will be with chat down and that 0:03:23.099,0:03:24.780 converts to a transcript but transcripts 0:03:24.780,0:03:27.150 are actually Auto generated by the 0:03:27.150,0:03:28.620 emulator so I'll show you how to do that 0:03:28.620,0:03:32.180 fantastic so basically let's open up a 0:03:32.180,0:03:36.599 live chat so this means I'm talking with 0:03:36.599,0:03:38.159 a remote bot right here we can see it's 0:03:38.159,0:03:40.290 talking to test spot bot framework comm 0:03:40.290,0:03:43.049 so test bot is just gonna you know F go 0:03:43.049,0:03:44.790 back whatever I say hey test bot will 0:03:44.790,0:03:46.500 say hey you know I can give it a smiley 0:03:46.500,0:03:49.109 face echo stuff like that 0:03:49.109,0:03:51.329 and basically getting a transcript file 0:03:51.329,0:03:53.099 from this is as easy as going up here 0:03:53.099,0:03:55.919 hitting save transcript as and then you 0:03:55.919,0:04:00.209 just say you know just made this and we 0:04:00.209,0:04:01.889 can save it we can see it populated in 0:04:01.889,0:04:03.780 this File Explorer window to the left 0:04:03.780,0:04:05.879 and we can click that and open it and 0:04:05.879,0:04:07.709 boom there's the conversation we just 0:04:07.709,0:04:11.099 had with test box cool so and then one 0:04:11.099,0:04:13.169 other way to do it is with our new tool 0:04:13.169,0:04:15.930 called chat down so real quick I'll show 0:04:15.930,0:04:18.000 you how easy it is to create a 0:04:18.000,0:04:19.858 transcript from a chat file with chat 0:04:19.858,0:04:22.019 down so basically what we want to do is 0:04:22.019,0:04:25.110 just say okay what does our users name 0:04:25.110,0:04:27.479 gonna be that's gonna be me we're gonna 0:04:27.479,0:04:28.949 say what is our BOTS name gonna be 0:04:28.949,0:04:30.900 that's gonna be demo BOTS I guess and 0:04:30.900,0:04:33.180 then basically it's as easy as writing 0:04:33.180,0:04:35.099 back and forth what you want each person 0:04:35.099,0:04:37.979 to say it at one another I see yeah so 0:04:37.979,0:04:41.400 I'll say you know hey how's it going 0:04:41.400,0:04:46.500 demo a lot so it's a typo okay and then 0:04:46.500,0:04:49.890 demo BOTS gonna respond with hey hey I'm 0:04:49.890,0:04:55.200 doing really well what can I help typing 0:04:55.200,0:04:57.600 man typing is so hard we have BOTS that 0:04:57.600,0:05:01.320 speak hey I'm doing really well 0:05:01.320,0:05:05.130 what can I assist you with today and you 0:05:05.130,0:05:08.280 know I'm just gonna say oh I was just 0:05:08.280,0:05:11.250 wondering what you think of the demo so 0:05:11.250,0:05:15.210 far well you're a fast typer though it 0:05:15.210,0:05:17.340 helps you know and demo BOTS is going to 0:05:17.340,0:05:20.850 say you know well to be honest I think 0:05:20.850,0:05:27.919 this is probably the best the best demo 0:05:27.919,0:05:31.080 I've ever seen nice 0:05:31.080,0:05:32.880 you know demo BOTS really nice of course 0:05:32.880,0:05:37.190 and so we're gonna save this in our 0:05:37.220,0:05:40.130 folder here called we'll just call demo 0:05:40.130,0:05:43.260 dot chat so a chat file is what is 0:05:43.260,0:05:46.290 consumed by our tool chat down and chat 0:05:46.290,0:05:47.940 downs not included in the emulator but 0:05:47.940,0:05:49.860 you can install via NPM and stuff like 0:05:49.860,0:05:51.870 that's really easy so we can go back to 0:05:51.870,0:05:54.390 our folder here we can see the demo chat 0:05:54.390,0:05:55.680 is in there and all we have to do is 0:05:55.680,0:05:58.890 chat down the name of the chat file we 0:05:58.890,0:06:01.650 want to convert pipe it into the name of 0:06:01.650,0:06:03.000 the transcript file we want to generate 0:06:03.000,0:06:05.850 nice and then we just wait a little bit 0:06:05.850,0:06:08.940 and it's done set fast and then we go we 0:06:08.940,0:06:11.070 can see that demo transcript is in our 0:06:11.070,0:06:13.250 little File Explorer we can click that 0:06:13.250,0:06:16.169 boom there's the conversation nice so it 0:06:16.169,0:06:18.720 was even smarter than my dumb text file 0:06:18.720,0:06:21.030 idea right yeah I see like you thought 0:06:21.030,0:06:22.500 about yeah we thought about it you know 0:06:22.500,0:06:24.030 we have everything covered so a couple 0:06:24.030,0:06:25.290 of questions about this when you're 0:06:25.290,0:06:27.270 doing these wire is there a way to do 0:06:27.270,0:06:28.950 like the cards in line as well yeah so 0:06:28.950,0:06:30.330 you can so just for the sake of time I 0:06:30.330,0:06:32.729 just did a purely text-based demo but 0:06:32.729,0:06:34.710 yeah you can do you can send you a 0:06:34.710,0:06:36.540 little typing notifications and delays 0:06:36.540,0:06:38.550 and all so yeah rich content cards like 0:06:38.550,0:06:39.960 adaptive cards awesome 0:06:39.960,0:06:41.190 so what other features are gonna show um 0:06:41.190,0:06:43.890 so basically some of our we still have 0:06:43.890,0:06:45.870 some of our core functionality so I just 0:06:45.870,0:06:48.120 want to show you that you know let's 0:06:48.120,0:06:49.860 switch to another bot here actually oh 0:06:49.860,0:06:51.150 well actually before I do that let me 0:06:51.150,0:06:53.190 show you presentation mode so let's say 0:06:53.190,0:06:55.680 you know you just mocked up a real real 0:06:55.680,0:06:57.060 quick conversation you didn't have time 0:06:57.060,0:06:58.200 to work on this concept you were 0:06:58.200,0:06:59.340 thinking about but you wanted to show 0:06:59.340,0:06:59.980 your team 0:06:59.980,0:07:02.530 new bad idea would look like and so you 0:07:02.530,0:07:03.820 know you don't want to show them this UI 0:07:03.820,0:07:06.340 you want to show them boom this you know 0:07:06.340,0:07:07.570 presentation mode you just hit 0:07:07.570,0:07:08.770 presentation it goes into this 0:07:08.770,0:07:10.570 full-screen kind of cinematic mode and 0:07:10.570,0:07:13.240 it kind of just shows you just the focus 0:07:13.240,0:07:16.000 of the chat window so I love it so when 0:07:16.000,0:07:17.350 you're wireframing and showing the 0:07:17.350,0:07:18.670 stakeholders they can be like yeah I 0:07:18.670,0:07:20.230 totally love this conversation and then 0:07:20.230,0:07:21.940 and you can see how fast I just whipped 0:07:21.940,0:07:23.560 up that transcript and you know we went 0:07:23.560,0:07:25.780 from a text file to this in like two 0:07:25.780,0:07:29.140 minutes loved it so pretty fast okay so 0:07:29.140,0:07:30.520 let's go look at some of the other 0:07:30.520,0:07:32.650 functionality we have I'll open up this 0:07:32.650,0:07:37.570 cafe bot the cafe bot is running locally 0:07:37.570,0:07:39.640 so just to show you some of the core 0:07:39.640,0:07:41.350 functionality we still have I will show 0:07:41.350,0:07:43.090 you that we can still put breakpoints in 0:07:43.090,0:07:45.430 our code here so here's just the source 0:07:45.430,0:07:46.960 code and I'll just break on when we get 0:07:46.960,0:07:50.020 a response back from Louis and then I'll 0:07:50.020,0:07:54.190 talk to the bot Hey and now we can see 0:07:54.190,0:07:55.930 that we hit that breakpoint we can step 0:07:55.930,0:07:58.420 over and we can see the hey we got this 0:07:58.420,0:08:01.120 Louis result here with it's kind of 0:08:01.120,0:08:04.420 small but we got this Louis result with 0:08:04.420,0:08:06.670 all these entities and stuff like that 0:08:06.670,0:08:09.280 cool okay and then we'll just go through 0:08:09.280,0:08:13.360 that remove this breakpoint okay and 0:08:13.360,0:08:15.220 then some of the other functionality we 0:08:15.220,0:08:17.410 have is we can open two simultaneous 0:08:17.410,0:08:20.320 live chats at a time to the same bot so 0:08:20.320,0:08:21.880 that's pretty cool you can debug you 0:08:21.880,0:08:23.650 know side by side I can split this over 0:08:23.650,0:08:25.450 to the other tab and I can you know have 0:08:25.450,0:08:27.670 a little conversation over here and have 0:08:27.670,0:08:29.530 a completely you know conversation or a 0:08:29.530,0:08:31.540 completely independent conversation in 0:08:31.540,0:08:32.890 the left window that's nice so if you're 0:08:32.890,0:08:35.169 lonely you can open his video you can 0:08:35.169,0:08:36.610 you can feel like you're you know so 0:08:36.610,0:08:38.380 popular awesome that's how I'm gonna 0:08:38.380,0:08:42.640 feel okay and then one final thing we'll 0:08:42.640,0:08:44.650 show you guys is this new services tab 0:08:44.650,0:08:46.750 we have over here holy cow that's 0:08:46.750,0:08:48.730 amazing yeah so you can connect things 0:08:48.730,0:08:51.490 like Louis and Q&A maker and even to the 0:08:51.490,0:08:52.870 a Shabbat service with these services 0:08:52.870,0:08:55.270 and basically what you do is you you 0:08:55.270,0:08:57.580 know you just open this you type in the 0:08:57.580,0:08:59.110 name of your Louis app the application 0:08:59.110,0:09:01.390 ID the author and key version etc and 0:09:01.390,0:09:04.150 then you submit and now your bot can key 0:09:04.150,0:09:07.360 off of these new Louis traces so let's 0:09:07.360,0:09:08.890 take a look at this I already have Louis 0:09:08.890,0:09:11.200 hooked up to this so if we say you know 0:09:11.200,0:09:13.820 let's start over this conversation 0:09:13.820,0:09:16.490 and then I can just say you know hey and 0:09:16.490,0:09:19.460 if we look in this log over here to the 0:09:19.460,0:09:21.200 right we can see that oh we have this 0:09:21.200,0:09:23.570 new thing called a Lewis trace and so 0:09:23.570,0:09:25.370 now we can click on this Lewis trace and 0:09:25.370,0:09:28.970 in this inspector it has the model name 0:09:28.970,0:09:32.600 of my Lewis model it has the app ID and 0:09:32.600,0:09:34.880 it has all the results from Lois saying 0:09:34.880,0:09:36.830 oh here's what you scored here's the top 0:09:36.830,0:09:42.560 scoring intent okay and so well that's 0:09:42.560,0:09:45.770 super handy I mean like because usually 0:09:45.770,0:09:47.480 it just goes and it comes back and like 0:09:47.480,0:09:49.010 what happened and you got to look at the 0:09:49.010,0:09:50.720 logs over there but this is hooking 0:09:50.720,0:09:52.640 directly up to the service and then 0:09:52.640,0:09:54.620 getting all of the the logs alright so 0:09:54.620,0:09:56.240 it's no longer a black box that you just 0:09:56.240,0:09:57.530 kind of have to you know cross your 0:09:57.530,0:09:59.150 fingers and hope everything works out 0:09:59.150,0:10:02.360 which I do with all myself right and so 0:10:02.360,0:10:03.830 on the left here what's really cool is 0:10:03.830,0:10:05.990 that I'm you can click this Louis link 0:10:05.990,0:10:08.390 and it will deep link right into the 0:10:08.390,0:10:10.010 language model in the Lewis portal so 0:10:10.010,0:10:12.350 you can tweak your language models you 0:10:12.350,0:10:16.100 know right here in the Louis portal but 0:10:16.100,0:10:17.150 I know what you're saying you're saying 0:10:17.150,0:10:19.640 oh you know Tony I really don't want to 0:10:19.640,0:10:21.170 leave your beautiful new app that's 0:10:21.170,0:10:23.030 probably just saying no I didn't want to 0:10:23.030,0:10:25.070 yeah exactly we just gave it a such a 0:10:25.070,0:10:26.960 nice UI I don't want to leave it's so 0:10:26.960,0:10:28.580 it's so awesome and sleek and we're 0:10:28.580,0:10:30.170 saying okay yeah we kind of we kind of 0:10:30.170,0:10:32.930 feel that way too so what you can do now 0:10:32.930,0:10:35.990 is let's say we're gonna start over in 0:10:35.990,0:10:37.730 this conversation and we're gonna say 0:10:37.730,0:10:40.520 something like howdy partner to the bot 0:10:40.520,0:10:45.680 oh okay it actually understood that 0:10:45.680,0:10:49.090 howdy there 0:10:49.410,0:10:50.999 okay so it says sorry I do not 0:10:50.999,0:10:53.099 understand that so we're gonna go and 0:10:53.099,0:10:54.769 we're gonna click on this Lewis trace 0:10:54.769,0:10:57.569 and we're gonna see that it scored none 0:10:57.569,0:10:59.399 as the highest intent so what we're 0:10:59.399,0:11:01.229 gonna do is mark that as a greeting Wow 0:11:01.229,0:11:03.689 yeah and so now you'll see train light 0:11:03.689,0:11:05.699 up over here in the corner we can now 0:11:05.699,0:11:08.789 train training it was successful we can 0:11:08.789,0:11:11.939 now publish this model and so it just 0:11:11.939,0:11:13.379 went and published that so now if we 0:11:13.379,0:11:16.559 start over we should be able to say 0:11:16.559,0:11:19.759 howdy there 0:11:20.600,0:11:23.209 hello so it knows it's a greeting so 0:11:23.209,0:11:24.889 yeah that's something we're really 0:11:24.889,0:11:26.930 excited about and that's our new plug-in 0:11:26.930,0:11:28.819 model and a lot of developers are going 0:11:28.819,0:11:31.009 to be able to create these custom traces 0:11:31.009,0:11:32.810 that they'll be able to key off of and 0:11:32.810,0:11:34.490 present their own UI in the inspector 0:11:34.490,0:11:36.589 panel all right Tony thanks so much for 0:11:36.589,0:11:37.699 spending some time with us we'll be 0:11:37.699,0:11:39.769 learning all about the bot framework 0:11:39.769,0:11:42.079 emulator which is pretty cool you can do 0:11:42.079,0:11:43.220 ton of things in it thanks so much for 0:11:43.220,0:11:44.870 watching we'll see you next time take 0:11:44.870,0:11:46.290 care 0:11:46.290,0:00:00.000 [Music]