code: def __init__(
      self,
      choices,
      model_path="Qwen/Qwen-7B-Chat",
      device="xpu",
      qtype="sym_int4",
  ):
      super(QwenEvaluator, self).__init__(
          choices, model_path, device, qtype
      )
      self.tokenizer = AutoTokenizer.from_pretrained(
          self.model_path, trust_remote_code=True
      )
      self.model = (
          AutoModelForCausalLM.from_pretrained(
              self.model_path,
              load_in_low_bit=self.qtype,
              optimize_model=True,
              use_cache=True,
              trust_remote_code=True,
          )
          .eval()
          .to(self.device)
      )
      self.model.generation_config = GenerationConfig.from_pretrained(
          self.model_path, trust_remote_code=True
      )
      self.model.generation_config.do_sample = (
          False  # use greedy decoding
      )
      self.model.generation_config.repetition_penalty = 1.0
  
file_path: BigDL/python/llm/dev/benchmark/ceval/evaluators/qwen.py
imports: import re
  from tqdm import tqdm
  import torch
  from thefuzz import process
  from transformers import AutoTokenizer
  from transformers.generation import GenerationConfig
  from bigdl.llm.transformers import AutoModelForCausalLM
  from evaluators.evaluator import Evaluator
label_desc: Use image node_id 1 to create a new QwenEvaluator object from inherited base classes: Evaluator with example: obj = QwenEvaluator(choices, model_path, device, qtype)