def for_preference_modeling(
        cls: Type["FeedbackDataset"],
        number_of_responses: int = 2,
        context: bool = False,
        use_markdown: bool = False,
        guidelines: Optional[str] = None,
        metadata_properties: List[AllowedMetadataPropertyTypes] = None,
        vectors_settings: List[VectorSettings] = None,
    ) -> "FeedbackDataset":
        """
        You can use this method to create a basic dataset for preference tasks.

        Args:
            number_of_responses: Set this parameter to the number of responses you want to add to your dataset
            context: Set this parameter to True if you want to add context to your dataset
            use_markdown: Set this parameter to True if you want to use markdown in your dataset
            guidelines: Contains the guidelines for the dataset.
            metadata_properties: Contains the metadata properties that will be indexed and could be used to filter the dataset. Defaults to `None`.
            vectors_settings: Define the configuration of the vectors associated to the records that will be used to perform the vector search. Defaults to `None`.

        Returns:
            A `FeedbackDataset` object for preference containing "prompt", "option1" and "option2" fields and a RatingQuestion named "preference"
        """
        default_guidelines = "This is a preference dataset that contains contexts and options. Please rank the options that you would prefer in the given context."
        response_fields = [
            TextField(
                name="response" + str(response + 1),
                title="Response " + str(response + 1),
                use_markdown=use_markdown,
                required=True if response == 0 else False,
            )
            for response in range(number_of_responses)
        ]

        fields = [
            TextField(name="prompt", use_markdown=use_markdown),
        ] + response_fields

        if context:
            fields.insert(1, TextField(name="context", use_markdown=use_markdown, required=False))

        return cls(
            fields=fields,
            questions=[
                RankingQuestion(
                    name="preference",
                    title="Order responses based on your preference",
                    description=f"1 = Best, {number_of_responses} = Worst. Ties are allowed.",
                    required=True,
                    values={
                        "response" + str(response + 1): "Response " + str(response + 1)
                        for response in range(number_of_responses)
                    },
                )
            ],
            guidelines=default_guidelines if guidelines is None else guidelines,
            metadata_properties=metadata_properties,
            vectors_settings=vectors_settings,
        )

        You can use this method to create a basic dataset for preference tasks.

        Args:
            number_of_responses: Set this parameter to the number of responses you want to add to your dataset
            context: Set this parameter to True if you want to add context to your dataset
            use_markdown: Set this parameter to True if you want to use markdown in your dataset
            guidelines: Contains the guidelines for the dataset.
            metadata_properties: Contains the metadata properties that will be indexed and could be used to filter the dataset. Defaults to `None`.
            vectors_settings: Define the configuration of the vectors associated to the records that will be used to perform the vector search. Defaults to `None`.

        Returns:
            A `FeedbackDataset` object for preference containing "prompt", "option1" and "option2" fields and a RatingQuestion named "preference"
        
argilla-v1/src/argilla_v1/client/feedback/dataset/local/mixins.py