class_docstr: Base class for all adaptation methods. This class does not define specific configuration keys, but only provides
  some common helper methods.
  
  Args:
      architecture (str, optional): The type of adaptation method defined by the configuration.
class_docstr_tok: ["Base","class","for","all","adaptation","methods",".","This","class","does","not","define","specific","configuration","keys",",","but","only","provides","some","common","helper","methods",".","Args",":","architecture","(","str",",","optional",")",":","The","type","of","adaptation","method","defined","by","the","configuration","."]
docstr: Returns the matching config class for the given config dict based on its "architecture" key.
code: def _get_config_class(config_dict):
      """
      Returns the matching config class for the given config dict based on its "architecture" key.
      """
      architecture = config_dict.get("architecture", None)
      if architecture == "prefix_tuning":
          cls_new = PrefixTuningConfig
      elif architecture == "lora":
          cls_new = LoRAConfig
      elif architecture == "union":
          cls_new = ConfigUnion
      elif architecture == "prompt_tuning":
          cls_new = PromptTuningConfig
      else:
          cls_new = BnConfig
  
      return cls_new
  
imports: import logging
  from collections.abc import Mapping
  from dataclasses import FrozenInstanceError, asdict, dataclass, field, replace
  from typing import List, Optional, Union
  from ..utils import resolve_adapter_config
label_desc: Use image node_id 11 for calling the AdapterConfig obj's underlying member method code with example usage: obj._get_config_class(config_dict) and returns: cls_new