Chatbot Development Brainstorm
Requirements
- Docker on it
- Miniconda on it
- JupyterLab
Building Chatbot Tools
- Dialogflow
- Botpress => free to use :D => the dockerway
Inside Jupyter Lab
- Go to your terminal (chatbot dir)
- Install wget zipurl
- sudo apt install zip unzip (packages)
- Unzip file
We care about example => docker compose files
We want the one for community.
Consider the EXTERNAL_URL for your compose file.
If you're actually using VM, change the IP
Also the pw for psql if you want.
Volumes in Docker Compose
- Create directories:
mkdir -p ./botpress/data
and./botpress/language
- Give permission:
sudo chmod -R 777
for both dirs - Update volumes from
./botpress/data
tobotpress_data
and same for psql volume - Same for language to
botpress_language
- Now the volume will be attached to docker, not stored locally
Update Dockerfile
Inside Botpress dir, go update the img version from DockerHub
Ready to Test
In the README of docker compose, you'll find the exact command for running it in community
Run it, starting with sudo
To Keep Botpress Maintained
- To update the version, update it in your dockerfile FROM
- But also in CMD add the flag --auto-migrate
- Sometimes you need a fresh installation:
- Clean your resources
- Turn down all containers:
sudo docker-compose down
- Remove any containers:
sudo docker rm -f $(sudo docker ps -a -q)
- Terminate all:
sudo docker system prune -a
- Now you're all ready to get it again!
Workflow Representation
We have to apply our scenario in pen and paper and later translated to our flow.
Using nodes, connect nodes to another.
Considerations for Designing Flow
- Make a good delay time using "execute code" and run utility function.
- Make sure the order "on enter" is in a good manner. (important)
- You can store stuff from convos in storage functions
- File attached for the user