# midemo Azure Demos This bot has been created using [Bot Framework](https://dev.botframework.com), it shows how to: - Use [LUIS](https://www.luis.ai) to implement core AI capabilities - Implement a multi-turn conversation using Dialogs - Handle user interruptions for such things as `Help` or `Cancel` - Prompt for and validate requests for information from the user ## Prerequisites This sample **requires** prerequisites in order to run. ### Overview This bot uses [LUIS](https://www.luis.ai), an AI based cognitive service, to implement language understanding. - [Node.js](https://nodejs.org) version 10.14.1 or higher ```bash # determine node version node --version ``` ### Create a LUIS Application to enable language understanding LUIS language model setup, training, and application configuration steps can be found [here](https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-howto-v4-luis?view=azure-bot-service-4.0). # To run the bot - Install modules ```bash npm install ``` - Setup LUIS The prerequisite outlined above contain the steps necessary to provision a language understanding model on www.luis.ai. Refer to _Create a LUIS Application to enable language understanding_ above for directions to setup and configure LUIS. - Start the bot ```bash npm start ``` ## Testing the bot using Bot Framework Emulator [Bot Framework Emulator](https://github.com/microsoft/botframework-emulator) is a desktop application that allows bot developers to test and debug their bots on localhost or running remotely through a tunnel. - Install the Bot Framework Emulator version 4.3.0 or greater from [here](https://github.com/Microsoft/BotFramework-Emulator/releases) ### Connect to the bot using Bot Framework Emulator - Launch Bot Framework Emulator - File -> Open Bot - Enter a Bot URL of `http://localhost:3978/api/messages` ## Deploy the bot to Azure To learn more about deploying a bot to Azure, see [Deploy your bot to Azure](https://aka.ms/azuredeployment) for a complete list of deployment instructions. ## Further reading - [Bot Framework Documentation](https://docs.botframework.com) - [Bot Basics](https://docs.microsoft.com/azure/bot-service/bot-builder-basics?view=azure-bot-service-4.0) - [Dialogs](https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-concept-dialog?view=azure-bot-service-4.0) - [Gathering Input Using Prompts](https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-prompts?view=azure-bot-service-4.0) - [Activity processing](https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-concept-activity-processing?view=azure-bot-service-4.0) - [Azure Bot Service Introduction](https://docs.microsoft.com/azure/bot-service/bot-service-overview-introduction?view=azure-bot-service-4.0) - [Azure Bot Service Documentation](https://docs.microsoft.com/azure/bot-service/?view=azure-bot-service-4.0) - [Azure CLI](https://docs.microsoft.com/cli/azure/?view=azure-cli-latest) - [Azure Portal](https://portal.azure.com) - [Language Understanding using LUIS](https://docs.microsoft.com/en-us/azure/cognitive-services/luis/) - [Channels and Bot Connector Service](https://docs.microsoft.com/en-us/azure/bot-service/bot-concepts?view=azure-bot-service-4.0) - [Restify](https://www.npmjs.com/package/restify) - [dotenv](https://www.npmjs.com/package/dotenv)