nemo_automodel.components.datasets.llm.retrieval_dataset#
Module Contents#
Classes#
Functions#
Load datasets from JSON files. |
|
Transform function to convert from raw format to training format. Same as _format_process_data in RetrievalMultiModalDatasetLoader. |
|
Create transform function with specified number of negative documents. |
|
Load and return dataset in retrieval format for biencoder training. |
Data#
API#
- nemo_automodel.components.datasets.llm.retrieval_dataset.EXAMPLE_TEMPLATE#
None
- class nemo_automodel.components.datasets.llm.retrieval_dataset.AbstractDataset#
Bases:
abc.ABC- abstractmethod get_document_by_id(id)#
- abstractmethod get_all_ids()#
- class nemo_automodel.components.datasets.llm.retrieval_dataset.TextQADataset(path)#
Bases:
nemo_automodel.components.datasets.llm.retrieval_dataset.AbstractDataset- get_document_by_id(id)#
- get_all_ids()#
- nemo_automodel.components.datasets.llm.retrieval_dataset.DATASETS#
None
- nemo_automodel.components.datasets.llm.retrieval_dataset.load_corpus_metadata(path: str)#
- nemo_automodel.components.datasets.llm.retrieval_dataset.load_corpus(path, metadata: Optional[dict] = None)#
- nemo_automodel.components.datasets.llm.retrieval_dataset.add_corpus(
- qa_corpus_paths: Union[dict, list],
- corpus_dict: dict,
- nemo_automodel.components.datasets.llm.retrieval_dataset.load_datasets(
- data_dir_list: Union[List[str], str],
- concatenate: bool = True,
Load datasets from JSON files.
Copied from nemo-retriever-research/src/data/datasets.py
- Returns:
Tuple of (dataset, corpus_dict)
- nemo_automodel.components.datasets.llm.retrieval_dataset._transform_func(examples, num_neg_docs, corpus_dict)#
Transform function to convert from raw format to training format. Same as _format_process_data in RetrievalMultiModalDatasetLoader.
- Parameters:
examples – Batch of examples with question, corpus_id, pos_doc, neg_doc
num_neg_docs – Number of negative documents to use
corpus_dict – Dictionary mapping corpus_id to corpus objects
- nemo_automodel.components.datasets.llm.retrieval_dataset._create_transform_func(num_neg_docs, corpus_dict)#
Create transform function with specified number of negative documents.
- nemo_automodel.components.datasets.llm.retrieval_dataset.make_retrieval_dataset(
- data_dir_list: Union[List[str], str],
- data_type: str = 'train',
- train_n_passages: int = 5,
- eval_negative_size: int = 10,
- seed: int = 42,
- do_shuffle: bool = False,
- max_train_samples: int = None,
- train_data_select_offset: int = 0,
Load and return dataset in retrieval format for biencoder training.
This function loads data from JSON files using the same method as RetrievalMultiModalDatasetLoader and returns it ready for training. Uses set_transform() for lazy evaluation - tokenization is handled by collator.
- Parameters:
data_dir_list – Path(s) to JSON file(s) containing training data
data_type – Type of data (“train” or “eval”)
train_n_passages – Number of passages for training (1 positive + n-1 negatives)
eval_negative_size – Number of negative documents for evaluation
seed – Random seed for reproducibility (for shuffling if needed)
do_shuffle – Whether to shuffle the dataset
max_train_samples – Maximum number of training samples to use
train_data_select_offset – Offset for selecting training samples
- Returns:
‘question’: Query text
’doc_text’: List of document texts [positive, negatives…]
’doc_image’: List of images or empty strings
- Return type:
A HuggingFace Dataset where each example is a dict with keys
.. note::
Tokenization should be handled by a collator (e.g., RetrievalBiencoderCollator) which is more efficient for batch padding and supports dynamic processing.