code: def __init__(
      self,
      path: str | os.PathLike[str],
      load_merges: bool = False,
      special_token_types: tuple[str, ...] | None = None,
      n_vocab: int | None = None,
  ):
      self.special_token_ids = {}
      self.add_special_token = {}
      self.n_vocab = n_vocab
      self.load_merges = load_merges
      self.merges = []
      self.chat_template = None
      if special_token_types is not None:
          self.special_token_types = special_token_types
      else:
          self.special_token_types = ("bos", "eos", "unk", "sep", "pad")
      self._load(Path(path))
  
file_path: llama.cpp/gguf-py/gguf/vocab.py
imports: from __future__ import annotations
  import json
  import os
  import sys
  from pathlib import Path
  from typing import Any, Callable
  from .gguf_writer import GGUFWriter
label_desc: Use image node_id 1 to create a new SpecialVocab object  with example: obj = SpecialVocab(path, load_merges, special_token_types, n_vocab)