SentencePieceBaseTokenizer¶
- class torchtune.modules.tokenizers.SentencePieceBaseTokenizer(path: str)[source]¶
一个轻量级的SentencePieceProcessor包装器,额外处理了去除前导空格的功能。
- Parameters:
path (str) – 预训练分词器文件的路径。
示例
>>> tokenizer = SentencePieceBaseTokenizer("/path/to/spm_model") >>> tokenized_text = tokenizer.encode("Hello world!", add_bos=True, add_eos=True) >>> print(tokenized_text) [1, 31587, 29644, 102, 2]
- encode(text: str, add_bos: bool = True, add_eos: bool = True, trim_leading_whitespace: bool = False, prefix: Optional[str] = None) List[int][source]¶
将文本编码为令牌ID。
- Parameters:
文本 (str) – 要编码的输入文本,未批处理。
add_bos (bool) – 是否在输入前添加BOS,默认为True。
add_eos (bool) – 是否在输入后附加EOS,默认为True。
trim_leading_whitespace (bool) – 是否从底层的sentencepiece分词中去除前导空格。Sentencepiece通常会在任何分词文本前添加空格,这可能导致
encode(s1) + encode(s2) != encode(s1 + s2)由于s2添加了前导空格而导致的差异。这只会去除前导空格,如果底层的SentencePieceProcessor编码了空格。默认值:Falseprefix (可选[str]) – 用于修剪前导空格的可选字符串。仅在 trim_leading_whitespace=True 时使用。默认值:None
- Returns:
编码后的令牌ID。
- Return type:
列表[int]