InputOutputToMessages¶
- class torchtune.data.InputOutputToMessages(train_on_input: bool = False, column_map: Optional[Dict[str, str]] = None, new_system_prompt: Optional[str] = None, image_dir: Optional[Path] = None)[源码]¶
消息转换类,将包含“input”和“output”字段(或 column_map 中指定的等效字段)的单个样本分别转换为用户和助手消息。这对于具有两列的数据集非常有用,其中一列包含用户提示字符串,另一列包含模型响应字符串
| input | output | |-----------------|------------------| | "user prompt" | "model response" |
- 参数:
train_on_input (bool) – 模型是否在用户提示上进行训练。默认为 False。
column_map (Optional[Dict[str, str]]) – 用于将预期的“input”和“output”列名更改为数据集中实际列名的映射。键应为“input”和“output”,值应为实际列名。默认为 None,保留默认的“input”和“output”列名。
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。
- 引发:
ValueError – 如果提供了
column_map
且input
不在column_map
中,或者output
不在column_map
中,**或者** 如果提供了image_dir
但image
不在column_map
中。