Unverified Commit 5dddb331 authored by Lianmin Zheng's avatar Lianmin Zheng Committed by GitHub
Browse files

[Auto Sync] Update base_grammar_backend.py, xgrammar_backen... (20250930) (#11115)


Co-authored-by: default avatargithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: default avatarSehoon Kim <sehoon@x.ai>
parent 01a26544
...@@ -35,6 +35,7 @@ class GrammarStats: ...@@ -35,6 +35,7 @@ class GrammarStats:
is_cache_hit: bool = False is_cache_hit: bool = False
is_grammar_aborted: bool = False is_grammar_aborted: bool = False
tree_traversal_time: List[float] = field(default_factory=list) tree_traversal_time: List[float] = field(default_factory=list)
dispatch_type: Optional[str] = None
class BaseGrammarObject: class BaseGrammarObject:
......
...@@ -217,7 +217,7 @@ class XGrammarGrammarBackend(BaseGrammarBackend): ...@@ -217,7 +217,7 @@ class XGrammarGrammarBackend(BaseGrammarBackend):
except (RuntimeError, json.decoder.JSONDecodeError) as e: except (RuntimeError, json.decoder.JSONDecodeError) as e:
logging.error(f"Hit invalid json_schema: {key_string=}, {e=}") logging.error(f"Hit invalid json_schema: {key_string=}, {e=}")
return INVALID_GRAMMAR_OBJ 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]: def dispatch_ebnf(self, key_string: str) -> Optional[XGrammarGrammar]:
try: try:
...@@ -225,7 +225,7 @@ class XGrammarGrammarBackend(BaseGrammarBackend): ...@@ -225,7 +225,7 @@ class XGrammarGrammarBackend(BaseGrammarBackend):
except RuntimeError as e: except RuntimeError as e:
logging.error(f"Hit invalid ebnf: {key_string=}, {e=}") logging.error(f"Hit invalid ebnf: {key_string=}, {e=}")
return INVALID_GRAMMAR_OBJ 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]: def dispatch_regex(self, key_string: str) -> Optional[XGrammarGrammar]:
try: try:
...@@ -233,7 +233,7 @@ class XGrammarGrammarBackend(BaseGrammarBackend): ...@@ -233,7 +233,7 @@ class XGrammarGrammarBackend(BaseGrammarBackend):
except RuntimeError as e: except RuntimeError as e:
logging.error(f"Hit invalid regex: {key_string=}, {e=}") logging.error(f"Hit invalid regex: {key_string=}, {e=}")
return INVALID_GRAMMAR_OBJ 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]: def dispatch_structural_tag(self, key_string: str) -> Optional[XGrammarGrammar]:
try: try:
...@@ -252,7 +252,9 @@ class XGrammarGrammarBackend(BaseGrammarBackend): ...@@ -252,7 +252,9 @@ class XGrammarGrammarBackend(BaseGrammarBackend):
except (RuntimeError, json.decoder.JSONDecodeError) as e: except (RuntimeError, json.decoder.JSONDecodeError) as e:
logging.error(f"Hit invalid structural_tag: {key_string=}, {e=}") logging.error(f"Hit invalid structural_tag: {key_string=}, {e=}")
return INVALID_GRAMMAR_OBJ 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): def reset(self):
self.grammar_compiler.clear_cache() self.grammar_compiler.clear_cache()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment