the least glamorous engineering is often the most valuable. this refactor removed a net 2840 lines by moving repeated serving lifecycle - engine startup, state transport, caching, vocoder management - out of individual model directories and into the framework. the discipline that made it work: shared code must never branch on model names, every difference expressed through hooks or capability metadata. the Audar-TTS integration proves the payoff - production-ready code dropped from 222 lines to 77, a 65% reduction, with bit-identical outputs and zero performance change. this is what a serving framework should feel like: models write generation logic, the framework owns everything else @sgl_project
Yichi Zhang (@YichiZ03)
The hardest part of maintaining an open-source project is serving them at scale while keep high code quality.
In SGLang-Omni, we spent a month refactoring, removing 2000+ non-test duplication. Here is what we changed, and what we learned.
Article
Lifecycle Management and Framework Abstractions: Refactoring TTS Serving in SGLang Omni
Lifecycle Management and Framework Abstractions: Refactoring TTS Serving in SGLang Omni
How should a general-purpose serving framework support speech models with vastly different architectures and
— https://nitter.net/YichiZ03/status/2083702411999481879#m