Shortcuts

已选择拒绝的消息

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

用于将包含“chosen”和“rejected”列的对话数据集中的单个样本转换为选定和拒绝消息列表的转换。例如:

|  chosen                                |  rejected                              |
|----------------------------------------|----------------------------------------|
| [{"role": "user", "content": Q1},      | [{"role": "user", "content": Q1},      |
|  {"role": "assistant", "content": A1}] |  {"role": "assistant", "content": A2}] |

将被转换为:

chosen = [
    Message(role="user", content="Q1"),
    Message(role="assistant", content="A1"),
]
rejected = [
    Message(role="user", content="Q1"),
    Message(role="assistant", content="A2"),
]

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

Parameters:
  • train_on_input (bool) – 模型是否在用户提示上进行训练。 默认值为 False。

  • column_map (可选[字典[str, str]]) – 一个映射,用于将预期的“chosen”和“rejected”列名更改为数据集中实际的列名。 键应为“chosen”和“rejected”,值应为实际的列名。 默认值为None,保留默认列名。

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

Raises:

ValueError – 如果提供了 column_map 并且 chosen 不在 column_map 中,或者 rejected 不在 column_map 中。