Spaces:
Sleeping
Sleeping
| 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"] |