def build_settings_from_repo_id(
    repo_id: str,
    feature_mapping: Optional[Dict[str, str]] = None,
    subset: Optional[str] = None,
) -> "Settings":
    """Build the argilla settings from the features of a dataset.

    Parameters:
        repo_id (str): The repository ID of the dataset on the hub.
        feature_mapping (Dict[str, str]): A mapping of dataset features to questions, fields, or metadata properties.
        subset (str): The subset of the dataset to use. If provided, 'config' should not be provided.

    """
    dataset_features = _get_dataset_features(repo_id=repo_id, config=subset)
    settings = _define_settings_from_features(dataset_features, feature_mapping)

    if not settings.questions:
        settings.questions.add(
            RatingQuestion(
                name="quality",
                title="Quality",
                description="How would you rate the quality of the record?",
                required=True,
                values=[0, 1, 2, 3, 4, 5],
            )
        )
        _render_code_snippet(repo_id=repo_id, subset=subset)

    settings.questions[0].required = True
    settings.fields[0].required = True

    return settings
Build the argilla settings from the features of a dataset.

    Parameters:
        repo_id (str): The repository ID of the dataset on the hub.
        feature_mapping (Dict[str, str]): A mapping of dataset features to questions, fields, or metadata properties.
        subset (str): The subset of the dataset to use. If provided, 'config' should not be provided.

    
argilla/src/argilla/settings/_io/_hub.py