Spaces:
Runtime error
Runtime error
Shubham32142 Claude Opus 4.7 (1M context) commited on
Commit ·
a2fed52
1
Parent(s): 0927600
Fix HF Space cold-start timeout: slim deps + prebake small model
Browse files- Drop torch/torchaudio/transformers/datasets from runtime requirements;
faster-whisper uses CTranslate2, not PyTorch. Moved training-only deps
to ml/finetune-requirements.txt.
- Pre-download Systran/faster-whisper-small during image build so the
first /transcribe request doesn't trigger a multi-minute download on
the free CPU tier.
- Default MODEL_PATH to the HF model id instead of a local ../models path.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Dockerfile +5 -2
- ml/finetune-requirements.txt +7 -0
- ml/requirements.txt +0 -6
- ml/serve.py +1 -1
Dockerfile
CHANGED
|
@@ -9,12 +9,15 @@ RUN apt-get update \
|
|
| 9 |
COPY ml/requirements.txt ./requirements.txt
|
| 10 |
RUN pip install --no-cache-dir -r requirements.txt
|
| 11 |
|
| 12 |
-
|
|
|
|
| 13 |
|
| 14 |
-
|
| 15 |
|
| 16 |
WORKDIR /app/ml
|
| 17 |
|
|
|
|
|
|
|
| 18 |
EXPOSE 8000
|
| 19 |
|
| 20 |
CMD ["uvicorn", "serve:app", "--host", "0.0.0.0", "--port", "8000"]
|
|
|
|
| 9 |
COPY ml/requirements.txt ./requirements.txt
|
| 10 |
RUN pip install --no-cache-dir -r requirements.txt
|
| 11 |
|
| 12 |
+
ENV HF_HOME=/app/.cache/huggingface
|
| 13 |
+
RUN python -c "from huggingface_hub import snapshot_download; snapshot_download('Systran/faster-whisper-small')"
|
| 14 |
|
| 15 |
+
COPY ml/ ./ml/
|
| 16 |
|
| 17 |
WORKDIR /app/ml
|
| 18 |
|
| 19 |
+
ENV MODEL_PATH=Systran/faster-whisper-small
|
| 20 |
+
|
| 21 |
EXPOSE 8000
|
| 22 |
|
| 23 |
CMD ["uvicorn", "serve:app", "--host", "0.0.0.0", "--port", "8000"]
|
ml/finetune-requirements.txt
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
-r requirements.txt
|
| 2 |
+
transformers>=4.40.0
|
| 3 |
+
datasets>=2.18.0
|
| 4 |
+
torch>=2.2.0
|
| 5 |
+
torchaudio>=2.2.0
|
| 6 |
+
evaluate
|
| 7 |
+
jiwer
|
ml/requirements.txt
CHANGED
|
@@ -1,10 +1,4 @@
|
|
| 1 |
faster-whisper==1.1.0
|
| 2 |
-
transformers>=4.40.0
|
| 3 |
-
datasets>=2.18.0
|
| 4 |
-
torch>=2.2.0
|
| 5 |
-
torchaudio>=2.2.0
|
| 6 |
-
evaluate
|
| 7 |
-
jiwer
|
| 8 |
fastapi
|
| 9 |
uvicorn
|
| 10 |
python-multipart
|
|
|
|
| 1 |
faster-whisper==1.1.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
fastapi
|
| 3 |
uvicorn
|
| 4 |
python-multipart
|
ml/serve.py
CHANGED
|
@@ -29,7 +29,7 @@ _MODEL_MAPPING = {
|
|
| 29 |
}
|
| 30 |
|
| 31 |
_DEFAULT_MODEL = "small"
|
| 32 |
-
_MODEL_NAME = os.getenv("MODEL_PATH", "
|
| 33 |
_DEVICE = os.getenv("WHISPER_DEVICE", "cpu")
|
| 34 |
_COMPUTE_TYPE = os.getenv("WHISPER_COMPUTE_TYPE", "int8")
|
| 35 |
_DEFAULT_LANGUAGE = os.getenv("WHISPER_LANGUAGE", "en")
|
|
|
|
| 29 |
}
|
| 30 |
|
| 31 |
_DEFAULT_MODEL = "small"
|
| 32 |
+
_MODEL_NAME = os.getenv("MODEL_PATH", "Systran/faster-whisper-small")
|
| 33 |
_DEVICE = os.getenv("WHISPER_DEVICE", "cpu")
|
| 34 |
_COMPUTE_TYPE = os.getenv("WHISPER_COMPUTE_TYPE", "int8")
|
| 35 |
_DEFAULT_LANGUAGE = os.getenv("WHISPER_LANGUAGE", "en")
|