In previous posts, we covered various topics in Azure and explored some of the core offerings from raw computing capability and storage plus compared how Azure stacks up against other major cloud offerings such as Amazon’s AWS and Googles Cloud Platform.
In this blog post, we look at Azure again; specifically, how the platform lets developers build and support chatbots at scale. Whether you’re new to chatbots or already have some experience, we’re sure you’ll find some new insights.
Building Chatbots with the Bot Framework
Before diving into Azure services that let you easily provision chatbots and infrastructure, it’s worth mentioning the Bot Framework. It’s a development framework that gives developers the required components and pipeline that make it simple to build intelligent chatbots.
No matter which type of chatbot you want to build, whether it be a customer service bot or support assistant, you have key tasks and problems to resolve such as
- I/O interface
- Language processing
- Connecting users
The Bot Framework helps alleviate headaches associated with these tasks and can reduce your development time as it ships with a rich API that contains classes such as Dialogues helping your business model human conversations in an easy-to-understand way.
Language Understanding Intelligence Service (LUIS)
A vital feature of a chatbot involves the complex task of human language processing, and users expect to be able to use natural language as opposed to computer commands that a more technically-minded person might understand.
Applying this sort of intelligence to software applications used to be reserved for academics or computer scientists, but Azure makes this easy. Through the Azure Portal, you can provision a Cognitive Service called LUIS (the Language Understanding Intelligence Service), and in minutes, Azure generates an endpoint that you can quickly integrate with your existing applications to give them language understanding capabilities.
You can even build and train LUIS applications through a web interface by supplying Intents, Utterances, and Entities. You can visit the LUIS website here if you want to learn more about these concepts and how to apply them to your unique chatbot requirements.
Publishing and Hosting chatbots in Azure
After you build your chatbot and train it to understand human language, you next need to test it. During development (assuming you are using Visual Studio), it’s advised to use the Bot Framework Emulator. This is a local application that can be downloaded and run on a developer’s machine so you can debug and interact with your chatbot.
It is a standalone application, and by running it and supplying your chatbot’s endpoint, your chatbot will spring into life, and you can interact with it. When you’re satisfied that your chatbot is behaving as expected in your development environment, it needs to be deployed to Azure to thoroughly test it in the cloud.
Deploying to Azure is easy from Visual Studio, and can be done in a few clicks. It will even auto-configure the required services and Resource Groups in your Azure account if they don’t already exist!
Testing Chatbots in Azure
With your chatbot deployed to Azure, you can start to configure the different types of Channels that you chatbot will access. A Channel is a communication mechanism that interacts with your chatbot.
From the Azure Portal, you can add as many Channels as you like which include, but are not limited to:
- Web Chat
Many chatbots are accessed via websites, and as such, by default, your chatbot will be registered with the Web Chat Channel. From the Azure Portal, you can even test your published chatbot:
If your chatbot is behaving as expected in the Azure Test Web Chat blade, next, you’ll likely want to access your chatbot from a website. Again, Azure makes this simple as it gives you the script that you need to embed the chatbot on the website of your choice.
By going into the Bot Management Blade and selecting Channels -> Web Chat -> Edit, Azure will provide you with the HTML you need to add to your website.
The webchat control can be customized, but that’s beyond the scope of this blog post. For now, you have a good overview of how chatbots in Azure can be built, deployed, and hosted in Azure!
In this post, we’ve looked at how Azure can support the development and hosting of intelligent chatbots. We’ve seen how Microsoft Cognitive Services APIs can add extra layers of intelligence to you chatbots capability, and how this can be applied to real-life scenarios.
If you’d like more information or are looking for some more guidance regarding how you can use Azure to build and host chatbots, feel free to contact our sales team!