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