code: def preprocess_chatglm_eval(example, prompter, tokenizer, options):
      model_inputs = {}
      prompt, answer = prompter.generate_prompt(example)
      source_ids = tokenizer.encode(
          text=prompt, add_special_tokens=False
      )
      target_ids = tokenizer.encode(
          text=answer, add_special_tokens=False
      )
  
      if (
          len(source_ids) > options.max_source_length - 2
      ):  # gmask and sop tokens
          source_ids = source_ids[: options.max_source_length - 2]
      if (
          len(target_ids) > options.max_target_length - 2
      ):  # gmask and sop tokens
          target_ids = target_ids[: options.max_target_length - 2]
  
      input_ids = tokenizer.build_inputs_with_special_tokens(source_ids)
      labels = tokenizer.build_inputs_with_special_tokens(target_ids)
  
      model_inputs["input_ids"] = input_ids
      model_inputs["labels"] = labels
      return model_inputs
  
label_desc: Use image node_id 2 for calling a global function with example usage: preprocess_chatglm_eval(example, prompter, tokenizer, options) and returns: model_inputs