From 687967c70d23475b1be280a62a740414688ef3f1 Mon Sep 17 00:00:00 2001 From: Xinyuan Tong <115166877+JustinTong0323@users.noreply.github.com> Date: Wed, 12 Aug 2026 13:26:44 +0800 Subject: [PATCH] Fix tokenizer warning filtering for processors (#34500) --- .../sglang/srt/utils/hf_transformers/processor.py | 3 +++ .../sglang/srt/utils/hf_transformers/tokenizer.py | 13 ++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/python/sglang/srt/utils/hf_transformers/processor.py b/python/sglang/srt/utils/hf_transformers/processor.py index 3db2e8486..de50416db 100644 --- a/python/sglang/srt/utils/hf_transformers/processor.py +++ b/python/sglang/srt/utils/hf_transformers/processor.py @@ -48,6 +48,7 @@ from .tokenizer import ( _TOKENIZERS_BACKEND, _fix_added_tokens_encoding, _fix_special_tokens_pattern, + _install_tokenizer_warnings_filter, ) _IMAGE_PROCESSOR_BACKENDS = {"auto", "torchvision", "pil"} @@ -368,6 +369,8 @@ def get_processor( else: processor.tokenizer = tokenizer + _install_tokenizer_warnings_filter(tokenizer) + if tokenizer.chat_template is None: local_path = download_from_hf( tokenizer_name, allow_patterns=["*.json", "*.jinja", "*.model"] diff --git a/python/sglang/srt/utils/hf_transformers/tokenizer.py b/python/sglang/srt/utils/hf_transformers/tokenizer.py index b6d25a1d8..9a76031b0 100644 --- a/python/sglang/srt/utils/hf_transformers/tokenizer.py +++ b/python/sglang/srt/utils/hf_transformers/tokenizer.py @@ -132,6 +132,15 @@ class TokenizerWarningsFilter(logging.Filter): return "Calling super().encode with" not in record.getMessage() +_tokenizer_warnings_filter = TokenizerWarningsFilter() + + +def _install_tokenizer_warnings_filter(tokenizer): + logging.getLogger(tokenizer.__class__.__module__).addFilter( + _tokenizer_warnings_filter + ) + + # --------------------------------------------------------------------------- # Helpers for get_tokenizer # --------------------------------------------------------------------------- @@ -169,9 +178,6 @@ def _auto_tokenizer_from_pretrained(tokenizer_name, *args, **common_kwargs): tokenizer = AutoTokenizer.from_pretrained( tokenizer_name, *args, **common_kwargs ) - logging.getLogger(tokenizer.__class__.__module__).addFilter( - TokenizerWarningsFilter() - ) return tokenizer except TypeError as e: err_msg = ( @@ -419,6 +425,7 @@ def _fix_special_tokens_pattern(tokenizer): def _apply_post_load_fixes(tokenizer, tokenizer_name, revision): """Apply all post-load patches and return the final tokenizer.""" + _install_tokenizer_warnings_filter(tokenizer) _fix_v5_tokenizer_components(tokenizer, tokenizer_name, revision) _fix_v5_add_bos_eos_token(tokenizer, tokenizer_name, revision)