About
December 15, 2023 ยท View on GitHub
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.
Architecture Overview
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.
Questions and answers
Document with the questions and answers that the minibot can handle.
Rasa documentation
To iterate Rasa's service behavior, you will need some basic knowledge of Rasa, therefore we attach links of interest to the documentation.
Setup development environment
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
Deployment
Prerequisites
Make
Environment Variables
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
Deployment via docker compose
To deploy this app
make deploy
To stop deployment run
make stop
To delete deployment run
make undeploy
Funding
This work is funded by the Generalitat de Catalunya within the framework of Projecte AINA.
