class_docstr: Construct an PLBART tokenizer.
  
  Adapted from [`RobertaTokenizer`] and [`XLNetTokenizer`]. Based on
  [SentencePiece](https://github.com/google/sentencepiece).
  
  The tokenization method is `<tokens> <eos> <language code>` for source language documents, and `<language code>
  <tokens> <eos>` for target language documents.
  
  Args:
      vocab_file (`str`):
          Path to the vocabulary file.
      src_lang (`str`, *optional*):
          A string representing the source language.
      tgt_lang (`str`, *optional*):
          A string representing the target language.
      bos_token (`str`, *optional*, defaults to `"<s>"`):
          The start of sequence token.
      eos_token (`str`, *optional*, defaults to `"</s>"`):
          The end of sequence token.
      sep_token (`str`, *optional*, defaults to `"</s>"`):
          The separator token, which is used when building a sequence from multiple sequences, e.g. two sequences for
          sequence classification or for a text and a question for question answering. It is also used as the last
          token of a sequence built with special tokens.
      cls_token (`str`, *optional*, defaults to `"<s>"`):
          The cls token, which is a special token used as the first token for all tasks.
      unk_token (`str`, *optional*, defaults to `"<unk>"`):
          The unknown token. A token that is not in the vocabulary cannot be converted to an ID and is set to be this
          token instead.
      pad_token (`str`, *optional*, defaults to `"<pad>"`):
          The token used for padding, for example when batching sequences of different lengths.
      mask_token(`str`, *optional*, defaults to `"<mask>"`):
          The token used for masking values. This is the token used when training this model with masking tasks. This
          is only used in the `"base"` tokenizer type. For `"multi"` tokenizer, masking is never done for the
          downstream tasks.
      language_codes (`str`, *optional*, defaults to `"base"`):
          What language codes to use. Should be one of `"base"` or `"multi"`.
      sp_model_kwargs (`dict`, *optional*):
          Will be passed to the `SentencePieceProcessor.__init__()` method. The [Python wrapper for
          SentencePiece](https://github.com/google/sentencepiece/tree/master/python) can be used, among other things,
          to set:
          - `enable_sampling`: Enable subword regularization.
          - `nbest_size`: Sampling parameters for unigram. Invalid for BPE-Dropout.
            - `nbest_size = {0,1}`: No sampling is performed.
            - `nbest_size > 1`: samples from the nbest_size results.
            - `nbest_size < 0`: assuming that nbest_size is infinite and samples from the all hypothesis (lattice)
              using forward-filtering-and-backward-sampling algorithm.
          - `alpha`: Smoothing parameter for unigram sampling, and dropout probability of merge operations for
            BPE-dropout.
  
  Examples:
  
  ```python
  >>> from transformers import PLBartTokenizer
  
  >>> tokenizer = PLBartTokenizer.from_pretrained("uclanlp/plbart-python-en_XX", src_lang="python", tgt_lang="en_XX")
  >>> example_python_phrase = "def maximum(a,b,c):NEW_LINE_INDENTreturn max([a,b,c])"
  >>> expected_translation_english = "Returns the maximum value of a b c."
  >>> inputs = tokenizer(example_python_phrase, text_target=expected_translation_english, return_tensors="pt")
  ```
docstr: Build model inputs from a sequence or a pair of sequence for sequence classification tasks by concatenating and
  adding special tokens. An PLBART sequence has the following format, where `X` represents the sequence:
  
  - `input_ids` (for encoder) `X [eos, src_lang_code]`
  - `decoder_input_ids`: (for decoder) `X [eos, tgt_lang_code]`
  
  BOS is never used. Pairs of sequences are not the expected use case, but they will be handled without a
  separator.
  
  Args:
      token_ids_0 (`List[int]`):
          List of IDs to which the special tokens will be added.
      token_ids_1 (`List[int]`, *optional*):
          Optional second list of IDs for sequence pairs.
  
  Returns:
      `List[int]`: List of [input IDs](../glossary#input-ids) with the appropriate special tokens.
docstr_tok: ["Build","model","inputs","from","a","sequence","or","a","pair","of","sequence","for","sequence","classification","tasks","by","concatenating","and","adding","special","tokens",".","An","PLBART","sequence","has","the","following","format",",","where","`","X","`","represents","the","sequence",":","-","`","input_ids","`","(","for","encoder",")","`","X","[","eos",",","src_lang_code","]","`","-","`","decoder_input_ids","`",":","(","for","decoder",")","`","X","[","eos",",","tgt_lang_code","]","`","BOS","is","never","used",".","Pairs","of","sequences","are","not","the","expected","use","case",",","but","they","will","be","handled","without","a","separator",".","Args",":","token_ids_0","(","`","List","[","int","]","`",")",":","List","of","IDs","to","which","the","special","tokens","will","be","added",".","token_ids_1","(","`","List","[","int","]","`",",","*","optional","*",")",":","Optional","second","list","of","IDs","for","sequence","pairs",".","Returns",":","`","List","[","int","]","`",":","List","of","[","input","IDs","]","(","..","\/glossary","#","input-ids",")","with","the","appropriate","special","tokens","."]
code: def build_inputs_with_special_tokens(
      self,
      token_ids_0: List[int],
      token_ids_1: Optional[List[int]] = None,
  ) -> List[int]:
      """
      Build model inputs from a sequence or a pair of sequence for sequence classification tasks by concatenating and
      adding special tokens. An PLBART sequence has the following format, where `X` represents the sequence:
  
      - `input_ids` (for encoder) `X [eos, src_lang_code]`
      - `decoder_input_ids`: (for decoder) `X [eos, tgt_lang_code]`
  
      BOS is never used. Pairs of sequences are not the expected use case, but they will be handled without a
      separator.
  
      Args:
          token_ids_0 (`List[int]`):
              List of IDs to which the special tokens will be added.
          token_ids_1 (`List[int]`, *optional*):
              Optional second list of IDs for sequence pairs.
  
      Returns:
          `List[int]`: List of [input IDs](../glossary#input-ids) with the appropriate special tokens.
      """
      if token_ids_1 is None:
          return self.prefix_tokens + token_ids_0 + self.suffix_tokens
      # We don't expect to process pairs, but leave the pair logic for API consistency
      return (
          self.prefix_tokens
          + token_ids_0
          + token_ids_1
          + self.suffix_tokens
      )
  
imports: import os
  from shutil import copyfile
  from typing import Any, Dict, List, Optional, Tuple
  import sentencepiece
  from ...tokenization_utils import AddedToken, BatchEncoding, PreTrainedTokenizer
  from ...utils import logging
label_desc: Use image node_id 8 for calling the PLBartTokenizer obj's underlying member method code with example usage: obj.build_inputs_with_special_tokens(token_ids_0, token_ids_1) and returns: unknown, unknown