Spaces:
Sleeping
Sleeping
| # The official vLLM-Omni image (same serving setup the Voxtral-4B-TTS-2603 model card | |
| # documents) — vllm, vllm-omni, torch, and CUDA builds all matched and tested together | |
| # upstream. v0.22.0 instead of the card's v0.18.0: v0.18.0 has a known orchestrator | |
| # crash under concurrent /v1/audio/speech requests (vllm-omni#2316/#2295, memory | |
| # budgeting fixed by #2341/#3360, both in by 0.22). The eval runs | |
| # `vllm serve <model> --omni` inside this container (see run_eval.sh) and run_eval.py | |
| # talks to its OpenAI-compatible /v1/audio/speech endpoint, exactly like the model | |
| # card's usage example. | |
| FROM vllm/vllm-omni:v0.22.0 | |
| # Client-side deps for the eval loop (the serving stack itself is already baked in). | |
| # httpx is the HTTP client the model card's own example uses. | |
| ENV PIP_BREAK_SYSTEM_PACKAGES=1 | |
| RUN python3 -m pip install --no-cache-dir datasets tqdm soundfile httpx | |
| WORKDIR /app | |
| # Model weights (~9 GB BF16, ungated) are NOT baked in; the server downloads them on | |
| # first run into the HF cache that run_eval.sh bind-mounts, so they persist across runs. | |
| # Copy the full repository | |
| COPY . /app | |
| # Default entrypoint (the base image's entrypoint targets `vllm`; the eval drives the | |
| # container with explicit bash commands instead). | |
| ENTRYPOINT ["bash"] | |
| # Keep-alive CMD so the Space runtime stays healthy. HF Jobs and `docker run` | |
| # override this with their own command (e.g. run_eval.sh). | |
| EXPOSE 7860 | |
| CMD ["-c", "python3 -m http.server 7860"] | |