快捷方式

tokenize_messages_no_special_tokens

torchtune.modules.tokenizers.tokenize_messages_no_special_tokens(tokenizer: ModelTokenizer, messages: List[Message], *, bos_id: Optional[int] = None, eos_id: Optional[int] = None) Tuple[List[int], List[bool]][source]

一次对消息列表进行分词,然后将它们连接起来,返回一个 token 列表和一个 mask 列表。除了 BOS 和 EOS(如果提供)之外,不添加任何特殊 token。这为不依赖于特殊 token 的模型分词器提供了共同的起点。

示例

>>> messages = [
...     Message(role="system", content="system message\n", masked=True),
...     Message(role="user", content="user prompt\n", masked=True),
...     Message(role="assistant", content="assistant response\n"),
... ]
# tokenize_messages encodes messages separately and concats
>>> tokens = tokenize_messages_no_special_tokens(
...     tokenizer,
...     messages,
...     bos_id=tokenizer.bos_id,
...     eos_id=tokenizer.eos_id,
... )[0]
>>> print(tokens)
[1, 1788, 2643, 13, 1792, 9508, 13, 465, 22137, 2933, 2]
# Same result as encoding the full string in one go
>>> print(tokenizer.encode(''.join([message.content for message in messages])))
[1, 1788, 2643, 13, 1792, 9508, 13, 465, 22137, 2933, 2]
参数:
  • tokenizer (ModelTokenizer) – 用于对消息进行编码的分词器。

  • messages (List[Message]) – 消息列表,每个消息包含角色、内容和掩码属性。

  • bos_id (Optional[int]) – 序列开始 token ID。如果为 None,则不添加 BOS token。默认为 None。

  • eos_id (Optional[int]) – 序列结束 token ID。如果为 None,则不添加 EOS token。默认为 None。

返回值:

已分词的消息。

返回类型:

Tuple[List[int], List[bool]]

引发:

RuntimeError – 如果 messages 中的任何消息不满足 message['type'] == 'text'

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

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

查看资源