code: def _pull_cache(
      repo,
      refs: Union[ExpRefInfo, Iterable["ExpRefInfo"]],
      dvc_remote=None,
      jobs=None,
      run_cache=False,
  ):
      if isinstance(refs, ExpRefInfo):
          refs = [refs]
      revs = list(exp_commits(repo.scm, refs))
      logger.debug("dvc fetch experiment '%s'", refs)
      repo.fetch(
          jobs=jobs,
          remote=dvc_remote,
          run_cache=run_cache,
          revs=revs,
          workspace=False,
      )
  
file_path: dvc/dvc/repo/experiments/pull.py
imports: from typing import Iterable, List, Mapping, Optional, Set, Union
  from funcy import group_by
  from scmrepo.git.backend.base import SyncStatus
  from dvc.log import logger
  from dvc.repo import locked
  from dvc.repo.scm_context import scm_context
  from dvc.scm import TqdmGit, iter_revs
  from dvc.ui import ui
  from .exceptions import UnresolvedExpNamesError
  from .refs import ExpRefInfo
  from .utils import exp_commits, exp_refs, exp_refs_by_baseline, resolve_name
label_desc: Use image node_id 3 for calling a global function with example usage: _pull_cache(repo, refs, dvc_remote, jobs, run_cache) without return types