class_docstr: Base class for TextGeneration Strategy
class_docstr_tok: ["Base","class","for","TextGeneration","Strategy"]
docstr: generate the batch used in inference for each of the steps
  Args:
      tokens  (torch.Tensor): the context tokens
      maxlen (int): the maximum length in the context tokens
      micro_batch_size (int): text generation batch size
      step (int): the inference step count
      context_length (int): the new token position in the tokens
  returns:
      a tuple of list of tensor arguments for the model and a list of tensor shape required by forward method
code: def prepare_batch_at_step(
      self,
      tokens: torch.Tensor,
      maxlen: int,
      micro_batch_size: int,
      step: int,
      context_length: int,
  ) -> Tuple[List[torch.Tensor], List[int]]:
      """
      generate the batch used in inference for each of the steps
      Args:
          tokens  (torch.Tensor): the context tokens
          maxlen (int): the maximum length in the context tokens
          micro_batch_size (int): text generation batch size
          step (int): the inference step count
          context_length (int): the new token position in the tokens
      returns:
          a tuple of list of tensor arguments for the model and a list of tensor shape required by forward method
      """
      pass
  
imports: import abc
  import copy
  import os
  import re
  import warnings
  from typing import List, Set, Tuple
  import torch
  from transformers import CLIPImageProcessor
  from nemo.collections.nlp.modules.common.lm_utils import pad_batch
  from nemo.collections.nlp.modules.common.megatron.utils import get_ltor_masks_and_position_ids
label_desc: Use image node_id 6 for calling the TextGenerationStrategy obj's underlying member method code with example usage: obj.prepare_batch_at_step(tokens, maxlen, micro_batch_size, step, context_length) without return types