Code Monkey home page Code Monkey logo

fleuryc / oc_ai-engineer_p10_flights-booking-chatbot Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 2.0 5.68 MB

Repository of OpenClassrooms' AI Engineer path, project #10 : create a flight booking chatbot, integrate and deploy it as a web app

Home Page: https://fleuryc.github.io/OC_AI-Engineer_P10_Flights-booking-chatbot/

License: GNU General Public License v3.0

Shell 0.01% Makefile 0.09% Python 1.28% Jupyter Notebook 98.62%
ai application-insights artificial-intelligence azure bot-framework chatbot luis python webapp

oc_ai-engineer_p10_flights-booking-chatbot's Introduction

Fly Me : flights booking chatbot

Python application CodeQL Codacy Badge Codacy Badge


Repository of OpenClassrooms' AI Engineer path, project #10 .

Goal : use Azure Cognitive Services (LUIS), Azure Web App and Azure Application Insights, to build a flights booking chatbot, integrate it in a web application, and monitor its quality.

You can see the results here :

This is the project architecture in production :

center-img h:450px

Goals


Installation

Prerequisites

Virtual environment

# python -m venv env
# > or just :
make venv
source env/bin/activate

Dependencies

# pip install -r notebooks/requirements.txt -r bot/requirements.txt
# > or :
# pip install -r requirements.txt
# > or just :
make install

Environment variables

Set environment variable values in (copy or rename .env.example) :

Usage

Download data

Download, and extract the Language Understanding Model (LUIS) training files from Frames Dataset :

make dataset

EDA (Exploratory Data Analysis)

The main notebook presents the result of the EDA (exploratory data analysis) :

jupyter-lab notebooks/main.ipynb

Create a LUIS app in the LUIS portal

Follow the official documentation : Create a LUIS app in the LUIS portal

Train LUIS Model

The luis notebook formats the data, runs the LUIS training and tests the model :

jupyter-lab notebooks/luis.ipynb

Test and debug with the Emulator

Run the bot locally :

make bot-start

Follow the official documentation : Test and debug with the Emulator

Tutorial: Provision a bot in Azure

Follow the official documentation : Tutorial: Provision a bot in Azure

Deploy Bot to Azure Web App

Build and deploy the bot to Azure Web App integrating the Bot Service, LUIS and Application Insights :

make bot-deploy

Quality Assurance

# make isort
# make format
# make lint
# make bandit
# make mypy
# make test
# > or just :
make qa

This will run tests on the bot tests/test_bot.py :

  • test the LUIS service integration
  • test a dialog where the bot gathers the flight informations from the user
  • test a dialog where the user gives all the flight informations at once

Troubleshooting

No known issues...

oc_ai-engineer_p10_flights-booking-chatbot's People

Contributors

fleuryc avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.