消息¶
- 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。在大多数情况下应该为真,除了
对于多个连续的助手消息(即,助手发出的工具调用),只有最后一条助手消息将有
eot=True
所有 ipython 消息(工具调用返回值)都应设置
eot=False
。
注意
Message 类期望所有图像内容都采用 PIL Image 格式.
- get_media() List[PIL.Image.Image] [source]¶
返回消息的媒体内容。