def compute_unified_responses(
        self, records: List[FeedbackRecord], question: Union[str, LabelQuestion, MultiLabelQuestion]
    ):
        """
        The function `compute_unified_responses` takes a list of feedback records and a question, and returns a
        unified value based on the specified unification method.

        Args:
        - records `records` is a list of `FeedbackRecord` objects. Each `FeedbackRecord` represents
        a feedback response and contains information such as the respondent's ID, the question being
        answered, and the response value.
        - question The `question` parameter can be either a string, a `LabelQuestion` object, or a
        `MultiLabelQuestion` object. It represents the question for which you want to unify the
        responses.

        Returns: The method `compute_unified_responses` returns the result of one of the following methods:
        `_majority`, `_majority_weighted`, or `_disagreement`. The specific method that is called
        depends on the value of `self.value`.
        """
        UnifiedValueSchema.update_forward_refs()
        # check if field is a str or a LabelQuestion
        if isinstance(question, (LabelQuestion, MultiLabelQuestion)):
            question = question.name
        elif isinstance(question, str):
            pass
        else:
            raise ValueError("Invalid field type. Must be a str, LabelQuestion, MultiLabelQuestion")
        # choose correct unification method
        if self.value == self.MAJORITY.value:
            return self._majority(records, question)
        elif self.value == self.MAJORITY_WEIGHTED.value:
            return self._majority_weighted(records, question)
        elif self.value == self.DISAGREEMENT.value:
            return self._disagreement(records, question)

        The function `compute_unified_responses` takes a list of feedback records and a question, and returns a
        unified value based on the specified unification method.

        Args:
        - records `records` is a list of `FeedbackRecord` objects. Each `FeedbackRecord` represents
        a feedback response and contains information such as the respondent's ID, the question being
        answered, and the response value.
        - question The `question` parameter can be either a string, a `LabelQuestion` object, or a
        `MultiLabelQuestion` object. It represents the question for which you want to unify the
        responses.

        Returns: The method `compute_unified_responses` returns the result of one of the following methods:
        `_majority`, `_majority_weighted`, or `_disagreement`. The specific method that is called
        depends on the value of `self.value`.
        
argilla-v1/src/argilla_v1/client/feedback/unification.py