Let us continue with our previous posts on using Microsoft Bot Framework
- Getting Started with Microsoft Bot Framework
- Using Dialogs in Microsoft Bot Framework.
- Using FormFlow in Microsoft Bot Framework.
- Using LUIS AI in Microsoft Bot Framework.
In our previous post we had configured, tested and trained our LUIS application.
Here we will update our bot application code and see how it works.
Add a new Dialog class named LUIS Dialog
The class implements LuisDialog interface and has attribute Serializable to it.
We also need to add an attribute LuisModel that takes in model id and subscription key.
To get the model id and subscription key, open the LUIS application we had created. (https://www.luis.ai/)
Get App Id from the Dashboard.
And API key from My Keys section.
Now one by one we will implement logic for each of our Intent, for this we will use LuisIntent Attribute.
Here we have wrote a method for each of the intent that we had configured earlier.
We would need to make following changes to our ModelController.cs to call the LUISDialog
Let us look at the Intent one by one
For Luis Intent – None :-
i.e. when no Intent found or Intent is None.
Here bot will reply with Sorry I do not understand if the intent is none.
Here the work meeska (utterance) is associated to None Intent.
Inside Bot emulator –
For Luis Intent – Greeting :-
If the user types in Hi or Hello the bot will respond with “Please let me know…” as it will figure out that the intent is Greeting.
For Luis Intent – QueryProduct:-
If the user types in “Do you have product1?” the Bot associates it to our Query Product intent as we had trained our LUIS app for this. Here if user asks for Product1, Product2 or Product3 the bot responds that it has those products else it responds with “Sorry we do not have that product”.
QueryProduct Intent associated to Product Entity –
Inside Bot Emulator –
For Luis Intent – Interest:-
For Intent Interest, we call our Form Dialog that we had created in the following post Using FormFlow in Microsoft Bot Framework.
It basically asks user about the product he is interested in, name and description and creates a lead record in CRM.
Interest intent –
The lead record created in CRM.
In the next post, we will see how to publish the application to Azure.
Hope it helps..