code: def _get_model_components(
      self,
      model_name_path,
      use_auth_token,
      trust_remote_code,
      model_class,
  ):
      # HappyTextClassification is the only class that overwrites
      # this as we need to specify number of labels.
      config = AutoConfig.from_pretrained(
          model_name_path,
          use_auth_token=use_auth_token,
          num_labels=self._num_labels,
      )
      model = model_class.from_pretrained(
          model_name_path, config=config, use_auth_token=use_auth_token
      )
      tokenizer = AutoTokenizer.from_pretrained(
          model_name_path, use_auth_token=use_auth_token
      )
  
      return config, tokenizer, model
  
imports: import csv
  from typing import Union
  from dataclasses import dataclass
  from datasets import Dataset
  from tqdm import tqdm
  from transformers import AutoConfig, AutoModelForSequenceClassification, AutoTokenizer, DataCollatorWithPadding, TextClassificationPipeline
  from happytransformer.adaptors import get_adaptor
  from happytransformer.args import TCEvalArgs, TCTestArgs, TCTrainArgs
  from happytransformer.fine_tuning_util import EvalResult
  from happytransformer.happy_transformer import HappyTransformer
label_desc: Use image node_id 8 for calling the HappyTextClassification obj's underlying member method code with example usage: obj._get_model_components(model_name_path, use_auth_token, trust_remote_code, model_class) and returns: config,  tokenizer,  model