code: def AdapterDataclassField(default: Optional[str] = None):
      description = "Whether to use parameter-efficient fine-tuning"
  
      class AdapterSelection(schema_utils.TypeSelection):
          def __init__(self):
              super().__init__(
                  registry=adapter_registry,
                  default_value=default,
                  description=description,
                  parameter_metadata=None,
                  allow_str_value=True,
                  allow_none=True,
              )
  
          def get_schema_from_registry(
              self, key: str
          ) -> Type[schema_utils.BaseMarshmallowConfig]:
              return adapter_registry[key]
  
          @staticmethod
          def _jsonschema_type_mapping():
              return {
                  "oneOf": [
                      {
                          "type": "object",
                          "properties": {
                              "type": {
                                  "type": "string",
                                  "enum": list(adapter_registry.keys()),
                                  "description": "The type of PEFT adapter to use during fine-tuning",
                              },
                          },
                          "title": "Perform parameter efficient fine-tuning",
                          "allOf": get_adapter_conds(),
                          "required": ["type"],
                          "description": "The type of PEFT adapter to use during fine-tuning",
                          "parameter_metadata": convert_metadata_to_json(
                              LLM_METADATA["adapter"]["_oneOf"]["allOf"]
                          ),
                      },
                      {
                          "type": "null",
                          "title": "adapter_null_option",
                          "description": "Disable the adapter.",
                          "parameter_metadata": convert_metadata_to_json(
                              LLM_METADATA["adapter"]["_oneOf"]["none"]
                          ),
                      },
                  ],
                  "title": "adapter_options",
                  "description": "Whether to use parameter-efficient fine-tuning",
                  "parameter_metadata": convert_metadata_to_json(
                      LLM_METADATA["adapter"]["_meta"]
                  ),
                  "default": default,
              }
  
      return AdapterSelection().get_default_field()
  
imports: from abc import ABC, abstractmethod
  from typing import List, Optional, Type, TYPE_CHECKING
  from ludwig.api_annotations import DeveloperAPI
  from ludwig.error import ConfigValidationError
  from ludwig.schema import utils
  from ludwig.schema.metadata import LLM_METADATA
  from ludwig.schema.metadata.parameter_metadata import convert_metadata_to_json
  from ludwig.schema.utils import ludwig_dataclass
  from ludwig.utils.registry import Registry
label_desc: Use image node_id 3 for calling a global function with example usage: AdapterDataclassField(default) and returns: AdapterSelection, adapter_registry, dict