The goal of this project is to prototype a 1st version of FlyMe chatbot, which will help customers to book a vacation package.
The MVP (Minimum Viable Product) should help us to identify the "BookFlight" intent and return the 5 main entities which constitutes flight's details:
- origin city;
- destination city;
- departure date;
- return date;
- bugdet.
Expected output: the Bot should be able to reformulate the flight's details, ask confirmation (yes/no) from the user, then, if correct, end conversation with a booking message.
The dialogues were built with 2 humans' talk via a chat interface, one was playing the role of the user and the other one was playing the role of the conversational agent (a database of 250+ packages was available to compose of a hotel and round-trip flights).
The dialogues are more complex than what we need for the MVP, thus, it's very good basis for the next steps of the project.
- ✔️ Perform Exploratory Data Analysis (EDA) and Data wrangling;
- ✔️ Build LUIS App, including train-test-publish-predict part;
- ✔️ Copy Microsoft Core Bot Python Samples, including App Insights from Github, and adapt the scripts to the project's objectives;
- ✔️ Monitor the performance of the chatbot with App Insights;
- ✔️ Plan and integrate automated testing;
- ✔️ Embed in Azure Web App for model serving (deploy).
Azure Portal, Azure LUIS cognitive services (Language Understanding), Microsoft Bot Framework SDK, Azure Bot, Azure Web App, Azure Application Insights, VS Code, Github (CI/CD)
pip install botbuilder-core
pip install botbuilder-ai
pip install botbuilder-dialogs
pip install botbuilder-applicationinsights
pip install botbuilder-integration-applicationinsights-aiohttp
pip install datatypes-date-time
or in the terminal, type : pip install -r requirements.txt
- Azure for developers;
- Azure LUIS quickstart with SDK;
- Azure Bot Framework SDK documentation; Bot Framework Solutions - Overview;
- Bot concepts: How bots work, Managing state, Event / Activity handler, Dialogs library, Waterfall dialogs
- Azure App Service documentation;
- What is Github Actions for Azure - Microsoft; Github Actions to build, test and deploy an application to Azure App Service - Github;
- Python Testing Frameworks - Sept. 2021: Robot, PyTest, Unittest, etc.;
- Azure App Insights documentation;