An Easy to use application to build train and deploy chat bots. This project intends to be a one stop shop for all production grade chat bot needs
A snippet of how this application works !
We used below projects as chat bot framework.
- Rasa Open Source Version 1.10.3
The Application stack is built with Python as backend and Angular as front end.
We use Docker hub to publish docker container images.
- Docker version 18.09 onwards. (not tested on previous versions)
- Docker Compose version 1.24 onwards (not tested on previous versions)
- Linux Distributions (Windows not supported as of now, tested on ubuntu)
If the project is to be deployed for production, please follow instructions for production deployment in below section
Download the docker-compose.yml file with below command
wget https://raw.githubusercontent.com/navigateconsulting/virtual-assistant/master/docker-compose.yml
And start the application with a simple docker compose up command.
docker-compose up -d
This will start the application user interface on port 8080.
For production deployment, all the user interface containers are recommended to be on TLS. Refer docker-compose.tls_example.yml file for how to configure and secure the deployment. Example contains a Letscert container which handles certificates and reissue on expiry.
Ensure below environment variables are set for containers which are to be secured.
- VIRTUAL_HOST=subdomain.domain.com
- VIRTUAL_PORT=port_no
- LETSENCRYPT_HOST=subdomain.domain.com
- LETSENCRYPT_EMAIL=user@domain.com
For example , to secure the Ui-Trainer application , modify the docker compose file and add above mentioned environment variables as shown below
va_api_gateway:
init: true
build: './va_api_gateway'
environment:
- PORT_APP=3000
- WORKERS=1
- THREADS=50
- REDIS_URL=redis
- REDIS_PORT=6379
- MONGODB_HOST=mongodb
- MONGODB_PORT=27017
- RASA_SERVER=http://rasa:5005/model
- VIRTUAL_HOST=subdomain.domain.com
- VIRTUAL_PORT=port_no
- LETSENCRYPT_HOST=subdomain.domain.com
- LETSENCRYPT_EMAIL=user@domain.com
ports:
- "3000:3000"
volumes:
- rasa_projects:/rasa_projects
depends_on:
- redis
After modifying the docker compose file. First start the tls containers by running below command
docker-compose -f docker-compose.tls_example.yml up -d
and once the containers are up, start the application stack.
docker-compose up -d
If you intent to extend the stack and make changes to the code base , follow below instructions to clone the repo and build containers from source
git clone https://github.com/navigateconsulting/virtual-assistant
cd virtual-assistant
docker-compose -f docker-compose.build_from_source.yml build
docker-compose -f docker-compose.build_from_source.yml up
**Note: docker-compose.yml file uses docker hub to pull docker containers and does not build from source.
Below are some short examples on how to use this application , detailed documentation on usage can be found here
- Creating an Intent
- Creating a Response
- Creating a Story
- Try your Project
See the open issues for a list of proposed features (and known issues).
Any contributions are Welcome ! To contribute,
- Fork the Project
- Create your Feature Branch (git checkout -b feature/AmazingFeature)
- Commit your Changes (git commit -m 'Add some AmazingFeature')
- Push to the Branch (git push origin feature/AmazingFeature)
- Open a Pull Request