class_docstr: Base class for model wrapper.
  
  Args:
      path: The path to the model.
      model_max_length: The maximum sequence length of the model.
      prompt_template: The model's prompt template.
      batch_size: Batch size for inference.
      logger: Logger for the model.
code: def __init__(
      self,
      path: str,
      model_max_length: int = 2048,
      prompt_template: Conversation = None,
      batch_size: int = 1,
      logger: DistributedLogger = None,
  ):
      self.path = path
      self.model_max_length = model_max_length
  
      if prompt_template:
          self.prompt_template = prompt_template
      else:
          self.prompt_template = prompt_templates["plain"]
  
      self.batch_size = batch_size
      self.logger = logger
  
file_path: ColossalAI/applications/ColossalEval/colossal_eval/models/base.py
imports: from abc import abstractclassmethod
  from typing import Dict, List
  from colossal_eval.utils import Conversation, prompt_templates
  from colossalai.logging import DistributedLogger
label_desc: Use image node_id 1 to create a new BaseModel object  with example: obj = BaseModel(path, model_max_length, prompt_template, batch_size, logger)