def log_dataset_uri(cfg: dict[str, Any]) -> None:
    """Logs dataset tracking information to MLflow.

    Args:
        cfg (DictConfig): A config dictionary of a run
    """
    loggers = cfg.get('loggers', None) or {}
    if 'mlflow' not in loggers or not mlflow.active_run():
        return
    # Figure out which data source to use
    data_paths = _parse_source_dataset(cfg)

    dataset_source_mapping = {
        's3': http_dataset_source.HTTPDatasetSource,
        'oci': http_dataset_source.HTTPDatasetSource,
        'azure': http_dataset_source.HTTPDatasetSource,
        'gs': http_dataset_source.HTTPDatasetSource,
        'https': http_dataset_source.HTTPDatasetSource,
        'hf': huggingface_dataset_source.HuggingFaceDatasetSource,
        'delta_table': delta_dataset_source.DeltaDatasetSource,
        'uc_volume': uc_volume_dataset_source.UCVolumeDatasetSource,
        'local': http_dataset_source.HTTPDatasetSource,
    }

    # Map data source types to their respective MLFlow DataSource.
    for dataset_type, path, split in data_paths:
        if dataset_type in dataset_source_mapping:
            source_class = dataset_source_mapping[dataset_type]
            if dataset_type == 'delta_table':
                source = source_class(delta_table_name=path)
            elif dataset_type == 'hf' or dataset_type == 'uc_volume':
                source = source_class(path=path)
            else:
                source = source_class(url=path)
        else:
            log.info(
                f'{dataset_type} unknown, defaulting to http dataset source',
            )
            source = http_dataset_source.HTTPDatasetSource(url=path)

        mlflow.log_input(
            mlflow.data.meta_dataset.MetaDataset(source, name=split),
        )
Logs dataset tracking information to MLflow.

    Args:
        cfg (DictConfig): A config dictionary of a run
    
llmfoundry/utils/config_utils.py