Microsoft Bot Framework and Azure Bot Service are a collection of libraries, tools, and services that let you build, test, deploy, and manage intelligent bots. The Bot Framework includes a modular and extensible SDK for building bots and connecting to AI services. With this framework, developers can create bots that use speech, understand natural language, answer questions, and more.
What is a bot?
Bots provide an experience that feels less like using a computer and more like dealing with a person—or intelligent robot. You can use bots to shift simple, repetitive tasks—such as taking a dinner reservation or gathering profile information—onto automated systems that may no longer require direct human intervention. Users converse with a bot using text, interactive cards, and speech. A bot interaction can be a quick answer to a question or an involved conversation that intelligently provides access to services.
One way to think of a bot is as a web application that has a conversational interface. Your users connect to your bot through a channel like Facebook, Slack, Microsoft Teams, or a custom application.
Depending on how the bot is configured and registered with the channel, interactions can be text or speech and include images and video.
The bot processes the user's input to interpret what the user has asked for or said.
The bot evaluates input and performs relevant tasks, such as asking the user for additional information or accessing services on the user's behalf.
The bot responds to the user to let them know what the bot is doing or has done.
Bots are often implemented as web applications hosted in Azure and use APIs to send and receive messages. What's in a bot varies widely depending on what kind of bot it is and what its purpose is. A simple bot can receive messages and echo them back to the user with very little code involved. A more complex bot can rely on various tools and services to deliver richer experiences on a wide variety of platforms.
Bots can do the same things other types of software can do—read from and write to files, use databases and APIs, and do the regular computational tasks. What makes bots unique is their use of mechanisms generally reserved for human-to-human communication.
What is Azure Bot Service?
Azure Bot Service is a comprehensive platform-as-a-service (PaaS) offering from Microsoft that empowers developers to build, deploy, and manage intelligent conversational agents. These agents, commonly referred to as bots, are capable of interacting with users through a variety of channels, including but not limited to web chat, messaging platforms, and voice interfaces.
At its core, Azure Bot Service provides a robust framework for developing conversational AI applications. It offers a suite of tools and services that streamline the bot development lifecycle, from initial conceptualization to production deployment.
Azure Bot Service: Key Features
Azure Bot Service is a comprehensive platform that empowers developers to create, deploy, and manage intelligent conversational agents or bots. It offers rich features to streamline the bot development process and enhance bot capabilities.
Bot Framework
This is the foundation of Azure Bot Service, providing a robust SDK for building and connecting intelligent bots. Developers can leverage the Bot Framework to handle dialogue management, state management, and integration with various channels.
Language Understanding (LUIS)
Azure Bot Service seamlessly integrates with LUIS to enable an understanding of natural language. This powerful feature allows bots to understand and interpret user input, recognizing intents and entities within user utterances.
QnA Maker
To create bots capable of answering questions based on structured or unstructured information, Azure Bot Service offers QnA Maker. This component helps build knowledge bases and train bots to provide relevant answers.
Bot Connector Service
This service acts as a bridge between the bot and various channels, ensuring seamless communication and interaction with users across different platforms.
Bot Channels Registration
Azure Bot Service simplifies the process of deploying bots to different channels by providing a centralized platform for registration and configuration.
Development Tools
The platform offers various tools and SDKs to cater to different developer preferences. From the Bot Framework SDK for code-first development to Power Virtual Agents for a low-code approach, Azure Bot Service provides options for developers of all skill levels.
Azure Bot Service and the Bot Framework include
Bot Framework SDKs for developing bots in C#, JavaScript, Python, or Java
CLI tools for help with end-to-end bot development
Bot Connector Service, which relays messages and events between bots and channels
Azure resources for bot management and configuration
Additionally, bots may use other Azure services, such as:
Azure Cognitive Services to build intelligent applications
Azure Storage for cloud storage solution
Chatbot benefits
Round-the-clock support, even after deployment.
Easy integration with multiple platforms.
Increased customer interactions to foster brand loyalty.
Superior cognitive features are taking customer engagement to another level.
High accuracy rate while replying to even complex customer queries.
No holidays, no downtimes, no sick leaves. Chatbots work 24x7x365.
Reduction in recurring expenses. Only a one-time cost.
Free up your personnel for other essential tasks.
A wide range of customized bots to choose from.
Only a few weeks are required to design and deploy bots.
How to build a bot
Azure Bot Service and Microsoft Bot Framework offer an integrated set of tools and services to help you design and build bots through all stages of the bot life cycle. SDKs exist for C#, Java, JavaScript, Typescript, and Python. Choose your favourite development environment or command line tools to create your bot.
Plan
As with any type of software, a thorough understanding of the goals, processes, and user needs is important to creating a successful bot. You can create a simple bot or include more sophisticated capabilities such as speech, natural language understanding, and question-answering.
Before writing code, review the bot design guidelines for best practices and to identify the needs for your bot.
Build
Typically, a bot is a web service hosted in Azure. In Azure, you can configure your bot to send and receive messages and events from various channels. You can create bots in any number of environments and languages. You can create a bot for local development.
With Azure Bot Service and the Bot Framework, you can use other libraries and services to extend your bot's functionality. This table describes some of the features supported by the SDK.
Feature | Description | More information |
Memory and storage | Persist user and conversation state | |
Natural language understanding | Interpret and extract information from user input | |
Rich cards | Combine text and other media, such as images, audio, video, and buttons |
Command line tools to help you to create, manage, and test bot assets.
Test
Bots are complex apps with a lot of different parts working together. Like any other complex app, this can lead to some interesting bugs or cause your bot to behave differently than expected. Before publishing, test your bot. We provide several ways to test bots before they are released for use:
Test your bot locally with the Bot Framework Emulator. This stand-alone app provides a chat interface and debugging and interrogation tools to help you understand how and why your bot does what it does. It can be run locally alongside your in-development bot application.
Test your bot on the web. Once configured through the Azure portal, your bot can also be reached through a web chat interface. The web chat interface is a great way to grant testers and other people who do not have direct access to the bot's running code access to your bot.
Unit Test your bot with the current Bot Framework SDK.
Publish
When you're ready for your bot to be available on the web, deploy your bot to Azure or deploy to your own web service or data center. Having an address on the public internet is the first step to your bot coming to life on your site, or inside chat channels.
Connect
Connect your bot to channels such as Facebook, Messenger, Kik, Slack, Microsoft Teams, Telegram, text/SMS, and Twilio. Bot Framework does most of the work necessary to send and receive messages from all of these different platforms—your bot application receives a unified, normalized stream of messages regardless of the number and type of channels it is connected to.
Evaluate
Use the data collected in Azure portal to identify opportunities to improve the capabilities and performance of your bot. You can get service-level and instrumentation data like traffic, latency, and integrations. Analytics also provides conversation-level reporting on user, message, and channel data.
Chose Right Chatbot Solution
A chatbot is an application that has written or spoken natural language as its user interface. In other words, a conversation is the means through which questions are answered, requests are serviced, and so on.
The following table lists Microsoft products and services for building bots, who they support, and a brief description. The following sections describe each product in more detail.
Product | Audience | Description |
Fusion teams, citizen developers | Power Virtual Agents is an end-to-end bot-building tool, with built-in natural language understanding models, data connectivity through Power Automate, and support for multiple channels. | |
Developers | Provides a framework for building bots, including tools, templates, and related AI services. | |
Healthcare organizations | Provides support for healthcare organizations. Health Bot helps you build and deploy compliant, AI-powered virtual health assistants and health bots. |
Comments