Spaces:
Runtime error
Runtime error
title: ASR UI | |
emoji: 🤫 | |
colorFrom: indigo | |
colorTo: red | |
sdk: gradio | |
sdk_version: 4.20.0 | |
app_file: app.py | |
pinned: false | |
tags: | |
- whisper-event | |
# Instruccions per l'ús d'interfície d'usuari de reconeixement de la parla | |
## Resum | |
Aquest document està preparat per a explicar l'ús, requisits i la instal·lació d'interfície d'usuari (IU) de reconeixement de la parla de BSC-LT. Per poder comprovar els models que estem desenvolupant, hem preparat aquest IU. L'aplicació està empaquetada amb docker, per això la instal·lació de docker és un dels requisits i l'aplicació està dissenyada pels navegadors. | |
## Requisits | |
**OS:** Ubuntu/Debian (Està comprovat amb 20.04.6 LTS) | |
**Requisits minims:** | |
* CPU 4 vCores | |
* 16 GB RAM | |
* 25 GB espai lliure | |
**Requisit suggerit:** | |
* GPU: Nvidia T4, 16GB VRAM | |
L’ús de GPU accelera la inferència considerablement. Sense GPU el rendiment de la inferència és aproximadament x3 RTF (real-time-factor), és a dir necessita 30 segons per transcriure 10 segons d'àudio. Però amb una GPU el RTF és menor a 1. | |
## Instruccions | |
Passos per desplegar l'aplicació d'IU és | |
* Instal·lar docker (opcional: afegir docker al grup d'usuaris sudo) | |
* Descarregar la imatge de docker mitjançant el docker pull | |
* Configurar un reverse proxy per fer disponible l'aplicació | |
## Instal·lació docker | |
Es pot seguir les instruccions d'aquestes pàgines | |
* [How To Install and Use Docker on Ubuntu 22.04 | DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-22-04) | |
* [https://docs.docker.com/engine/install/ubuntu/](https://docs.docker.com/engine/install/ubuntu/) | |
Però en resum: | |
``` | |
## Add Docker's official GPG key | |
$ sudo apt-get update | |
$ sudo apt-get install ca-certificates curl gnupg | |
$ sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg | |
sudo chmod a+r /etc/apt/keyrings/docker.gpg | |
## Add the repository to Apt sources | |
$ echo \ | |
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ | |
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ | |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | |
$ sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin | |
## Post Installation Steps | |
#Add create docker group, add your user to the group for executing docker without sudo | |
sudo groupadd docker | |
sudo usermod -aG docker $USER | |
newgrp docker | |
#To automatically start Docker and containerd on boot for other Linux distributions using systemd, run the following commands: | |
sudo systemctl enable docker.service | |
sudo systemctl enable containerd.service | |
``` | |
## Desplegament d'aplicació | |
Per descarregar i córrer la imatge de docker: | |
``` | |
docker run -d -p 7860:7860 --name asr-inference --platform=linux/amd64 \ | |
registry.hf.space/projecte-aina-asr-inference:latest python app.py | |
``` | |
Durant la primera execució el docker run descarrega la imatge i els models necessaris per córrer l'aplicació. Si tot funciona sense errors, l'aplicació de web estarà disponible a localhost:7860. (IP_DE_SERVIDOR:7860) | |
Per consultar logs de l’aplicacio: | |
``` | |
docker logs asr-inference | |
``` | |
Si després d’uns minuts d'iniciar l’aplicació surt això als logs: | |
``` | |
Running on local URL: http://0.0.0.0:7860 | |
To create a public link, set `share=True` in `launch()`. | |
``` | |
L'aplicació s'ha desplegat correctament. | |
Per aturar l'aplicació: | |
``` | |
docker stop asr-inference | |
``` | |
Per reiniciar l'aplicació | |
``` | |
docker start asr-inference | |
``` | |
## Connexió a l'IU | |
Amb les instruccions anteriors si tot ha funcionat bé l'aplicació ja serà disponible a localhost al port 7860. Si l'aplicació està desplegada al local, només cal anar a <code>[http://0.0.0.0:7860](http://0.0.0.0:7860) </code> a un navegador per l'accés. Si l'aplicació està desplegada a una màquina virtual o un servidor en remot, hi ha dues maneres de conectar-hi: | |
**ssh port forwarding:** | |
``` | |
ssh -L 7860:localhost:7860 <vm-server-address> | |
``` | |
D'aquesta manera es pot connectar a l'IU com estigués corrent al màquina local i.e. a l'adreça <code>[http://0.0.0.0:7860](http://0.0.0.0:7860) </code> | |
**Mitjançant un web server:** | |
Si la màquina virtual de l'aplicació està dins la mateixa xarxa i/o els ports de la màquina virtual estan oberts a fora, es pot connectar simplement amb apuntar el navegador a `http://<vm-server-address>:7860` per apuntar l'IP a un domini, es pot fer un reverse proxy mitjançant una eina com Apache o nginx. |