Unverified Commit 77835756 authored by ZhouGongZaiShi's avatar ZhouGongZaiShi Committed by GitHub
Browse files

Fix outlines-0.0.35 incompatibility (#291)


Co-authored-by: default avatarZX <zx@lbx.dev>
parent ed315799
...@@ -5,9 +5,20 @@ from sglang.srt.constrained.base_cache import BaseCache ...@@ -5,9 +5,20 @@ from sglang.srt.constrained.base_cache import BaseCache
class FSMCache(BaseCache): class FSMCache(BaseCache):
def __init__(self, tokenizer_path, tokenizer_args_dict, enable=True): def __init__(self, tokenizer_path, tokenizer_args_dict, enable=True):
super().__init__(enable=enable) super().__init__(enable=enable)
self.outlines_tokenizer = TransformerTokenizer(
tokenizer_path, **tokenizer_args_dict from importlib.metadata import version
) if version("outlines") >= "0.0.35":
from transformers import AutoTokenizer
tokenizer_args_dict.setdefault("padding_side", "left")
tokenizer = AutoTokenizer.from_pretrained(
tokenizer_path, **tokenizer_args_dict
)
self.outlines_tokenizer = TransformerTokenizer(tokenizer)
else:
self.outlines_tokenizer = TransformerTokenizer(
tokenizer_path, **tokenizer_args_dict
)
def init_value(self, regex): def init_value(self, regex):
return RegexFSM(regex, self.outlines_tokenizer) return RegexFSM(regex, self.outlines_tokenizer)
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