From 0129c911e0a8f0793b56dabe949d6bae92e078b6 Mon Sep 17 00:00:00 2001 From: luqitao <412616567@qq.com> Date: Wed, 17 Dec 2025 12:21:08 +0800 Subject: [PATCH] fix(function_call): fallback to decode when batch decode options differ (#15155) Signed-off-by: luqitao --- python/sglang/srt/managers/detokenizer_manager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/python/sglang/srt/managers/detokenizer_manager.py b/python/sglang/srt/managers/detokenizer_manager.py index 715c9d1b7..be45cf86e 100644 --- a/python/sglang/srt/managers/detokenizer_manager.py +++ b/python/sglang/srt/managers/detokenizer_manager.py @@ -179,7 +179,11 @@ class DetokenizerManager(MultiHttpWorkerDetokenizerMixin): # Decode token ids to strings # TODO(lmzheng): handle skip_special_tokens/spaces_between_special_tokens per request - if not self.disable_tokenizer_batch_decode: + skip_uniform = len(set(recv_obj.skip_special_tokens)) == 1 + space_uniform = len(set(recv_obj.spaces_between_special_tokens)) == 1 + if not self.disable_tokenizer_batch_decode or not ( + skip_uniform and space_uniform + ): if not self.is_dummy: # Run normal batch decode surr_texts = self.tokenizer.batch_decode(