code: def add_run_args(parser: argparse.ArgumentParser):
      parser.add_argument(
          "-o",
          "--output-path",
          type=str,
          help="Where to save all the output",
          default="benchmark_output",
      )
      parser.add_argument(
          "-n",
          "--num-threads",
          type=int,
          help="Max number of threads to make requests",
          default=4,
      )
      parser.add_argument(
          "--skip-instances",
          action="store_true",
          default=None,
          help="Skip creation of instances (basically do nothing but just parse everything).",
      )
      parser.add_argument(
          "--cache-instances",
          action="store_true",
          default=None,
          help="Save generated instances input to model to disk. If already cached, read instances from file.",
      )
      parser.add_argument(
          "--cache-instances-only",
          action="store_true",
          default=None,
          help="Generate and save instances for scenario ONLY (i.e. do not evaluate models on instances).",
      )
      parser.add_argument(
          "-d",
          "--dry-run",
          action="store_true",
          default=None,
          help="Skip execution, only output scenario states and estimate token usage.",
      )
      parser.add_argument(
          "-m",
          "--max-eval-instances",
          type=int,
          required=True,
          help="Maximum number of instances to evaluate on, overrides the value in Adapter spec.",
      )
      parser.add_argument(
          "-t",
          "--num-train-trials",
          type=int,
          help="Number of trials where each trial samples a different set of in-context examples. "
          "Overrides the value in Adapter spec.",
      )
      parser.add_argument(
          "--suite",
          type=str,
          help="Name of the suite this run belongs to (default is today's date).",
          required=True,
      )
      parser.add_argument(
          "--local",
          action="store_true",
          help="If true, bypasses the proxy server and runs everything locally",
      )
      parser.add_argument(
          "--local-path",
          type=str,
          help="If running locally, the path for `ServerService`.",
          default="prod_env",
      )
      parser.add_argument(
          "--mongo-uri",
          type=str,
          help="If non-empty, the URL of the MongoDB database that will be used for caching instead of SQLite",
          default="",
      )
  
file_path: H2O/h2o_hf/helm/src/helm/benchmark/run.py
imports: import argparse
  from dataclasses import replace
  from typing import List, Optional
  from helm.benchmark.presentation.run_entry import RunEntry, read_run_entries
  from helm.common.hierarchical_logger import hlog, htrack, htrack_block
  from helm.common.authentication import Authentication
  from helm.common.object_spec import parse_object_spec
  from helm.proxy.clients.huggingface_model_registry import register_huggingface_model_config
  from helm.proxy.clients.remote_model_registry import check_and_register_remote_model
  from helm.proxy.services.remote_service import create_authentication, add_service_args
  from helm.benchmark.adaptation.adapter_spec import AdapterSpec
  from .executor import ExecutionSpec
  from .runner import Runner, RunSpec, LATEST_SYMLINK
  from .run_specs import construct_run_specs
label_desc: Use image node_id 3 for calling a global function with example usage: add_run_args(parser) without return types