File tree Expand file tree Collapse file tree 2 files changed +16
-14
lines changed Expand file tree Collapse file tree 2 files changed +16
-14
lines changed Original file line number Diff line number Diff line change @@ -914,15 +914,6 @@ def _get_token_count(
914914 if self ._tokenizer is None :
915915 self ._tokenizer = get_default_tokenizer ()
916916
917- if self ._tokenizer is None :
918- raise ValueError (
919- "A tokenizer is required to impose `token_limits` on messages. "
920- "To get a generic default tokenizer, install the `tokenizers` "
921- "package (`pip install tokenizers`). "
922- "To get a more precise token count, provide a specific tokenizer "
923- "to the `Chat` constructor."
924- )
925-
926917 encoded = self ._tokenizer .encode (content )
927918 if isinstance (encoded , TokenizersEncoding ):
928919 return len (encoded .ids )
Original file line number Diff line number Diff line change @@ -45,12 +45,23 @@ def encode(
4545TokenEncoding = Union [TiktokenEncoding , TokenizersTokenizer ]
4646
4747
48- def get_default_tokenizer () -> TokenizersTokenizer | None :
48+ def get_default_tokenizer () -> TokenizersTokenizer :
4949 try :
5050 from tokenizers import Tokenizer
5151
5252 return Tokenizer .from_pretrained ("bert-base-cased" ) # type: ignore
53- except Exception :
54- pass
55-
56- return None
53+ except ImportError :
54+ raise ValueError (
55+ "A tokenizer is required to impose `token_limits` on messages. "
56+ "To get a generic default tokenizer, install the `tokenizers` "
57+ "package (`pip install tokenizers`). "
58+ "To get a more precise token count, provide a specific tokenizer "
59+ "to the `Chat` constructor."
60+ )
61+ except Exception as e :
62+ raise ValueError (
63+ "Failed to load the default tokenizer. "
64+ "Ensure that the `tokenizers` package is installed and "
65+ "that the `bert-base-cased` model is available. "
66+ f"Error: { e } "
67+ ) from e
You can’t perform that action at this time.
0 commit comments