SentencePieceBaseTokenizer¶
- class torchtune.modules.tokenizers.SentencePieceBaseTokenizer(path: str)[源代码]¶
一个围绕 SentencePieceProcessor 的轻量级包装器,它还可以处理修剪前导空格。
- 参数:
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] [源代码]¶
将文本编码为令牌 ID。
- 参数:
text (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 (Optional[str]) – 用于修剪前导空格的可选字符串。仅当 trim_leading_whitespace=True 时使用。默认值:None
- 返回值:
编码后的令牌 ID。
- 返回类型:
List[int]