class_docstr: Construct a BaiChuan tokenizer. Based on byte-level Byte-Pair-Encoding.
  
  Args:
      vocab_file (`str`):
          Path to the vocabulary file.
class_docstr_tok: ["Construct","a","BaiChuan","tokenizer",".","Based","on","byte-level","Byte-Pair-Encoding",".","Args",":","vocab_file","(","`","str","`",")",":","Path","to","the","vocabulary","file","."]
docstr: Save the vocabulary and special tokens file to a directory.
  
  Args:
      save_directory (`str`):
          The directory in which to save the vocabulary.
  
  Returns:
      `Tuple(str)`: Paths to the files saved.
docstr_tok: ["Save","the","vocabulary","and","special","tokens","file","to","a","directory",".","Args",":","save_directory","(","`","str","`",")",":","The","directory","in","which","to","save","the","vocabulary",".","Returns",":","`","Tuple","(","str",")","`",":","Paths","to","the","files","saved","."]
code: def save_vocabulary(
      self, save_directory, filename_prefix: Optional[str] = None
  ) -> Tuple[str]:
      """
      Save the vocabulary and special tokens file to a directory.
  
      Args:
          save_directory (`str`):
              The directory in which to save the vocabulary.
  
      Returns:
          `Tuple(str)`: Paths to the files saved.
      """
      if not os.path.isdir(save_directory):
          logger.error(
              f"Vocabulary path ({save_directory}) should be a directory"
          )
          return
      out_vocab_file = os.path.join(
          save_directory,
          (filename_prefix + "-" if filename_prefix else "")
          + VOCAB_FILES_NAMES["vocab_file"],
      )
  
      if os.path.abspath(self.vocab_file) != os.path.abspath(
          out_vocab_file
      ) and os.path.isfile(self.vocab_file):
          copyfile(self.vocab_file, out_vocab_file)
      elif not os.path.isfile(self.vocab_file):
          with open(out_vocab_file, "wb") as fi:
              content_spiece_model = (
                  self.sp_model.serialized_model_proto()
              )
              fi.write(content_spiece_model)
  
      return (out_vocab_file,)
  
imports: import os
  from shutil import copyfile
  from typing import Any, Dict, List, Optional, Tuple
  import sentencepiece
  from transformers.tokenization_utils import AddedToken, PreTrainedTokenizer
  from transformers.utils import logging
label_desc: Use image node_id 10 for calling the BaiChuanTokenizer obj's underlying member method code with example usage: obj.save_vocabulary(save_directory, filename_prefix) and returns: out_vocab_file