Shortcuts

OpenAIToMessages

class torchtune.data.OpenAIToMessages(train_on_input: bool = False, column_map: Optional[Dict[str, str]] = None, new_system_prompt: Optional[str] = None)[source]

将符合OpenAI聊天完成JSON结构的单个聊天样本转换为torchtune的消息结构。这支持文本和图像消息。

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

例如:

{
    "messages": [
        {
            "role": <system|user|assistant>,
            "content": [
                {
                    "type": "text",
                    "text": "What'''s in this image?",
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": <url>,
                    },
                },
        },
        ...
    ]
}

消息 如下:

[
    {
        "role": <system|user|assistant>,
        "content": [
            {
                "type": "text",
                "content": "What'''s in this image?",
            },
            {
                "type": "image",
                "content": <PIL.Image.Image>,
            },
        ],
    },
    ...
]
Parameters:
  • train_on_input (bool) – 提示是否应保持未屏蔽。默认值:False

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

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

Raises:

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