File size: 1,926 Bytes
1f7ec0d
 
c57019c
1f7ec0d
9e20f24
c57019c
1f7ec0d
c57019c
 
1f7ec0d
c57019c
1f7ec0d
 
 
 
 
9e20f24
c57019c
 
ba10a2d
 
 
6b2acdf
 
 
ba10a2d
1f7ec0d
9e20f24
c57019c
9e20f24
 
c57019c
9e20f24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c57019c
1f7ec0d
c57019c
 
1f7ec0d
33efdd3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Usa a mesma imagem base que o Hugging Face Spaces
FROM python:3.10

# Instala uma versão mais antiga do pip
RUN python -m pip install pip==24.0

# Instala dependências do sistema necessárias
RUN apt-get update && apt-get install -y \
    git \
    git-lfs \
    ffmpeg \
    libsm6 \
    libxext6 \
    cmake \
    rsync \
    libgl1-mesa-glx \
    wget \
    && rm -rf /var/lib/apt/lists/*

# Define o diretório de trabalho
WORKDIR /home/user/app

# Cria os diretórios que o aplicativo precisa e ajusta permissões
RUN mkdir -p models/speech_encoder && chmod -R 777 models
RUN mkdir -p vocoder && chmod -R 777 vocoder

# Copia o arquivo requirements.txt para o contêiner
COPY . /home/user/app

# Instala as dependências necessárias para compilação
RUN pip install --no-cache-dir packaging ninja

# Instala o pacote em modo de desenvolvimento
RUN pip install -e .

# Clona e instala fairseq
RUN git clone https://github.com/pytorch/fairseq /tmp/fairseq \
    && cd /tmp/fairseq \
    && pip install -e . --no-build-isolation \
    && cd /home/user/app

# Instala flash-attn com os parâmetros recomendados
RUN MAX_JOBS=4 pip install --no-cache-dir flash-attn --no-build-isolation

# Instala as dependências Python do arquivo requirements.txt
RUN pip install --no-cache-dir -r requirements.txt

# Baixa o vocoder HiFi-GAN
RUN wget -P vocoder/ https://dl.fbaipublicfiles.com/fairseq/speech_to_speech/vocoder/code_hifigan/mhubert_vp_en_es_fr_it3_400k_layer11_km1000_lj/g_00500000 && \
    wget -P vocoder/ https://dl.fbaipublicfiles.com/fairseq/speech_to_speech/vocoder/code_hifigan/mhubert_vp_en_es_fr_it3_400k_layer11_km1000_lj/config.json

# Pré-carrega o modelo Whisper tiny (mais rápido)
RUN python -c "import whisper; whisper.load_model('tiny', download_root='models/speech_encoder/')"

# Expõe a porta padrão do Gradio
EXPOSE 7860

# Comando para rodar o aplicativo
CMD ["python", "app_gradio_spaces.py"]