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(