From 72e7b57a750615187af9c761e526bf4570fc1288 Mon Sep 17 00:00:00 2001 From: zolinthecow <32052672+zolinthecow@users.noreply.github.com> Date: Thu, 24 Oct 2024 01:54:53 -0700 Subject: [PATCH] [Bug] Catch any errors caused by parsing json schema (#1776) --- python/sglang/srt/constrained/fsm_cache.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/python/sglang/srt/constrained/fsm_cache.py b/python/sglang/srt/constrained/fsm_cache.py index ab025f26e..192431fda 100644 --- a/python/sglang/srt/constrained/fsm_cache.py +++ b/python/sglang/srt/constrained/fsm_cache.py @@ -73,9 +73,16 @@ class FSMCache(BaseToolCache): def init_value(self, key): key_type, key_string = key if key_type == "json": - regex = build_regex_from_schema( - key_string, whitespace_pattern=self.constrained_json_whitespace_pattern - ) + try: + regex = build_regex_from_schema( + key_string, + whitespace_pattern=self.constrained_json_whitespace_pattern, + ) + except NotImplementedError as e: + logger.warning( + f"skip invalid json schema: json_schema={key_string}, {e=}" + ) + return None, key_string elif key_type == "regex": regex = key_string else: