diff options
| author | historia <historiavg@proton.me> | 2026-09-02 01:26:09 -0400 |
|---|---|---|
| committer | historia <historiavg@proton.me> | 2026-09-02 01:26:09 -0400 |
| commit | 8579517a35ef1865fc9b428899d73d52dcb27a14 (patch) | |
| tree | dba52f8d99cfe4014e0b787367de99f238e5a0db /app/backends/sglomni/configs | |
| parent | 391f50da7a085bec75155c0eb9b47910266058cc (diff) | |
| download | tts-audiobook-generator-8579517a35ef1865fc9b428899d73d52dcb27a14.tar.gz | |
feat: sglang backend support
Diffstat (limited to 'app/backends/sglomni/configs')
| -rw-r--r-- | app/backends/sglomni/configs/dots_tts.yaml | 36 | ||||
| -rw-r--r-- | app/backends/sglomni/configs/moss_tts.yaml | 2 | ||||
| -rw-r--r-- | app/backends/sglomni/configs/moss_tts_local.yaml | 2 | ||||
| -rw-r--r-- | app/backends/sglomni/configs/qwen3_tts_0_6b.yaml | 2 | ||||
| -rw-r--r-- | app/backends/sglomni/configs/qwen3_tts_0_6b_customvoice.yaml | 2 | ||||
| -rw-r--r-- | app/backends/sglomni/configs/qwen3_tts_1_7b.yaml | 2 | ||||
| -rw-r--r-- | app/backends/sglomni/configs/qwen3_tts_1_7b_voicedesign.yaml | 2 | ||||
| -rw-r--r-- | app/backends/sglomni/configs/s2pro_tts.yaml | 2 | ||||
| -rw-r--r-- | app/backends/sglomni/configs/voxtral_tts.yaml | 2 | ||||
| -rw-r--r-- | app/backends/sglomni/configs/zonos2_bf16.yaml | 28 |
10 files changed, 80 insertions, 0 deletions
diff --git a/app/backends/sglomni/configs/dots_tts.yaml b/app/backends/sglomni/configs/dots_tts.yaml new file mode 100644 index 0000000..d2c42f4 --- /dev/null +++ b/app/backends/sglomni/configs/dots_tts.yaml @@ -0,0 +1,36 @@ +config_cls: DotsTTSPipelineConfig +model_path: dots-studio/dots.tts-mf + +# The solver settings feed two consumers: the latent AR engine solves with +# them, and preprocessing sizes its generation schedule from them. The +# selector writes one value into both stages; an explicit per-stage entry +# under stages: would override it. +shared: + - select: + stages: [preprocessing, latent_engine] + factory: + num_steps: 4 + max_generate_length: 500 + +stages: + reference_encode: + factory: + max_concurrency: 8 + max_batch_size: 1 + max_batch_wait_ms: 4 + latent_engine: + factory: + optimize: true + engine: + mem_fraction_static: 0.20 + max_running_requests: 16 + # note (luojiaxuan): backbone decode runs through the SGLang CUDA graph + # with the model-owned feedback buffer; delete these two lines (or set + # disable_cuda_graph: true) to fall back to eager backbone decode. + disable_cuda_graph: false + cuda_graph_max_bs: 16 + vocoder: + factory: + optimize: true + max_batch_size: 4 + max_batch_wait_ms: 2 diff --git a/app/backends/sglomni/configs/moss_tts.yaml b/app/backends/sglomni/configs/moss_tts.yaml new file mode 100644 index 0000000..ef8d8fa --- /dev/null +++ b/app/backends/sglomni/configs/moss_tts.yaml @@ -0,0 +1,2 @@ +config_cls: MossTTSPipelineConfig +model_path: OpenMOSS-Team/MOSS-TTS-v1.5 diff --git a/app/backends/sglomni/configs/moss_tts_local.yaml b/app/backends/sglomni/configs/moss_tts_local.yaml new file mode 100644 index 0000000..0b37f4e --- /dev/null +++ b/app/backends/sglomni/configs/moss_tts_local.yaml @@ -0,0 +1,2 @@ +config_cls: MossTTSLocalPipelineConfig +model_path: OpenMOSS-Team/MOSS-TTS-Local-Transformer-v1.5 diff --git a/app/backends/sglomni/configs/qwen3_tts_0_6b.yaml b/app/backends/sglomni/configs/qwen3_tts_0_6b.yaml new file mode 100644 index 0000000..a712ef9 --- /dev/null +++ b/app/backends/sglomni/configs/qwen3_tts_0_6b.yaml @@ -0,0 +1,2 @@ +config_cls: Qwen3TTSPipelineConfig +model_path: Qwen/Qwen3-TTS-12Hz-0.6B-Base diff --git a/app/backends/sglomni/configs/qwen3_tts_0_6b_customvoice.yaml b/app/backends/sglomni/configs/qwen3_tts_0_6b_customvoice.yaml new file mode 100644 index 0000000..6b284da --- /dev/null +++ b/app/backends/sglomni/configs/qwen3_tts_0_6b_customvoice.yaml @@ -0,0 +1,2 @@ +config_cls: Qwen3TTSPipelineConfig +model_path: Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice diff --git a/app/backends/sglomni/configs/qwen3_tts_1_7b.yaml b/app/backends/sglomni/configs/qwen3_tts_1_7b.yaml new file mode 100644 index 0000000..4f7706d --- /dev/null +++ b/app/backends/sglomni/configs/qwen3_tts_1_7b.yaml @@ -0,0 +1,2 @@ +config_cls: Qwen3TTSPipelineConfig +model_path: Qwen/Qwen3-TTS-12Hz-1.7B-Base diff --git a/app/backends/sglomni/configs/qwen3_tts_1_7b_voicedesign.yaml b/app/backends/sglomni/configs/qwen3_tts_1_7b_voicedesign.yaml new file mode 100644 index 0000000..20ae0b8 --- /dev/null +++ b/app/backends/sglomni/configs/qwen3_tts_1_7b_voicedesign.yaml @@ -0,0 +1,2 @@ +config_cls: Qwen3TTSPipelineConfig +model_path: Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign diff --git a/app/backends/sglomni/configs/s2pro_tts.yaml b/app/backends/sglomni/configs/s2pro_tts.yaml new file mode 100644 index 0000000..0bc3eba --- /dev/null +++ b/app/backends/sglomni/configs/s2pro_tts.yaml @@ -0,0 +1,2 @@ +config_cls: S2ProPipelineConfig +model_path: fishaudio/s2-pro diff --git a/app/backends/sglomni/configs/voxtral_tts.yaml b/app/backends/sglomni/configs/voxtral_tts.yaml new file mode 100644 index 0000000..450cbce --- /dev/null +++ b/app/backends/sglomni/configs/voxtral_tts.yaml @@ -0,0 +1,2 @@ +config_cls: VoxtralTTSPipelineConfig +model_path: mistralai/Voxtral-4B-TTS-2603 diff --git a/app/backends/sglomni/configs/zonos2_bf16.yaml b/app/backends/sglomni/configs/zonos2_bf16.yaml new file mode 100644 index 0000000..79d5d26 --- /dev/null +++ b/app/backends/sglomni/configs/zonos2_bf16.yaml @@ -0,0 +1,28 @@ +# ZONOS2 without the FP8-quantized MoE pipeline. +# +# sglang-omni's default ZONOS2 config (Zonos2PipelineConfig) hardcodes +# `fp8: True` in the tts_engine stage factory: the MoE experts are +# dynamically quantized bf16 -> fp8 at load time, and sglang's fused-MoE +# Triton kernel for fp8e4nv only compiles on compute capability 8.9+ +# (RTX 4090/5090, Hopper). On older GPUs the server dies mid-boot with +# `type fp8e4nv not supported in this architecture`. +# +# This copy turns FP8 off (`factory.fp8: false` overrides the hardcoded +# kwarg — free-form factory keys pass through to the stage factory), so +# the model runs in bf16 and works on e.g. Ampere (RTX 30xx, A100) at +# roughly twice the MoE VRAM. The managed spec selects it automatically +# on GPUs the FP8 path cannot run (backends.sglomni.status.build_spec). +# +# The bf16 weights (~11.5 GB) also need a bigger static-pool budget than +# the builder's default 0.5: on a 24 GB card 0.5 leaves no room for the +# KV cache inside 12 GB, and the server aborts with "Loaded weights +# leave no GPU memory for the KV cache" (the profiler asks for >=0.64). +# 0.70 gives ~16.8 GB static -> ~1.4 GB KV, and leaves ~7 GB of the card +# for the colocated speaker-encode/vocoder stages. +config_cls: Zonos2PipelineConfig +model_path: Zyphra/zonos2 +stages: + tts_engine: + factory: + fp8: false + mem_fraction_static: 0.70 |
