378bce9b1b | ||
---|---|---|
docs/media | ||
.gitignore | ||
CONTRIBUTING.md | ||
LICENSE | ||
LICENSE-CODE | ||
README.md |
README.md
Microsoft Bot Framework
The Microsoft Bot Framework is a comprehensive platform for building enterprise-grade conversational AI experiences. It includes a set of open source SDKs, tools, and services which enable developers to build, test, and connect bots that interact naturally with users, wherever they are. With the Microsoft Bot Framework, it is easy to create a bot with the ability to speak, listen, understand, and learn from your users with Azure Cognitive Services.
This repo lists the SDK, tools, and services needed to build a great conversational AI experience. Its role is to serve as a landing page and one place to find all the information required to get started.
Azure Bot Service
Azure Bot Service enables you to host intelligent, enterprise-grade bots with complete ownership and control of your data. Developers can register and connect their bots to users on Skype, Microsoft Teams, Cortana, Web Chat, and more.
Bot Framework SDK v4
The Bot Framework SDK v4 includes SDKs that enable developers to model and build sophisticated conversation using their favorite programming language.
C# | JS | Python | Java | |
---|---|---|---|---|
Stable Release | 4.3.2 | 4.3.4 | 4.0.0a6 (preview) | |
Docs | docs | docs | ||
Samples | .NET Core, WebAPI | Node.js , TypeScript, es6 |
Bot Framework SDK v4 - (New! - version 4.5 preview)
The Bot Framework SDK v4 - Version 4.5 new capabilites in preview.
-
Adaptive Dialog | docs | C# samples
The new Adaptive dialog and the event model simplify sophisticated conversation modelling primitives, eliminate much of the boiler plate code and helps you focus on the model of the conversation rather than the mechanics of conversation and dialog management. This new way to model conversations that takes the best of waterfall dialogs and prompts and simplifies sophisticated conversation modelling primitives like building a dialog dispatcher and ability to handle interruptions elegantly. Adaptive dialog, ground up is built to be declaratively configurable. -
Language Generation | docs | C# samples Language generation is the umbrella term for generating appropriate output to the user. In some sense, language generation is reverse of language understanding. While language understanding goes from user input to extracting meaningful information such as intent and entities, language generation helps construct meaningful, variable and grammatically correct responses that a bot can send back to the user.
-
Common Expression Language | api Both Adaptive dialogs and Language Generation rely on and use a common expression language to power bot conversations.
Bot Framework Tools
The Bot Framework tools are a collection of cross-platform command line tools designed to cover end-to-end bot development workflow.
Tool | Description |
---|---|
Chatdown | Prototype mock conversations in markdown and convert the markdown to transcripts you can load and view in the new V4 Bot Framework Emulator |
LUDown | Build LUIS language understanding models using markdown files |
LUISGen | Auto generate backing C# / Typescript classes for your LUIS intents and entities. |
az bot | Manage Azure Bot Service using Azure CLI |
MSBot | Create and manage connected services in your bot configuration file |
Bot Framework Solutions
The Bot Framework Solutions repository is the home for a set of templates, solution accelerators and skills to help build advanced, assistant-like conversational experiences.
Bot Framework Solutions (New! - preview)
The Bot Framework solutions includes the following new features in preview:
Name | Description |
---|---|
Virtual Assistant | Customers and partners have a significant need to deliver a conversational assistant tailored to their brand, personalized to their users, and made available across a broad range of canvases and devices. Continuing Microsoft's open-sourced approach towards the Bot Framework SDK, the open-source Virtual Assistant solution provides you with a set of core foundational capabilities and full control over the end user experience. This template incorporates the previous Enterprise Template and brings together all of the best practices and supporting components identified through building conversational experiences and greatly simplifies the creation of a new bot project including: basic conversational intents, Dispatch integration, QnA Maker, Application Insights and an automated deployment. |
Skills | Developers can compose conversational experiences by stitching together re-usable conversational capabilities, known as Skills. Skills are themselves Bots, invoked remotely and a Skill developer template (.NET, TS) is available to facilitate creation of new Skills. This can be a complex Virtual Assistant or perhaps an Enterprise Bot seeking to stitch together multiple bots within an organization. A library of re-usable conversational skill building-blocks covering conversational use-cases enabling you to add extensive functionality to a Bot within minutes. Skills include LUIS models, Dialogs and Integration code and delivered in source code form enabling you to customise and extend as required. We currently provide a preview of Calendar, Email and Task productivity skills, Point of Interest, and Automotive skills, along with new experimental skills including Weather and News. Skills include LUIS models, Dialogs, and integration code delivered in source code form so developers can customize and extend as required. These can all be found in the Solutions repository along with a Skill template for building your own skills. |
Analytics | Gain key insights into your bot’s health and behavior with the Conversational AI Analytics solutions. Review available telemetry, sample Application Insights queries, and Power BI dashboards to understand the full breadth of your bot’s conversations with users. |
Bot Framework Emulator
The Bot Framework Emulator is a cross-platform desktop application that allows bot developers to test and debug bots built using the Bot Framework SDK. You can use the Bot Framework Emulator to test bots running locally on your machine or to connect to bots running remotely.
Bot Inspector (New! - Preview)
The Bot Framework Emulator has released a Beta of the new Bot Inspector feature: a way to debug and test your Bot Framework SDK v4 bots on channels like Microsoft Teams, Slack, Cortana, Facebook Messenger, Skype, etc. As you have the conversation, messages will be mirrored to the Bot Framework Emulator where you can inspect the message data that the bot received. Additionally, a snapshot of the bot state for any given turn between the channel and the bot is rendered as well. You can inspect this data by clicking on the "Bot State" element in the conversation mirror. Read more about Bot Inspector
Bot Framework Web Chat
The Bot Framework Web Chat is a highly customizable web-based client chat control for Azure Bot Service that provides the ability for users to interact with your bot directly in a web page.
Cognitive Services
To create a bot, you can use Microsoft Cognitive Services, as well as other open source and third-party AI solutions. The key cogntive services used to create a bot include:
Language Understanding
A machine learning-based service to build natural language experiences. Quickly create enterprise-ready, custom models that continuously improve. Language Understanding Service(LUIS) allows your application to understand what a person wants in their own words.
What's new
The enhanced developer experience and debuggability
- New capabilities to define entities
- A new version of the LUIS response API that is easier and more robust to consume in the developer application
- Brand new analytics page where developers
- get more insights about the performance of each model in their applications.
- guidance on how to fix problems like class imbalance or the lack of enough informative labeled data.
Docs | Add language understanding to your bot | use LUDown and LUIS command line tools
QnA Maker
QnA Maker is a cloud-based API service that creates a conversational, question-and-answer layer over your data. With QnA Maker, you can build, train and publish a simple question and answer bot based on FAQ URLs, structured documents, product manuals or editorial content in minutes.
What's new
- Extraction pipeline: Now you can extract hierarchical information from URLs, files and sharepoint
- Intelligence: Contextual ranking models, active learning suggestions
- Conversation: Multi-turn conversations in QnA Maker.
Docs | add qnamaker to your bot | use LUDdown and QnAMaker command line tools
Dispatch
Dispatch lets you build language models that allow you to dispatch between disparate components (such as QnA, LUIS and custom code).
Speech Services
Speech Services convert audio to text, perform speech translation and text-to-speech with the unified Speech services. With the speech services, you can integrate speech into your bot, create custom wake words, and author in multiple languages.
Bot Framework SDK v3
Note: While we actively maintain the v3 SDK, we are focusing out attention on the v4 of the SDK. Read more on SDK v3 long-term support.
The Bot Framework SDK v3 includes SDKs that enable developers to model and build sophisticated conversation using their favorite programing language.
C# | JS | |
---|---|---|
Stable Release | 3.20.1 | 3.16.0 |
Docs | docs | docs |
Samples | C# | Node.js |
Reporting Security Issues
Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) at secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.
Copyright (c) Microsoft Corporation. All rights reserved.