消息¶
- 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对消息内容进行标记化,并根据此类中设置的标志附加适当的特殊标记。- Parameters:
role (Role) – 消息编写者的角色。可以是“system”表示系统提示,“user”表示人类提示,“assistant”表示模型响应,或“ipython”表示工具调用返回。
内容 (联合[字符串, 列表[字典[字符串, 任意]]]) –
消息的内容。如果只是文本内容,你可以传入一个字符串。如果是多模态内容,传入一个字典列表,格式如下:
[ {"类型": "图片", "内容": <PIL.图片.图片>}, {"类型": "文本", "内容": "这张图片里有什么?"}, ]
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]¶
返回消息的媒体内容。