消息¶
- class torchtune.data.Message(role: Literal['system', 'user', 'assistant', 'ipython'], content: Union[str, List[Dict[str, Any]]], masked: bool = False, ipython: bool = False, eot: bool = True)[source]¶
此类表示微调数据集中的单个消息。它支持纯文本内容、带有交错图像的文本以及工具调用。
ModelTokenizer
将使用tokenize_messages
对消息的内容进行分词,并根据此类中设置的标志附加适当的特殊标记。- 参数:
role (Role) – 消息编写者的角色。可以是“system”(系统提示)、“user”(用户提示)、“assistant”(模型响应)或“ipython”(工具调用返回)。
content (Union[str, List[Dict[str, Any]]]) –
消息的内容。如果只是纯文本内容,则可以传入字符串。如果是多模态内容,则传入字典列表,格式如下
[ {"type": "image", "content": <PIL.Image.Image>}, {"type": "text", "content": "What is in this image?"}, ]
masked (bool) – 消息是否在样本中被屏蔽。如果为 True,则不用于损失计算。默认值:False
ipython (bool) – 消息是否为工具调用。默认值:False
eot (bool) –
消息是否对应于回合结束,即控制权从用户移交给助手,或从助手移交给用户。默认值:True。在大多数情况下应为 true,以下情况除外
对于多个连续的助手消息(即助手进行的工具调用),只有最后一条助手消息的
eot=True
所有 ipython 消息(工具调用返回)都应设置
eot=False
。
注意
消息类期望任何图像内容都采用 PIL 图像格式。
- get_media() List[PIL.Image.Image] [source]¶
返回消息的媒体内容。