projecte-aina / minibot

Minibot is a demonstration of how conversational experiences can be created in Catalan using open-source language technologies.

Home Page:https://bot.aina.bsc.es

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About

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 Architecture Overview Image

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

Docker

Docker compose

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.

Gencat logo

About

Minibot is a demonstration of how conversational experiences can be created in Catalan using open-source language technologies.

https://bot.aina.bsc.es


Languages

Language:Vue 53.6%Language:Python 22.4%Language:JavaScript 18.6%Language:HTML 2.8%Language:Dockerfile 2.0%Language:Shell 0.4%Language:Makefile 0.1%Language:SCSS 0.1%