class_docstr: Schema for the `FeedbackDataset` ranking questions, which are the ones that will
  require a ranking response from the user. More specifically, the user will be asked
  to rank the labels, all the labels need to be assigned (if either the question is
  required or if at least one label has been ranked), and there can be ties/draws.
  
  Args:
      type: The type of the question. Defaults to 'ranking' and cannot/shouldn't be
          modified.
      values: The list of labels of the ranking question. The labels must be unique, and
          the list must contain at least two unique labels. Additionally, `labels` can
          also be a dictionary of labels, where the keys are the labels, and the values
          are the labels that will be shown in the UI.
  
  Examples:
      >>> from argilla.client.feedback.schemas.questions import RankingQuestion
      >>> RankingQuestion(name="ranking_question", title="Ranking Question", labels=["label_1", "label_2"])
class_docstr_tok: ["Schema","for","the","`","FeedbackDataset","`","ranking","questions",",","which","are","the","ones","that","will","require","a","ranking","response","from","the","user",".","More","specifically",",","the","user","will","be","asked","to","rank","the","labels",",","all","the","labels","need","to","be","assigned","(","if","either","the","question","is","required","or","if","at","least","one","label","has","been","ranked",")",",","and","there","can","be","ties\/draws",".","Args",":","type",":","The","type","of","the","question",".","Defaults","to","'ranking","'","and","can","not","\/should","n't","be","modified",".","values",":","The","list","of","labels","of","the","ranking","question",".","The","labels","must","be","unique",",","and","the","list","must","contain","at","least","two","unique","labels",".","Additionally",",","`","labels","`","can","also","be","a","dictionary","of","labels",",","where","the","keys","are","the","labels",",","and","the","values","are","the","labels","that","will","be","shown","in","the","UI",".","Examples",":",">",">",">","from","argilla.client.feedback.schemas.questions","import","RankingQuestion",">",">",">","RankingQuestion","(","name=","''","ranking_question","''",",","title=","''","Ranking","Question","''",",","labels=","[","``","label_1","''",",","``","label_2","''","]",")"]
code: def values_dict_must_be_valid(
      cls, v: Union[List[str], Dict[str, str]]
  ) -> Union[List[str], Dict[str, str]]:
      if isinstance(v, dict):
          assert (
              len(v.keys()) > 1
          ), "ensure this dict has at least 2 items"
          assert len(set(v.values())) == len(
              v.values()
          ), "ensure this dict has unique values"
      return v
  
imports: import warnings
  from abc import ABC, abstractmethod
  from typing import Any, Dict, List, Literal, Optional, Union
  from argilla.client.feedback.schemas.enums import QuestionTypes
  from argilla.client.feedback.schemas.utils import LabelMappingMixin
  from argilla.client.feedback.schemas.validators import title_must_have_value
  from argilla.pydantic_v1 import BaseModel, Extra, Field, conint, conlist, root_validator, validator
label_desc: Use image node_id 1 for calling the RankingQuestion obj's underlying member method code with example usage: obj.values_dict_must_be_valid(cls, v) and returns: v