Spaces:
Sleeping
Sleeping
File size: 1,936 Bytes
99336cb 377c6b8 446b409 797ed32 22f2c53 446b409 22f2c53 446b409 705b84e 26ce7cd 446b409 22f2c53 26ce7cd 179c654 7c2c65d 26ce7cd 22f2c53 26ce7cd 22f2c53 179c654 797ed32 d9c5a23 22f2c53 26ce7cd 797ed32 446b409 797ed32 26ce7cd 797ed32 377c6b8 179c654 797ed32 | 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 | FROM python:3.10-slim
ENV DEBIAN_FRONTEND=noninteractive
ENV PYTHONUNBUFFERED=1
ENV HF_HOME=/data/.cache/huggingface
ENV TRANSFORMERS_CACHE=/data/.cache/huggingface
ENV TORCH_HOME=/data/.cache/torch
ENV HUGGINGFACE_HUB_CACHE=/data/.cache/huggingface
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
wget \
curl \
libsndfile1 \
ffmpeg \
gcc \
g++ \
build-essential \
python3-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY yarngpt/ ./yarngpt/
ENV PYTHONPATH="/app:${PYTHONPATH}"
COPY app/ ./app/
RUN mkdir -p /app/models && \
python -c "import os; from huggingface_hub import snapshot_download; import time; print(' Downloading models from Remostartdev/TTS_FARMLINGUA-models...'); start = time.time(); snapshot_download(repo_id='Remostartdev/TTS_FARMLINGUA-models', local_dir='/app/models', local_dir_use_symlinks=False, resume_download=True, ignore_patterns=['*.git*', 'README.md']); print(f' Models downloaded in {time.time() - start:.1f}s')"
RUN ls -la /app/models/ && \
echo "Model files:" && \
find /app/models -type f -name "*.ckpt" -o -name "*.yaml" | xargs -r ls -lh
ENV MODEL_ID=saheedniyi/YarnGPT2b
ENV WAV_TOKENIZER_CONFIG=/app/models/wavtokenizer_mediumdata_frame75_3s_nq1_code4096_dim512_kmeans200_attn.yaml
ENV WAV_TOKENIZER_CKPT=/app/models/wavtokenizer_large_speech_320_24k.ckpt
RUN python -c "from transformers import AutoModelForCausalLM; AutoModelForCausalLM.from_pretrained('saheedniyi/YarnGPT2b')"
EXPOSE 7860
# Gunicorn with Uvicorn workers for production
CMD ["gunicorn", "app.main:app", "--workers", "4", "--worker-class", "uvicorn.workers.UvicornWorker", "--bind", "0.0.0.0:7860", "--timeout", "120", "--keep-alive", "5", "--max-requests", "10000", "--max-requests-jitter", "1000"] |