docstr: Retrieves an existing `FeedbackDataset` from Argilla (must have been pushed in advance).
  
  Note that even though no argument is mandatory, you must provide either the `name`,
  the combination of `name` and `workspace`, or the `id`, otherwise an error will be raised.
  
  Args:
      name: the name of the `FeedbackDataset` to retrieve from Argilla. Defaults to `None`.
      workspace: the workspace of the `FeedbackDataset` to retrieve from Argilla.
          If not provided, the active workspace will be used.
      id: the ID of the `FeedbackDataset` to retrieve from Argilla. Defaults to `None`.
      with_vectors: the vector settings to retrieve from Argilla. Use `all` to download all vectors.
          Defaults to `None`.
  
  Returns:
      The `RemoteFeedbackDataset` retrieved from Argilla.
  
  Raises:
      ValueError: if no `FeedbackDataset` with the provided `name`, `workspace`, or `id` exists in Argilla.
  
  Examples:
      >>> import argilla as rg
      >>> rg.init(...)
      >>> dataset = rg.FeedbackDataset.from_argilla(name="my_dataset")
docstr_tok: ["Retrieves","an","existing","`","FeedbackDataset","`","from","Argilla","(","must","have","been","pushed","in","advance",")",".","Note","that","even","though","no","argument","is","mandatory",",","you","must","provide","either","the","`","name","`",",","the","combination","of","`","name","`","and","`","workspace","`",",","or","the","`","id","`",",","otherwise","an","error","will","be","raised",".","Args",":","name",":","the","name","of","the","`","FeedbackDataset","`","to","retrieve","from","Argilla",".","Defaults","to","`","None","`",".","workspace",":","the","workspace","of","the","`","FeedbackDataset","`","to","retrieve","from","Argilla",".","If","not","provided",",","the","active","workspace","will","be","used",".","id",":","the","ID","of","the","`","FeedbackDataset","`","to","retrieve","from","Argilla",".","Defaults","to","`","None","`",".","with_vectors",":","the","vector","settings","to","retrieve","from","Argilla",".","Use","`","all","`","to","download","all","vectors",".","Defaults","to","`","None","`",".","Returns",":","The","`","RemoteFeedbackDataset","`","retrieved","from","Argilla",".","Raises",":","ValueError",":","if","no","`","FeedbackDataset","`","with","the","provided","`","name","`",",","`","workspace","`",",","or","`","id","`","exists","in","Argilla",".","Examples",":",">",">",">","import","argilla","as","rg",">",">",">","rg.init","(","...",")",">",">",">","dataset","=","rg.FeedbackDataset.from_argilla","(","name=","''","my_dataset","''",")"]
code: def from_argilla(
      cls: Type["FeedbackDataset"],
      name: Optional[str] = None,
      *,
      workspace: Optional[str] = None,
      id: Optional[Union[UUID, str]] = None,
      with_vectors: Union[
          Literal[INCLUDE_ALL_VECTORS_PARAM], List[str], None
      ] = None,
  ) -> RemoteFeedbackDataset:
      """Retrieves an existing `FeedbackDataset` from Argilla (must have been pushed in advance).
  
      Note that even though no argument is mandatory, you must provide either the `name`,
      the combination of `name` and `workspace`, or the `id`, otherwise an error will be raised.
  
      Args:
          name: the name of the `FeedbackDataset` to retrieve from Argilla. Defaults to `None`.
          workspace: the workspace of the `FeedbackDataset` to retrieve from Argilla.
              If not provided, the active workspace will be used.
          id: the ID of the `FeedbackDataset` to retrieve from Argilla. Defaults to `None`.
          with_vectors: the vector settings to retrieve from Argilla. Use `all` to download all vectors.
              Defaults to `None`.
  
      Returns:
          The `RemoteFeedbackDataset` retrieved from Argilla.
  
      Raises:
          ValueError: if no `FeedbackDataset` with the provided `name`, `workspace`, or `id` exists in Argilla.
  
      Examples:
          >>> import argilla as rg
          >>> rg.init(...)
          >>> dataset = rg.FeedbackDataset.from_argilla(name="my_dataset")
      """
      httpx_client: "httpx.Client" = (
          ArgillaSingleton.get().http_client.httpx
      )
  
      existing_dataset = get_dataset_by_name_and_workspace(
          name=name, workspace=workspace, id=id
      )
      if existing_dataset is None:
          raise ValueError(
              f"Could not find a `FeedbackDataset` in Argilla with name='{name}'."
              if name and not workspace
              else (
                  f"Could not find a `FeedbackDataset` in Argilla with name='{name}' and workspace='{workspace}'."
                  if name and workspace
                  else f"Could not find a `FeedbackDataset` in Argilla with ID='{id}'."
              )
          )
  
      fields = ArgillaMixin.__get_fields(
          client=httpx_client, id=existing_dataset.id
      )
      questions = ArgillaMixin.__get_questions(
          client=httpx_client, id=existing_dataset.id
      )
  
      return RemoteFeedbackDataset(
          client=httpx_client,
          id=existing_dataset.id,
          name=existing_dataset.name,
          workspace=Workspace.from_id(existing_dataset.workspace_id),
          created_at=existing_dataset.inserted_at,
          updated_at=existing_dataset.updated_at,
          fields=fields,
          questions=questions,
          guidelines=existing_dataset.guidelines or None,
          allow_extra_metadata=existing_dataset.allow_extra_metadata,
          with_vectors=with_vectors,
      )
  
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 13 for calling the ArgillaMixin obj's underlying member method code with example usage: obj.from_argilla(cls, name) and returns: RemoteFeedbackDataset