diff options
Diffstat (limited to 'app/backends/sglomni/catalog.py')
| -rw-r--r-- | app/backends/sglomni/catalog.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/app/backends/sglomni/catalog.py b/app/backends/sglomni/catalog.py index 160eb8b..f20509f 100644 --- a/app/backends/sglomni/catalog.py +++ b/app/backends/sglomni/catalog.py @@ -104,10 +104,16 @@ _QWEN_EXTRAS: Tuple[Extra, ...] = ( _SOX_HINT = ("install the sox system package (e.g. sudo pacman -S sox, " "sudo apt install sox, brew install sox)") # The Fish Audio and ZONOS2 pipelines use the Descript DAC codec, which -# upstream installs WITH dependencies (nothing conflicts). +# upstream installs WITH dependencies — but descript-audiotools carries a +# vestigial 2021-era pin, protobuf<3.20 (its code never imports protobuf), +# that downgrades the protobuf 6.x the sglang-omni stack itself needs +# (smg-grpc-proto, grpcio health/reflection, cutlass-dsl, onnxruntime, +# s3prl all demand >=4). The final extra re-pins protobuf AFTER +# descript-audiotools so the downgrade never survives the install. _DAC_EXTRAS: Tuple[Extra, ...] = ( ("descript-audiotools==0.7.2", False), - ("descript-audio-codec==1.0.0", False)) + ("descript-audio-codec==1.0.0", False), + ("protobuf==6.33.6", False)) # Companion distributions whose top-level import name differs from the pip # name's plain dash-to-underscore normalization (verified against their @@ -115,6 +121,11 @@ _DAC_EXTRAS: Tuple[Extra, ...] = ( _EXTRA_IMPORT_OVERRIDES = { "descript-audiotools": "audiotools", "descript-audio-codec": "dac", + # Not a naming quirk: a version marker. `google.protobuf` imports just + # as happily at the downgraded 3.19.6 as at the required 6.33.6, but + # this submodule only exists from protobuf 5.27 — so the venv probe + # fails (and the extra re-installs) whenever the audiotools pin won. + "protobuf": "google.protobuf.runtime_version", } |
