code: def main(
      model_path: str,
      dataset: str,
      output_path: str,
      code: Optional[str],
      med_mentions_folder_path: Optional[str],
      gpu_id: Optional[int],
  ):
      if gpu_id is not None and gpu_id >= 0:
          require_gpu(gpu_id)
  
      if code is not None:
          # need to import code before loading a spacy model
          spec = importlib.util.spec_from_file_location(
              "python_code", str(code)
          )
          module = importlib.util.module_from_spec(spec)
          spec.loader.exec_module(module)
  
      nlp = spacy.load(model_path)
      if dataset.startswith("medmentions"):
          train_data, dev_data, test_data = read_full_med_mentions(
              med_mentions_folder_path, None, False
          )
          data_split = dataset.split("-")[1]
          if data_split == "train":
              data = train_data
          elif data_split == "dev":
              data = dev_data
          elif data_split == "test":
              data = test_data
          else:
              raise Exception(f"Unrecognized split {data_split}")
      else:
          data = read_ner_from_tsv(dataset)
  
      evaluate_ner(nlp, data, dump_path=output_path)
  
file_path: scispacy/scripts/evaluate_ner.py
imports: from typing import Optional
  import argparse
  import spacy
  import importlib
  from thinc.api import require_gpu
  from scispacy.data_util import read_full_med_mentions, read_ner_from_tsv
  from scispacy.train_utils import evaluate_ner
label_desc: Use image node_id 1 for calling a global function with example usage: main(model_path, dataset, output_path, code, med_mentions_folder_path, gpu_id) without return types