Minibot is a demonstration of how conversational experiences can be created in Catalan using open-source language technologies.
It is built with open-source speech recognition (STT), speech synthesis (TTS), and natural language understanding (NLU) technologies. This repository includes the central NLU language understanding server with RASA, its connectors to the STT microservice based on Vosk, and the Catalan TTS-API based on 🐸 Coqui TTS.
The complete architecture is illustrated below
For more details on the architecture and how to build a voice assistant with RASA and Mozilla tools, refer to this guide.
Document with the questions and answers that the minibot can handle.
To iterate Rasa's service behavior, you will need some basic knowledge of Rasa, therefore we attach links of interest to the documentation.
Create and activate a Python virtual environment.
python3 -m venv venv
source myvenv/bin/activate
Install required dependencies
pip install -r requirements.txt
To train the model use
rasa train
To test the model using the shell use
rasa shell
Make
To deploy this project, you will need to add the following environment variables to your .env file
TTS_MEM_LIMIT
STT_MEM_LIMIT
TTS_SPEECH_SPEED
TTS_MP_WORKERS
TTS_SHM_SIZE
VUE_RASA_APP_PUBLIC_URL
Example of .env file
TTS_MEM_LIMIT=12gb
STT_MEM_LIMIT=6gb
TTS_SPEECH_SPEED=1.0
TTS_MP_WORKERS=2
TTS_SHM_SIZE=4gb
VUE_RASA_APP_PUBLIC_URL=http://rasa.localhost
To deploy this app
make deploy
To stop deployment run
make stop
To delete deployment run
make undeploy
This work is funded by the Generalitat de Catalunya within the framework of Projecte AINA.