/nimbus

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

nimbus

TL;DR;

if ONLY CPU with Ubuntu 18.04 on Google Cloud Platform

NOTE: 🙏 Please change the passwords in the .env file

git clone https://github.com/mfekadu/nimbus \
    && cd nimbus \
    && ./ubuntu_setup.sh \
    && cp .env_sample .env \
    && ./deploy.sh

elif GPU with Ubuntu 18.04 on Google Cloud Platform

git clone https://github.com/mfekadu/nimbus \
    && cd nimbus \
    && ./gpu_setup.sh \
    && ./ubuntu_setup.sh \
    && cp .env_sample .env \
    && ./deploy.sh

Else Keep Reading

Hardware Requirements

click to expand

The following requirements are based on Rasa-X documentation

vCPUs (virtual CPUs on Google Cloud Platform or equivalent number of cores)

  • Minimum: 2 vCPUs
  • Recommended: 2-6 vCPUs

RAM

  • Minimum: 4 GB RAM
  • Recommended: 8 GB RAM

Disk Space

  • Recommended: 100 GB disk space available

Open These Ports (if running on Google Cloud Platform)

  • 22 (SSH)
  • 80 (HTTP)
  • 443 (HTTPS)
  • 5002 (rasa-x)
  • 5065 (rasa-production)
  • 5075 (rasa-worker)
  • 5055 (app) (aka rasa-actions service)
  • 5432 (db) (postgres)
  • 5672 (rabbit)
  • 8000 (duckling)
  • 6379 (redis)
  • 9200 (elasticsearch-service)
  • 9300 (elasticsearch-service)
  • 9010 (nimbus-elastic-tf-embed-worker)

Software Requirements

click to expand

Python 3.6.8 or newer

Docker 19.03.8 or newer

docker-compose 1.25.5 or newer

$ python3 --version

Python 3.6.8

$ docker -v

Docker version 19.03.8, build afacb8b

$ docker-compose -v

docker-compose version 1.25.5, build 8a1c60f6

Getting Started

It works with Windows / macOS / Linux (Ubuntu preferred)..

Carl Boettiger suggests that Docker "could have promising implications for reproducible research in scientific communities" despite challenges like adoption by the scientific community. (arxiv).

NOTE: The previous step may have included the docker-compose binary depending on your operating system.

3. Clone this Repository

click to expand
git clone https://github.com/mfekadu/nimbus

4. Create the .env file with the following secrets

The .env file is read by docker-compose (from current working directory) to string-replace the variables in the docker-compose.yml file.

See the .env_sample

TODOs:

  • make actions image a variable and put in .env_sample

4.5. Resources for Docker Desktop on (macOS / Windows)

click to expand

Sorry that this system is resource intensive. There may be room for optimization!

Docker Desktop Resources

5. Run all the services

The following command will download/cache/install/build -- do everything to set up the infrastructure and run the program.

Run the following command in the root of the directory for this codebase:

docker-compose up --detach

NOTE: run with sudo if need be on Linux/macOS

NOTE: Grab a coffee or some snacks. The various downloads will take some time, but docker will cache each stage of the build, so things will be faster next time.

The latest model has the format 1-latest-YYYYMMDD-SSSSSS.tar.gz

https://drive.google.com/drive/folders/1nUG5g63mPg3GN1CH1I6Z3uMUsMEQlOqS

7. Chat

A custom chatbot UI can be found at

http://localhost

The chatbot admin page can be accessed after logging in with RASA_X_PASSWORD found in .env:

http://localhost:5002