fix: pin upstream faster-qwen3-tts to avoid Transformers 5 mismatch

Fresh builds cloned upstream main, which since v0.4.0 requires
Transformers 5 (qwen-tts-hf). qwen-asr then downgraded transformers to
4.57.6, breaking Qwen3TTSModel.from_pretrained at startup.

Pin upstream to 7cdef7e (v0.2.6, as in the released images) and pin
qwen-tts==0.1.1 / qwen-asr==0.0.6. FASTER_QWEN3_TTS_REF now accepts a
commit SHA, tag or branch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mARTin-B78 2026-09-21 18:02:23 +02:00
parent 4eafdc338b
commit 62a2ad9e7c
2 changed files with 17 additions and 6 deletions

View File

@ -15,10 +15,13 @@ RUN apt-get update && \
WORKDIR /app
# Clone the upstream faster-qwen3-tts library
ARG FASTER_QWEN3_TTS_REF=main
RUN git clone --depth 1 --branch ${FASTER_QWEN3_TTS_REF} \
https://github.com/andimarafioti/faster-qwen3-tts.git /app
# Clone the upstream faster-qwen3-tts library, pinned to a known-good commit.
# Upstream >= v0.4.0 moved to Transformers 5 (qwen-tts-hf), which conflicts with
# qwen-asr (pins transformers==4.57.6) and breaks model loading. Accepts a
# commit SHA, tag or branch.
ARG FASTER_QWEN3_TTS_REF=7cdef7e40195108b51a808f2ce5c7d5f3e235a79
RUN git clone https://github.com/andimarafioti/faster-qwen3-tts.git /app && \
cd /app && git checkout --detach ${FASTER_QWEN3_TTS_REF}
# Apply DGX Spark patches (non_streaming_mode=True, per-voice temperature/top_k/top_p)
COPY patches/openai_server.patch /tmp/
@ -36,8 +39,10 @@ RUN pip install --no-cache-dir torch torchvision torchaudio \
--index-url https://download.pytorch.org/whl/cu130
# Install faster-qwen3-tts and server dependencies
RUN pip install --no-cache-dir -e ".[demo]"
RUN pip install --no-cache-dir pydub soundfile uvicorn fastapi qwen-asr
# Keep the Transformers 4 stack: qwen-tts pins transformers==4.57.3, qwen-asr
# then moves it to 4.57.6 (same combination as the released images).
RUN pip install --no-cache-dir -e ".[demo]" "qwen-tts==0.1.1" "huggingface-hub<1.0"
RUN pip install --no-cache-dir pydub soundfile uvicorn fastapi "qwen-asr==0.0.6"
EXPOSE 8000

View File

@ -367,6 +367,7 @@ The first request after container startup can be slower because CUDA graph captu
| Very high TTFA | CUDA graph capture failed or fallback path is active | Check logs, reduce `--max-seq-len`, then restart |
| MP3 output error | MP3 dependencies are missing or ffmpeg is unavailable | Use `wav`/`pcm` or rebuild the image with MP3 support |
| OpenWebUI has no voices | Client cannot read the voice list | Confirm `/v1/models` and `/v1/audio/voices` are reachable from OpenWebUI |
| Self-built image crashes in `Qwen3TTSModel.from_pretrained` at startup | Image built from an old Dockerfile that cloned upstream `main` (v0.4.0+, Transformers 5), mixed with `qwen-asr`'s Transformers 4 pin | `git pull` this repo and rebuild with `docker build --no-cache -t faster-qwen3-tts-dgx-spark:latest .` |
## Hardware requirements
@ -377,6 +378,11 @@ The first request after container startup can be slower because CUDA graph captu
## Changelog
### v6.10.1 — 2026-09-21
**Fix: Fresh `docker build` Crashes on Model Load**
- **Root Cause:** The Dockerfile cloned upstream `faster-qwen3-tts` from `main`. Upstream v0.4.0 (2026-08-25) moved to Transformers 5 (`qwen-tts-hf`), but `qwen-asr` pins `transformers==4.57.6` and downgraded it in the next build step, so `Qwen3TTSModel.from_pretrained` failed on startup. Images built before that date were unaffected.
- **Fix:** Upstream is now pinned to commit `7cdef7e` (v0.2.6, the version in the released images), with `qwen-tts==0.1.1` and `qwen-asr==0.0.6`. Override with `--build-arg FASTER_QWEN3_TTS_REF=<sha|tag|branch>`.
### v6.10 — 2026-08-18
**Fix: Long Text No Longer Truncated Mid-Sentence**
- **Root Cause:** `/v1/audio/speech` sent the entire request text as one generate call, capped at `--max-seq-len` codec tokens. Text long enough to need more audio than that cap allowed got cut off wherever generation happened to be — mid-sentence, mid-word — with no error surfaced to the client.