lightrft.datasets.sft_dataset_vl¶
- class lightrft.datasets.sft_dataset_vl.SFTDatasetVL(*args: Any, **kwargs: Any)[source]¶
Bases:
DatasetDataset for SFT model
- collate_fn(item_list)[source]¶
Collate function to batch vision-language samples with padding.
- Parameters:
item_list (list) – List of tuples (prompt_ids_len, input_id, attention_mask, pixel_value, image_grid_thw, info).
- Returns:
Batched tensors (prompt_ids_lens, input_ids, attention_masks, pixel_values, image_grid_thws, infos).
- Return type:
tuple
- packing_collate_fn(item_list)[source]¶
Collate function for packing multiple vision-language samples into a single sequence.
- Parameters:
item_list (list) – List of tuples (prompt_ids_len, input_id, _, pixel_value, image_grid_thw, info).
- Returns:
Packed tensors (packed_input_ids, packed_attention_masks, prompt_ids_lens, pixel_values, image_grid_thws, infos).
- Return type:
tuple
- lightrft.datasets.sft_dataset_vl.preprocess_data(data, input_template=None, input_key='input', output_key=None, images_key='images', apply_chat_template=None)[source]¶
Preprocess vision-language data sample into prompt, response, and images.
- Parameters:
data (dict) – Raw data sample dictionary.
input_template (Optional[str]) – Optional template string to format the input.
input_key (str) – Key for input field in data.
output_key (Optional[str]) – Key for output field in data (None for pretrain mode).
images_key (str) – Key for images field in data.
apply_chat_template (Optional[Callable]) – Optional chat template function.
- Returns:
Tuple of (prompt, response, images).
- Return type:
Tuple[Optional[str], Optional[str], Any]