code: def edit_spt_model():
      parser = ArgumentParser()
      parser.add_argument(
          "--input_file",
          type=str,
          required=True,
          help="Path to sentencepiece model file",
      )
      parser.add_argument(
          "--output_file",
          type=str,
          required=True,
          help="Path to sentencepiece model file",
      )
      parser.add_argument(
          "--tokens",
          type=str,
          nargs="+",
          required=True,
          help="Special tokens to add to tokenizer",
      )
      parser.add_argument(
          "--is_userdefined",
          action="store_true",
          help="When set, the new tokens are set as user_defined tokens",
      )
      args = parser.parse_args()
  
      token_type = 3
      if args.is_userdefined:
          token_type = 4
  
      model = spt.ModelProto()
      model.ParseFromString(open(args.input_file, "rb").read())
  
      for token in args.tokens:
          piece = model.SentencePiece(
              piece=token, score=0.0, type=token_type
          )
          if piece in model.pieces:
              logging.error(
                  f"Special Token '{token}' already exists in the input model!"
              )
              sys.exit(1)
          model.pieces.append(piece)
  
      sp = spm.SentencePieceProcessor()
      try:
          sp.LoadFromSerializedProto(model.SerializeToString())
          for token in args.tokens:
              id = sp.piece_to_id(token)
              logging.info(f"Created token '{token}' at ID {id}")
          logging.info(
              f"New tokenizer vocab size: {sp.get_piece_size()}"
          )
      except:
          logging.error(
              "Could not appropriately configure new tokenizer. Verify if the special tokens already exist."
          )
          sys.exit(1)
  
      with open(args.output_file, "wb") as outf:
          outf.write(model.SerializeToString())
  
      logging.info(f"Created new tokenizer at: {args.output_file}")
  
imports: import logging
  import sys
  from argparse import ArgumentParser
  import sentencepiece
label_desc: Use image node_id 1 for calling a global function with example usage: edit_spt_model() without return types