ask the backend whether it can time words, and do not hand a CTC pipeline a None (v0.5.3)
Follow-up to v0.5.2, from measuring the fix instead of trusting it. Asking the running install for word timings on 4.3 seconds of Italian it had just synthesised showed two more faults in the same chain, both of which answer 200 with the timings missing. A CTC pipeline cannot take `generate_kwargs=None`: it iterates it and raises `TypeError: 'NoneType' object is not iterable`. The backend passed exactly that whenever a model had no generate kwargs, which is every wav2vec2/MMS checkpoint -- and the retry below it then turned the failure into a text-only success, so the only trace was one line in the log. `wav2vec2-it` returned 0 words before this and the same 14 the pipeline always produced after. The kwarg is now omitted when empty rather than passed as None. And the pick has to consider the language, not just the backend: a model that declares `languages` REFUSES the rest with a 400, so an install with `wav2vec2-it` and `wav2vec2-en` has two models that each report word timings and each reject the other's language. Picking one for the wrong language would have replaced one silent fallback with another. Measured, on sixteen configured audio models: ten cannot time words at all. Co-Authored-By:Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S8LAP3ueNzQJtwzhgVbq66
Showing
Please
register
or
sign in
to comment