>> You want to make your bot
writing experience much more enjoyable?
You're not going to want to miss this episode
of the AI Show where Tony takes
us through the new Bot Framework Emulator,
new and improved, shiny, amazing.
You're not going to want to miss it. Take a look.
Hello and welcome to this episode of the AI show.
We're going to talk about the new Bot Emulator.
Did I get it right?
>> That is right.
>> How are you doing, Tony?
>> I'm doing well. How are you doing?
>> Good. Tell us who you are and what you do.
>> So, yeah. My name is Tony Indiana and I am one of
the developers on the Microsoft Bot Framework
and Azure Bot Service Team.
And over the past few months I've been working a
lot on the new Bot Framework Emulator,
and I'm pretty excited to show you
guys some of the new features we have.
>> All right. Let's take a look.
>> Okay and for any of those who don't know
the Bot Framework Emulator or
the Microsoft Bot Framework,
check us out on our website at dev.botframework.com,
also on Azure under
"Products in AI and machine learning",
and then we also have some getting started
resources and docs on docs.microsoft.com.
>> Fantastic.
So you got all the deets.
Now, let's take a look at all the bits.
>> Okay. So, here's kind of this end-to-end development
workflow we have that's
around developing a bot from start to finish.
And we've centered this around this new suite
of tools we have called bot builder tools.
>> Nice, of course.
>> Appropriately dubbed. Okay. And so,
the Emulator doesn't cover
all these areas but what it does cover is planning,
testing and refining your bots,
and it excels at those pretty well.
>> Yeah, because once you start building bots,
the first one you build you're like, oh, now I get this.
So, I have actually planned this like I do
all my software which takes a bit of time.
And these tools are designed to help with that.
>> Correct.
>> All right. Let's take a look.
>> Okay. So yeah.
So, we have this new transcript mode
and presentation mode and transcripts
which help you basically view mocked conversations as
they would look in production without
having to write a single line of code.
So, that's pretty cool.
For testing, we have all the core functionalities of
the old Bot Emulator
which basically allows you to set debug,
set breakpoints in your code and have
a full debugging experience.
And refining your bot,
we have this really cool piece of
UI called the inspector panel,
which allows you to look at all
the underlying structure of
your messages to and from
your bot and your network traffic and all that stuff.
>> So you could actually get in there and debug.
>> Yeah. You can see what's
going on behind the scenes and everything.
Okay, so now that I've talked about all this,
let me kind of dive in and
show you what I'm talking about here.
>> Just do it.
>> So, here we are in the new Emulator welcome page.
You can see we've given it a pretty significant face lift
for any of those who have used the old one.
And so basically, what I'm going to do is show you
transcripts and what those
are because they're a brand new concept.
So, let's go ahead
and open this transcript in the left over here.
And now, what you'll see is it
has populated this Web chat window with
basically every message in
this conversation's history just
like we had this conversation right here.
>> This is literally like wireframing
your old apps that we used to have Windows with, right?
This is like wireframing your chat.
>> Right. Exactly. What a transcript is is basically
just a record of a conversation you
had with a bot that the Emulator can understand.
>> Is it? What kind of format are
we talking about? Is it complicated for me?
>> No, it's basically just a JSON array
of just a bunch of conversation activities.
>> So, you can literally type one
up in notepad if you want.
>> So, I'll get to that later.
>> Cool.
>> That will be with chat down
and that converts to a transcript,
but transcripts are actually auto
generated by the Emulator.
So, I'll show you how to do that.
>> Fantastic.
>> So basically, let's open up a live chat.
So, this means I'm talking with a remote bot right here.
We can see it's talking to testbot.botframework.com.
So, test bot is just going to echo back whatever I say.
Hey, test bot, it will say hey.
And I'm giving it the smiley face.
Echo stuff like that and
basically getting a transcript off from this is as
easy going up here hitting "Save
transcript as" and then you just say,
you know, just made this.
And we can save it. We can see it populated in
this file explorer window to the left and
we can click that and open it and boom there's
the conversation we just had with test bot.
>> That's cool.
>> And then one other way
to do it is with our new tool called chat down.
So, real quick.
I'll show you how easy it is to
create a transcript from a chat file with chat down.
So basically, what we want to do is just say,
okay what does our user's name
going to be? That's going to be me.
We're going to say what does our bot's name going to be?
That's going to be demo bot, I guess.
And then basically, it's as easy
as writing back and forth,
what you want each person to say to one another.
>> I see.
>> Yeah. So, I'll say,
"Hey, how's it going demo bot?"
Oops. That was a typo.
Okay. And then demo bot's going to respond with, "Hey.
I'm doing really well.
What can I help?"
>> Typing man.
>> Typing is so hard.
>> That's why we have bots that speak now.
>> "Hey, I'm doing really well.
What can I assist you with today?"
And, I'm just going to say, "Oh,
I was just wondering what you think of the demo so far?".
>> Well, you're a fast typer though.
I'm looking to that.
>> It helps. And demo bot is going to say,
"Well, to be honest,
I think this is probably the best demo I've ever seen."
>> Nice.
>> You know demo bots are really nice.
>> Of course.
>> And so we're going to save this in
our folder here called,
let's just call it demo.chat.
So, a chat file is what is
consumed by our tool chat down.
And chat down is not included in the Emulator,
but you can install it via
NPM and stuff like that. It's really easy.
So, we can go back to our folder here.
We can see the demo chat is in there and all we
have to do is chatdown,
the name of the chat file we want to convert,
pipe it into the name
of the transcript file we want to generate.
>> Nice.
>> And then we just wait a little bit and it's done.
It's that fast. And then we go.
We can see the demo.transcript
is in our little file explorer.
We can click that. Boom, there's
the conversation we just had.
>> It was even smarter than my dumb textfile idea.
>> Right.
>> Nice. It's like you thought about this.
>> Yeah, we thought about it. We have everything covered.
>> So, a couple of questions about this
when you're doing these wire.
Is there a way to do like the cards in line as well?
>> Yes, so you can. So, just
for the sake of time I just did
a purely text based demo but yeah you can do,
you can send a little typing notifications
and delays and also,
yeah rich content cards or adaptive cards.
>> Awesome. So what other features
you are going to show me?
>> So basically, we still have some of
our core functionality so I just want to show you that,
let's switch to another bot here actually.
Well, actually before I do that,
let me show you presentation mode.
So, let's say you just mocked
up a real quick conversation.
You didn't have time to work on this concept.
You are thinking about but you wanted to show
your team what a new bot idea would look like.
And so you don't want to show them this UI,
you want to show them, boom, this presentation mode.
You just hit "Presentation",
it goes into this full screen kind of
cinematic mode and it kind of just
shows you just the focus of the chat window.
>> I love it.
>> So, when you're wireframing
and showing the stakeholders,
they can be like, "Yeah, I totally
love this conversation".
>> And you can see how
fast I just whipped up that transcript
and we went from a text file to this in like two minutes.
>> Love it.
>> So, pretty fast.
Okay, so let's go look at
some of the other functionality we have.
I'll open up this cafe bot.
The cafe bot is running locally.
So, just to show you some of
the core functionality we still have,
I will show you that we can still
put breakpoints in our code here.
So, here's just the source code and I'll
just break and when we get a response
back from LUIS and then I'll talk to the bot.
Hey. And now we can see that we hit that breakpoint.
We can step over and we can see the "Hey".
We got this LUIS results here with,
it's kind of small but we got this
LUIS result with all these entities and stuff like that.
>> Cool.
>> Okay. And then we'll just go through
that. We will move this breakpoint.
Okay. And then some of
the other functionality we have is we can open
two simultaneous live chats at
a time to the same bot. So, that's pretty cool.
You can debug side by side.
I can split this over to the other tab
and I can have a little conversation over
here and have
a completely independent conversation in the left window.
>> That's nice. So, if you're lonely,
you can open as many chat lives as you want.
>> You can feel like you're so popular.
>> Awesome. That's how I'm going to feel
popular at the expense.
>> Okay. And then one final thing we'll show
you guys is this new services tab we have over here.
>> Holy cow, that's amazing.
>> Yes, so you can connect things like LUIS and
QnA Maker and even to
the Azure Bot Service with these services.
And basically what you do is you just open this,
you type in the name of
your LUIS app, the application ID,
the authoring key version,
et cetera, and then you submit.
And now your bot can key off of these new LUIS traces.
So, let's take a look at this.
I already have LUIS hooked up to this.
So, we say, let's start over this conversation.
And then I can just say, "Hey".
And if we look in this log over here to the right,
we can see that oh we have
this new thing called the LUIS trace.
And so now we can click on this LUIS trace.
And in this inspector,
it has the model name of my LUIS model,
it has the app ID
and it has all the results from LUIS saying,
"Oh here's what you scored.
Here's the top scoring intent."
Okay. And so.
>> Well, that's super handy.
I mean, because usually
it just goes and then it comes
back and you're like, "What happened?"
And you got to look at the logs over there.
But this is hooking directly up to
the service and then getting
all of the logs are happening.
>> Right. So, it's no longer
a black box that you just kind of
have to cross your fingers and hope everything works out.
>> Which I do with on my cellphone.
>> Right. And so, on the left here,
what's really cool is that you can click
this LUIS link and it will deep
link right into the language model in the LUIS portal.
So, you can tweak your language models
right here in the LUIS portal.
But I know what you're saying.
You're saying, "Oh you know Tony,
I really don't want to leave your beautiful new app."
>> I was just saying that I didn't want to leave the app.
>> Exactly. We just gave it
a such a nice UI. I don't want to leave it.
It's so awesome and sleek and we're saying, "Okay.
Yeah we kind of feel that way, too."
So what you can do now is,
let's say we're going to start over in
conversation and we're going to say something like,
"Howdy, partner" to the bot.
Okay. It actually understood that.
"Howdy there". Okay. So it says,
"Sorry, I do not understand that."
So we're going to go and we're going to click on
this LUIS trace and we're going to see
that it scored none as the highest in 10.
So, what we're going to do is mark that as a greeting.
Yeah. And so now you'll see
train light up over here in the corner.
We can now train training.
It was successful.
We can now publish this model.
And so it just went and published that.
So, now if we start over,
we should be able to say, "Howdy
there," and it says, "Hello".
So, it knows it's a greeting now.
>> Nice.
>> So, yeah, that's something
we're really excited about and
that's our new plug-in model and a lot
of developers are going to be able to create
these custom traces that they'll be able to key
off of and present their own UI in the inspector panel.
>> All right Tony,
thanks so much for spending some time with us.
We are learning all about
the Bot Framework Emulator
which is pretty cool. You can do ton of things in it.
Thanks so much for watching. We'll see you next time.
Take care.