消息¶
- 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
对消息内容进行分词,并根据此类中设置的标志附加适当的特殊 token。- 参数:
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
。
注意
Message 类要求所有图像内容采用 PIL Image 格式。
- get_media() List[PIL.Image.Image] [source]¶
返回消息的媒体内容。