Shortcuts

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]
decode(ids: List[int]) str[source]

将令牌ID解码为字符串。

Parameters:

ids (List[int]) – 要解码的输入令牌ID。

Returns:

解码后的文本。

Return type:

str

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编码了空格。默认值:False

  • prefix (可选[str]) – 用于修剪前导空格的可选字符串。仅在 trim_leading_whitespace=True 时使用。默认值:None

Returns:

编码后的令牌ID。

Return type:

列表[int]