class_docstr: Mixin to add task template functionality to a `FeedbackDataset`.
  The NLP tasks covered are:
      "text_classification"
      "extractive_question_answering"
      "summarization"
      "translation"
      "sentence_similarity"
      "natural_language_inference"
      "supervised_fine_tuning"
      "preference_modeling/reward_modeling"
      "proximal_policy_optimization"
      "direct_preference_optimization"
      "retrieval_augmented_generation"
      "multi_modal_classification"
      "multi_modal_transcription"
class_docstr_tok: ["Mixin","to","add","task","template","functionality","to","a","`","FeedbackDataset","`",".","The","NLP","tasks","covered","are",":","``","text_classification","''","``","extractive_question_answering","''","``","summarization","''","``","translation","''","``","sentence_similarity","''","``","natural_language_inference","''","``","supervised_fine_tuning","''","``","preference_modeling\/reward_modeling","''","``","proximal_policy_optimization","''","``","direct_preference_optimization","''","``","retrieval_augmented_generation","''","``","multi_modal_classification","''","``","multi_modal_transcription","''"]
docstr: You can use this method to create a basic dataset for multi-modal (video, audio,image) classification tasks.
  
  Args:
      labels: A list of labels for your dataset
      multi_label: Set this parameter to True if you want to add multiple labels to 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 multi-modal classification containing a "content" field with video, audio or image data and LabelQuestion or MultiLabelQuestion named "label"
docstr_tok: ["You","can","use","this","method","to","create","a","basic","dataset","for","multi-modal","(","video",",","audio",",","image",")","classification","tasks",".","Args",":","labels",":","A","list","of","labels","for","your","dataset","multi_label",":","Set","this","parameter","to","True","if","you","want","to","add","multiple","labels","to","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","multi-modal","classification","containing","a","``","content","''","field","with","video",",","audio","or","image","data","and","LabelQuestion","or","MultiLabelQuestion","named","``","label","''"]
code: def for_multi_modal_classification(
      cls: Type["FeedbackDataset"],
      labels: List[str],
      multi_label: 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 multi-modal (video, audio,image) classification tasks.
  
      Args:
          labels: A list of labels for your dataset
          multi_label: Set this parameter to True if you want to add multiple labels to 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 multi-modal classification containing a "content" field with video, audio or image data and LabelQuestion or MultiLabelQuestion named "label"
      """
      default_guidelines = "This is a multi-modal classification dataset that contains videos, audios or images. Given a set of media files and a predefined set of labels, the goal of multi-modal classification is to assign one or more labels to each media file based on its content. Please classify the media file by making the correct selection."
  
      description = "Classify the media content by selecting the correct label from the given list of labels."
      return cls(
          fields=[
              TextField(
                  name="content", use_markdown=True, required=True
              )
          ],
          questions=[
              LabelQuestion(
                  name="label",
                  labels=labels,
                  description=description,
              )
              if not multi_label
              else MultiLabelQuestion(
                  name="label",
                  labels=labels,
                  description=description,
              )
          ],
          guidelines=guidelines
          if guidelines is not None
          else default_guidelines
          if multi_label
          else default_guidelines.replace(
              "one or more labels", "one label"
          ),
          metadata_properties=metadata_properties,
          vectors_settings=vectors_settings,
      )
  
imports: import logging
  from typing import TYPE_CHECKING, List, Literal, Optional, Type, Union
  from uuid import UUID
  from argilla.client.feedback.dataset.helpers import get_dataset_by_name_and_workspace
  from argilla.client.feedback.dataset.remote.dataset import INCLUDE_ALL_VECTORS_PARAM, RemoteFeedbackDataset
  from argilla.client.feedback.schemas.enums import FieldTypes, MetadataPropertyTypes, QuestionTypes
  from argilla.client.feedback.schemas.fields import TextField
  from argilla.client.feedback.schemas.questions import LabelQuestion, MultiLabelQuestion, RankingQuestion, RatingQuestion, TextQuestion
  from argilla.client.feedback.schemas.remote.fields import RemoteTextField
  from argilla.client.feedback.schemas.remote.metadata import RemoteFloatMetadataProperty, RemoteIntegerMetadataProperty, RemoteTermsMetadataProperty
  from argilla.client.feedback.schemas.remote.questions import RemoteLabelQuestion, RemoteMultiLabelQuestion, RemoteRankingQuestion, RemoteRatingQuestion, RemoteTextQuestion
  from argilla.client.feedback.schemas.types import AllowedMetadataPropertyTypes
  from argilla.client.feedback.schemas.vector_settings import VectorSettings
  from argilla.client.sdk.commons.errors import AlreadyExistsApiError
  from argilla.client.sdk.v1.datasets import api
  from argilla.client.singleton import ArgillaSingleton
  from argilla.client.workspaces import Workspace
label_desc: Use image node_id 12 for calling the TaskTemplateMixin obj's underlying member method code with example usage: obj.for_multi_modal_classification(cls, labels, multi_label, guidelines, metadata_properties, vectors_settings) and returns: cls