快捷方式

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>')[source]

将符合 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,该值将被忽略。默认值:False

  • column_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]) – 每条消息文本内容中的占位符标签,将被图像特殊 token 替换。如果存在图像且此参数为 None,则默认将图像 token 添加到样本中的第一条用户消息之前。如果为纯文本数据,则此字段将被忽略。默认值为 "<image>"

抛出:

ValueError – 如果提供了 column_mapconversations 不在 column_map 中。

文档

获取全面的 PyTorch 开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源