Bot Framework Composer, built on the Bot Framework SDK, is an open-source IDE for developers to author, test, provision, and manage conversational experiences.
From Composer, you can test your bot and publish it to Azure.
Composer provides a visual authoring canvas for authoring dialog experiences. Composer lets you model conversational experiences where context switching, interruptions, and natural and dynamic conversation flows are important. For more complex activities—such as integrating with REST web services or other dependencies—that are best suited towards code, Composer provides mechanisms to extend your bots with code.
Azure QnA Maker will be retired on 31 March 2025.
Beginning 1 October 2022, you won't be able to create new QnA Maker resources or knowledge bases.
A newer version of the question and answering capability is now available as part of Azure AI Language.
Custom question answering, a feature of Azure AI Language, is the updated version of the QnA Maker service.
For more information about question-and-answer support in Composer, see Natural language processing.
Conversational language understanding (CLU), a feature of Azure AI Language, is the updated version of LUIS.
For more information about question-and-answer support in Composer, see Natural language processing.
Beyond a visual editing canvas, you can use Composer to:
Import and export dialog assets to share with other developers.
Package manager provides a range of reusable conversational assets and code built by Microsoft and third parties. These assets can quickly add functionality to your project.
The nightly builds include pre-release features and may change how some operations are performed.
The Composer documentation supports the latest stable release of Composer, and some aspects of the nightly builds may not work as described in the documentation.
For more information about nightly builds, see Application settings.
Under the hood, Composer harnesses the power of many of the components from the Bot Framework SDK. When building bots in Composer, developers will have access to:
Adaptive dialogs
Dialogs provide a way for bots to manage conversations with users. Adaptive dialogs and the event model simplify sophisticated conversation modeling enabling more natural, dynamic conversation flow, interruption, and context switching. They also help you focus on the model of the conversation rather than the mechanics of dialog management. Read more in the dialog concept article.
Language understanding
Language understanding is a core component of Composer that allows developers and conversation designers to train language understanding models directly in the context of editing a dialog. As dialogs are edited in Composer, developers can continuously add to their bots' natural language capabilities using the .lu file format, a simple Markdown-like format that makes it easy to define new intents and entities, and provide sample utterances. In Composer, you can use regular expression, LUIS, and Orchestrator recognizers. Composer detects changes and updates the bot's cloud-based natural language understanding model automatically so it's always up to date. Read more in the language understanding concept article.
Creating grammatically correct, data-driven responses that have a consistent tone and convey a clear brand voice has always been a challenge for bot developers. Composer's integrated bot response generation allows developers to create bot replies with a great deal of flexibility, using the editor in the Bot Responses page or the response editor in the Properties pane. Read more in the language generation concept article.
Azure QnA Maker will be retired on 31 March 2025.
Beginning 1 October 2022, you won't be able to create new QnA Maker resources or knowledge bases.
A newer version of the question and answering capability is now available as part of Azure AI Language.
Custom question answering, a feature of Azure AI Language, is the updated version of the QnA Maker service.
For more information about question-and-answer support in Composer, see Natural language processing.
QnA Maker is a cloud-based service that enables you to extract question-and-answer pairs from existing FAQ-style documents and websites into a knowledge base that can be manually curated by knowledge experts. QnA Maker, once integrated into a bot, can be used to find the most appropriate answer for any given natural language input from your custom knowledge base of information.
Bot Framework Emulator
Emulator is a desktop application that allows bot developers to test and debug bots built using Composer. This tool allows for more advanced scenarios (like Authentication), which Composer's integrated Web Chat feature doesn't support at this time.
Advantage of developing bots with Composer
Some of the advantages of developing bots in Composer include:
Authoring dialogs using the visual canvas can be more conducive to a conversational design versus code and enables you to focus development efforts on more complex tasks such as system integration.
Design conversational experiences using a seamless blend of visual and code authoring.
Existing dialogs authored in code can be used by a Composer-based bot.
Language generation provides the ability to create more natural, personalized responses resulting in engaging conversational experiences.
Composer streamlines your bot project's codebase and provides a more accessible visual design surface that provides a unified canvas to author dialogs and responses, along with language and QnA resources.
Integrated testing within the Composer authoring experience.
Azure provisioning for dependent resources is streamlined as part of the overall Composer experience.
Apps created with Composer use the declarative dialog format, a JSON specification shared by many tools provided by the Bot Framework.
The Composer bot projects contain reusable assets in the form of JSON and Markdown files that can be bundled and packaged with a bot's source code. These can be checked into source control systems and deployed along with code updates, such as dialogs, language understanding training data, and message templates.