Fix outlines-0.0.35 incompatibility (#291)
Co-authored-by: ZX <zx@lbx.dev>
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user