From 931a3ee1ae3297c12883d7b71ac85b7ce49527da Mon Sep 17 00:00:00 2001 From: paradous Date: Sun, 7 Feb 2021 13:41:52 +0100 Subject: [PATCH] merge --- .travis.yml | 26 +++++++++++++++++ Dockerfile | 29 +++++++++++++++++++ LICENSE | 21 ++++++++++++++ README.md | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 156 insertions(+) create mode 100644 .travis.yml create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 README.md diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..9686e44 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,26 @@ +branches: + only: + - master + - frontend + +language: python +python: + - 3.8 +services: + - docker + +install: + - pip install -r requirements.txt + +before_script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + +script: + - docker build -t paradous/resa-chatbot:latest . + +deploy: + provider: script + script: + docker push paradous/resa-chatbot:latest; + on: + branch: master \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4c3fa87 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,29 @@ + +FROM python:3.8-slim-buster + +# Install the security updates. +RUN apt-get update +RUN apt-get -y upgrade + +# Dependencies to build requires packages +RUN apt-get -y install gcc + +# Remove all cached file. Get a smaller image. +RUN apt-get clean +RUN rm -rf /var/lib/apt/lists/* + +EXPOSE 3978 + +# Copy the application. +COPY . /opt/app +WORKDIR /opt/app + +# Install the app librairies. +RUN pip install -r requirements.txt + +# Install SpaCy small model +RUN python -m spacy download en_core_web_sm + +# Start the app. +ENTRYPOINT [ "python" ] +CMD [ "main.py" ] \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..69d5e44 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Joffrey Bienvenu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..63a9fee --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +# chatbot + + + + + +## Cross-plateforme implementation + + +## fonctionnalités du Bot : + +### Traitement des inputs "utilisateurs" + +- Bert ? + +### Possible réponses + +- Accueillire + - Décrire les fonctionnalités du bot + - Répondre +- Donner les heures d'ouvertures +- Afficher une liste d'objet, de produit + +### Nice to have + +- Réserver un service / un produit + - Gérer un agenda + - vérifier la disponibilité + - +- + + "**In English**, the bot should be able to :\n", + "\n", + "- Understand phrases related to a room reservation.\n", + "Example that the bot will have to understand: \n", + "\n", + "\t\t> I wish to reserve a room for 2 people.\n", + "\t\t> I wish to reserve a room for 4 days\n", + "\t\t> Do you have rooms available from July 23rd?\n", + "\t\t> I would like to reserve a room for two days and for two people\n", + "\n", + "- Understand phrases related to a table reservation for the restaurant. \n", + "\n", + "\t\t> I would like to make a reservation for tonight.\n", + "\t\t> I'd like to reserve a table for four people.\n", + "\n", + "- Must ensure a continuous and ongoing conversation. Example of a complete conversation : \n", + "\n", + "\t\t> Customer : Hello !\n", + "\t\t> Bot : Hello, how can I help you? \n", + "\t\t> Customer: I would like to reserve a table for 4 people ? \n", + "\t\t> Bot : For which date would you like to reserve your table?\n", + "\t\t> Customer : Today at 7:00 pm\n", + "\t\t> Bot : What name should I make the reservation under?\n", + "\t\t> Customer : My name is Mr. Dupont! \n", + "\t\t> Bot : Very well Mr Dupont, I confirm you the reservation of a table for 4 people tonight at 7:00 pm. \n", + "\t\t> Bot : Can I help you with something else?\n", + "\t\t> Customer : No thanks\n", + "\t\t> Bot: Have a nice day. \n", + "\n", + "- Understand when the client is angry. In this case, the bot will indicate that it is transmitting the conversation to a human. \n", + "\n", + "\t\t> You're incompetent!\n", + "\t\t> My room is dirty! This is outrageous!\n", + "\t\t> I want to talk to a human. \n", + "\n", + "### Nice-to-have features\n", + "- Create an API of your bot to make it cross-platform \n", + "- Use Docker\n", + + + + +## Hébergement du Bot + +Timeline: +- Etablir l'objectif (déployer bot cross-plateforme + créer propre modele) +- Trouver un framework >> MSBotFramework +- Créer un dataset +- Deployer dummy bot \ No newline at end of file