class_docstr: - Use ROUGE-2 as [PaLM 2](https://ai.google/static/documents/palm2techreport.pdf)
  - Use Mecab tokenizer for Japanese eval
code: def construct_requests(self, doc, ctx):
      if DYNAMIC_MAX_LENGTH == "false" or not hasattr(
          self.tokenizer, "encode"
      ):
          max_num_tokens = self.max_gen_toks
      else:
          # length + some buffers (10)
          max_num_tokens = len(self._tokenize(doc["summary"])) + 10
      ctx = self.preprocess_ctx(
          ctx, max_length=self.max_length - max_num_tokens
      )
      continuation = rf.greedy_until(ctx, [self.SEP], max_num_tokens)
      return continuation
  
imports: import os
  import inspect
  from lm_eval.utils import rouge2_mecab
  from lm_eval.base import rf, Task
label_desc: Use image node_id 12 for calling the XLSumJa obj's underlying member method code with example usage: obj.construct_requests(doc, ctx) and returns: continuation