2b801069b8 | ||
---|---|---|
docs/media | ||
.gitignore | ||
LICENSE | ||
LICENSE-CODE | ||
README.md |
README.md
Microsoft Bot Framework
The Microsoft Bot Framework is a comprehensive framework for building enterprise-grade conversational AI experiences. It includes a set of open source SDKs, tools, and services that enable developers to build, test, and connect bots that interact naturally with users, wherever they are. With the Microsoft Bot Framework, it is easy can 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 start building bots.
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 - Future (preview)
The Bot Framework SDK v4 - Future includes cool features we are working hard on but are still in preview and are not production ready.
- Common Expression Language | api
- Langauge Generation | docs | samples: C# , JS
- Adaptive Dialog | docs | C# samples
- Declarative Dialog
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 |
LUIS | Create and manage your LUIS.ai applications |
QnAMaker | Create and manage QnAMaker.ai Knowledge Bases. |
Dispatch | Build language models allowing you to dispatch between disparate components (such as QnA, LUIS and custom code) |
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 Virtual Assistant Template
Creation of a high quality conversational experience requires a foundational set of capabilities. To help you succeed with building more complex, assistant-like conversational experiences, we have created an Virtual Assistant Template. This template brings together all of the best practices and supporting components we've identified through building of conversational experiences. The template is available for both C# and TypeScript.
Bot Framework Skills
Developers can compose conversational experiences by stitching together re-usable conversational capabilities, known as Skills. Within an enterprise, this could be creating one parent bot bringing together multiple sub-bots owned by different teams or more broadly leveraging common capabilities provided by other developers.
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 Analytics. 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 either locally on your machine or connect to bots running remotely.
Bot Framework Web Chat
The Bot Framework Web Chat, is highly customizable web-based client chat control for Azure Bot Services, which 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's Cognitive Services, as well as other Open Source and 3P 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 allows your application to understand what a person wants in their own words.
- 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.
- docs | add qnamaker to your bot | use LUDdown and QnAMaker command line tools
Speech Services
[Speech Services] 70 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
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 |
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.
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Legal Notices
Microsoft and any contributors grant you a license to the Microsoft documentation and other content in this repository under the Creative Commons Attribution 4.0 International Public License, see the LICENSE file, and grant you a license to any code in the repository under the MIT License, see the LICENSE-CODE file.
Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries. The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks. Microsoft's general trademark guidelines can be found at http://go.microsoft.com/fwlink/?LinkID=254653.
Privacy information can be found at https://privacy.microsoft.com/en-us/
Microsoft and any contributors reserve all other rights, whether under their respective copyrights, patents, or trademarks, whether by implication, estoppel or otherwise.