Create a dataset, updating and returning the metadata.
(
self,
data: types.JsonDict,
dataset_name: Optional[str] = None,
**unused_kw,
)
| 412 | return list(self._datasets[dataset_name].indexed_examples) |
| 413 | |
| 414 | def _create_dataset( |
| 415 | self, |
| 416 | data: types.JsonDict, |
| 417 | dataset_name: Optional[str] = None, |
| 418 | **unused_kw, |
| 419 | ): |
| 420 | """Create a dataset, updating and returning the metadata.""" |
| 421 | if dataset_name is None: |
| 422 | raise ValueError('No base dataset specified.') |
| 423 | |
| 424 | config: Optional[dict[str, Any]] = data.get('config') |
| 425 | if config is None: |
| 426 | raise ValueError('No config specified.') |
| 427 | |
| 428 | new_name: Optional[str] = config.pop('new_name', None) |
| 429 | if new_name is None: |
| 430 | raise ValueError('No name provided for the new dataset.') |
| 431 | elif new_name in self._datasets: |
| 432 | return (self._info, new_name) # Return the existing dataset |
| 433 | |
| 434 | if (loader_info := self._dataset_loaders.get(dataset_name)) is None: |
| 435 | raise ValueError( |
| 436 | f'No loader information (Cls + init_spec) found for {dataset_name}' |
| 437 | ) |
| 438 | |
| 439 | dataset_cls, dataset_init_spec = loader_info |
| 440 | |
| 441 | if dataset_init_spec is not None: |
| 442 | initializer_name = getattr(dataset_cls, '__name__', repr(dataset_cls)) |
| 443 | utils.validate_config_against_spec( |
| 444 | config, |
| 445 | dataset_init_spec, |
| 446 | f'{dataset_name} ({initializer_name})', |
| 447 | raise_for_unsupported=True, |
| 448 | ) |
| 449 | |
| 450 | new_dataset = dataset_cls(**config) |
| 451 | annotated_dataset = self._run_annotators(new_dataset) |
| 452 | self._datasets[new_name] = lit_dataset.IndexedDataset( |
| 453 | base=annotated_dataset, id_fn=caching.input_hash |
| 454 | ) |
| 455 | self._info = self._build_metadata() |
| 456 | return (self._info, new_name) |
| 457 | |
| 458 | def _create_model( |
| 459 | self, data: types.JsonDict, model_name: Optional[str] = None, **unused_kw |
nothing calls this directly
no test coverage detected