ShareGPTToMessages¶
- class torchtune.data.ShareGPTToMessages(train_on_input: bool = False, column_map: Optional[Dict[str, str]] = None, new_system_prompt: Optional[str] = None, image_dir: Optional[Path] = None, image_tag: Optional[str] = '<image>')[源代码]¶
将符合 ShareGPT JSON 结构的单个聊天样本转换为 torchtune 的
Message
结构。单个样本通常包含一个可选的系统提示和一个或多个用户和助手消息的轮次。
ShareGPT 遵循
{ "conversations": [ { "from": <system|human|gpt>, "value": <message>, }, ... ] }
Message
遵循[ { "role": <system|user|assistant>, "content": <message>, }, ... ]
- 参数:
train_on_input (bool) – 提示是否应保持未掩码。对于多模态数据集,
train_on_input
始终为 False,并且忽略此值。默认值:Falsecolumn_map (Optional[Dict[str, str]]) – 从预期列(“conversations”)到数据集中新列名的映射。键应为“conversations”,值应为新列名。如果为 None,则保留默认值“conversations”。默认为 None。
new_system_prompt (Optional[str]) – 如果指定,则添加系统消息。这可以用作指导模型响应的说明。设置此项将覆盖数据集中已存在的任何系统消息。默认为 None。
image_dir (Optional[Path]) – 包含图像的目录的路径,该路径将预添加到数据集中所有图像路径的前面。例如,如果
image_dir="/home/user/dataset/"` 并且样本图像路径为 ``"images/1.jpg"
,则将加载的最终图像路径为"/home/user/dataset/images/1.jpg"
。如果为 None,则假定图像在当前工作目录中可用或位于远程 URL 上。对于纯文本,保持为 None。默认为 None。image_tag (Optional[str]) – 每个消息文本内容中的占位符标签,将被图像特殊标记替换。如果存在图像并且此值为 None,则默认情况下会将图像标记添加到样本中的第一个用户消息中。如果为纯文本,则忽略此字段。默认为
"<image>"
。
- 引发:
ValueError – 如果提供
column_map
且conversations
不在column_map
中。