快捷方式

TikTokenBaseTokenizer

class torchtune.modules.tokenizers.TikTokenBaseTokenizer(path: str, name: str, pattern: str, bos_id: int, eos_id: int, special_tokens: Dict[str, int])[源代码]

tiktoken Encoding 的轻量级封装。此类还处理将输入文本分解为最大长度的子字符串,并拆分长重复项以提高编码速度。

参数:
  • path (str) – 预训练分词器检查点文件的路径。

  • name (str) – 分词器的名称(供 tiktoken 识别使用)。

  • pattern (str) – 用于在传递给字节对编码之前将输入文本拆分为块的正则表达式模式。

  • bos_id (int) – 序列开始标记 ID。它可以存在于或不存在于 special_tokens 中。

  • eos_id (int) – 序列结束标记 ID。它可以存在于或不存在于 special_tokens 中。

  • special_tokens (Dict[str, int]) – 特殊标记到其 ID 的映射。

示例

>>> tokenizer = TikTokenBaseTokenizer("/path/to/tt_model")
>>> tokenized_text = tokenizer.encode("Hello world!", add_bos=True, add_eos=True)
>>> print(tokenized_text)
[1, 31587, 29644, 102, 2]
decode(token_ids: List[int], truncate_at_eos: bool = True) str[源代码]

将 token id 列表解码为字符串。

参数:
  • token_ids (List[int]) – token id 列表。

  • truncate_at_eos (bool) – 是否在序列结束标记处截断字符串。默认为 True。

返回:

解码后的字符串。

返回类型:

str

encode(text: str, add_bos: bool = True, add_eos: bool = True) List[int][源代码]

将字符串编码为 token id 列表。假设该字符串不包含特殊标记。

参数:
  • text (str) – 要编码的字符串。

  • add_bos (bool) – 是否将分词器的 bos_id 添加到编码后的字符串。默认为 True。

  • add_eos (bool) – 是否将分词器的 eos_id 添加到编码后的字符串。默认为 True。

返回:

token id 列表。

返回类型:

List[int]

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得您的问题解答

查看资源