code: def cached_tokenize(self, text: str, encode_special_characters=False):
      if text in self.tokenizer_cache:
          return self.tokenizer_cache[text]
  
      while len(self.tokenizer_cache) >= MAX_CACHED_STRINGS:
          del self.tokenizer_cache[
              next(iter(self.tokenizer_cache))
          ]  # Always removes oldest entry, as of Python 3.7
  
      new_enc = self.tokenizer.encode(
          text, encode_special_characters=encode_special_characters
      )
      self.tokenizer_cache[text] = new_enc
      return new_enc
  
file_path: exllama/alt_generator.py
imports: import cuda_ext
  from model import ExLlama, ExLlamaCache
  from tokenizer import ExLlamaTokenizer
  from lora import ExLlamaLora
  import torch
  import torch.nn.functional
label_desc: Use image node_id 2 for calling the ExLlamaAltGenerator obj's underlying member method code with example usage: obj.cached_tokenize(text, encode_special_characters) and returns: new_enc, self