Shortcuts

分享GPT到消息

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的消息结构。

单个样本通常由一个可选的系统提示和一个或多个用户和助手消息的轮次组成。

ShareGPT 如下:

{
    "conversations": [
        {
            "from": <system|human|gpt>,
            "value": <message>,
        },
        ...
    ]
}

消息 如下:

[
    {
        "role": <system|user|assistant>,
        "content": <message>,
    },
    ...
]
Parameters:
  • train_on_input (bool) – 提示是否应保持未屏蔽。对于多模态数据集,train_on_input始终为False,此值将被忽略。默认值:False

  • column_map (可选[Dict[str, str]]) – 从预期列(“conversations”)到数据集中新列名的映射。键应为“conversations”,值应为新列名。如果为None,则保留默认的“conversations”。默认值为None。

  • new_system_prompt (可选[str]) – 如果指定,将预置一条系统消息。这可以作为指导模型响应的指令。设置此选项将覆盖数据集中已存在的任何系统消息。默认值为 None。

  • image_dir (可选[路径]) – 包含数据集中所有图像路径的目录路径。例如,如果 image_dir="/home/user/dataset/"` 并且 样本 图像 路径 ``"images/1.jpg",那么最终加载的图像路径将是 "/home/user/dataset/images/1.jpg"。 如果为 None,则假定图像在当前工作目录中可用或位于远程 URL 上。对于纯文本,请保留为 None。默认值为 None。

  • image_tag (可选[str]) – 在每条消息的文本内容中占位符标签,用于被图像特殊标记替换。如果存在图像且此值为None,则默认将图像标记添加到样本中的第一条用户消息前。如果仅为文本,则忽略此字段。默认值为 ""

Raises:

ValueError – 如果提供了 column_map 并且 conversations 不在 column_map 中。