From 5dddb331c48039c2649ccdba3a81a7fbe43a7fe5 Mon Sep 17 00:00:00 2001 From: Lianmin Zheng Date: Tue, 30 Sep 2025 21:50:43 -0700 Subject: [PATCH] [Auto Sync] Update base_grammar_backend.py, xgrammar_backen... (20250930) (#11115) Co-authored-by: github-actions[bot] Co-authored-by: Sehoon Kim --- python/sglang/srt/constrained/base_grammar_backend.py | 1 + python/sglang/srt/constrained/xgrammar_backend.py | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/python/sglang/srt/constrained/base_grammar_backend.py b/python/sglang/srt/constrained/base_grammar_backend.py index 23bcd1bd3..d3be81ef7 100644 --- a/python/sglang/srt/constrained/base_grammar_backend.py +++ b/python/sglang/srt/constrained/base_grammar_backend.py @@ -35,6 +35,7 @@ class GrammarStats: is_cache_hit: bool = False is_grammar_aborted: bool = False tree_traversal_time: List[float] = field(default_factory=list) + dispatch_type: Optional[str] = None class BaseGrammarObject: diff --git a/python/sglang/srt/constrained/xgrammar_backend.py b/python/sglang/srt/constrained/xgrammar_backend.py index 3f21e854b..3df788970 100644 --- a/python/sglang/srt/constrained/xgrammar_backend.py +++ b/python/sglang/srt/constrained/xgrammar_backend.py @@ -217,7 +217,7 @@ class XGrammarGrammarBackend(BaseGrammarBackend): except (RuntimeError, json.decoder.JSONDecodeError) as e: logging.error(f"Hit invalid json_schema: {key_string=}, {e=}") return INVALID_GRAMMAR_OBJ - return self._from_context(ctx, key_string, GrammarStats()) + return self._from_context(ctx, key_string, GrammarStats(dispatch_type="json")) def dispatch_ebnf(self, key_string: str) -> Optional[XGrammarGrammar]: try: @@ -225,7 +225,7 @@ class XGrammarGrammarBackend(BaseGrammarBackend): except RuntimeError as e: logging.error(f"Hit invalid ebnf: {key_string=}, {e=}") return INVALID_GRAMMAR_OBJ - return self._from_context(ctx, key_string, GrammarStats()) + return self._from_context(ctx, key_string, GrammarStats(dispatch_type="ebnf")) def dispatch_regex(self, key_string: str) -> Optional[XGrammarGrammar]: try: @@ -233,7 +233,7 @@ class XGrammarGrammarBackend(BaseGrammarBackend): except RuntimeError as e: logging.error(f"Hit invalid regex: {key_string=}, {e=}") return INVALID_GRAMMAR_OBJ - return self._from_context(ctx, key_string, GrammarStats()) + return self._from_context(ctx, key_string, GrammarStats(dispatch_type="regex")) def dispatch_structural_tag(self, key_string: str) -> Optional[XGrammarGrammar]: try: @@ -252,7 +252,9 @@ class XGrammarGrammarBackend(BaseGrammarBackend): except (RuntimeError, json.decoder.JSONDecodeError) as e: logging.error(f"Hit invalid structural_tag: {key_string=}, {e=}") return INVALID_GRAMMAR_OBJ - return self._from_context(ctx, key_string, GrammarStats()) + return self._from_context( + ctx, key_string, GrammarStats(dispatch_type="structural_tag") + ) def reset(self): self.grammar_compiler.clear_cache()