Ужесточение фильтрации символов (RU/EN) и добавление fallback без language routing#19
Open
ndrco wants to merge 1 commit into
Open
Ужесточение фильтрации символов (RU/EN) и добавление fallback без language routing#19ndrco wants to merge 1 commit into
ndrco wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
\wв Unicode-режиме покрывает слишком много скриптов и приводит к падениям Silero (например,ValueErrorвapply_tts).500.Description
app/text/normalize.py: вместо\wтеперь используются явные диапазоны разрешённых символов дляruиen(A-Za-zА-Яа-яЁё0-9для RU иA-Za-z0-9для EN) с сохранением допуска цифр и распространённой пунктуации, черезstrip_unsupported_symbols._synthesize_with_newline_ssml_breaksвapp/services/tts_service.pyдобавленtry/except (ValueError, RuntimeError, KeyError)вокруг вызова RU-синтеза, и при ошибке выполняется дополнительная санитация черезstrip_unsupported_symbols(..., lang="ru")и повторная отправка в движок.tests/test_normalize.py— проверки удаления CJK дляlang="ru"иlang="en"; вtests/test_api_tts.py— сценарий без routing, где мок-движок эмулируетValueErrorдля CJK и проверяется успешный fallback и отсутствие CJK в итоговых вызовах движка.Testing
tests/test_normalize.pyиtests/test_api_tts.py, но полноценный запускpytestзавершился неудачей из-за отсутствия системной зависимостиhttpxдляstarlette.testclientв окружении; это блокируется внешней установкой пакетов в текущем окружении.httpx(pip install httpx) не удалась из-за сетевой/ proxy-ограничения (403), поэтому полный прогон тестов локально не прошёл.strip_unsupported_symbolsчерезpython-скрипт, и она вернула ожидаемую санитизацию (CJK удалены) для образцовruиenвходов, что подтверждает корректность изменения регулярных выражений.Codex Task