class_docstr: Cache for model outputs.
code: def _construct_pred_lock_key(
      self, keys: list[CacheKey]
  ) -> PredLockKey:
      # If this cache is set up to not allow concurrent predictions, then use the
      # same key to the predictions lock map regardless of example keys provided.
      fs = (
          frozenset(keys)
          if self._allow_concurrent_predictions
          else frozenset([PRED_LOCK_KEY_WHEN_NO_CONCURRENT_ACCESS])
      )
      return fs
  
imports: from collections.abc import Callable, Iterable
  import os
  import pickle
  import threading
  from typing import Any, Optional, Union
  from absl import logging
  from lit_nlp.api import dataset
  from lit_nlp.api import model
  from lit_nlp.api import types
  from lit_nlp.lib import serialize
label_desc: Use image node_id 6 for calling the PredsCache obj's underlying member method code with example usage: obj._construct_pred_lock_key(keys) and returns: fs