code: def default_interpreters(
      models: dict[str, lit_model.Model]
  ) -> dict[str, lit_components.Interpreter]:
      """Returns a dict of the default interpreters used in a LitApp.
  
      Args:
        models: A dictionary of models that included in the LitApp that may provide
          their own salience information.
      """
      interpreters = required_interpreters()
  
      # Ensure the embedding-based interpreters are included.
      embedding_interpreters: dict[str, lit_components.Interpreter] = {
          "nearest neighbors": nearest_neighbors.NearestNeighbors(),
          # Embedding projectors expose a standard interface, but get special
          # handling so we can precompute the projections if requested.
          "pca": projection.ProjectionManager(pca.PCAModel),
      }
  
      if _UMAP_AVAILABLE:
          embedding_interpreters["umap"] = projection.ProjectionManager(
              umap.UmapModel
          )
  
      gradient_map_interpreters: dict[
          str, lit_components.Interpreter
      ] = {
          "Grad L2 Norm": gradient_maps.GradientNorm(),
          "Grad ⋅ Input": gradient_maps.GradientDotInput(),
          "Integrated Gradients": gradient_maps.IntegratedGradients(),
          "LIME": lime_explainer.LIME(),
      }
  
      # pyformat: disable
      core_interpreters: dict[str, lit_components.Interpreter] = {
          "Model-provided salience": model_salience.ModelSalience(
              models
          ),
          "tcav": tcav.TCAV(),
          "curves": curves.CurvesInterpreter(),
          "thresholder": thresholder.Thresholder(),
          "pdp": pdp.PdpInterpreter(),
          "Salience Clustering": salience_clustering.SalienceClustering(
              dict(gradient_map_interpreters)
          ),
      }
      # pyformat: enable
  
      if _SHAP_AVAILABLE:
          core_interpreters[
              "Tabular SHAP"
          ] = shap_explainer.TabularShapExplainer()
  
      interpreters.update(
          **core_interpreters,
          **gradient_map_interpreters,
          **embedding_interpreters,
      )
      return interpreters
  
imports: from lit_nlp.api import components
  from lit_nlp.api import model
  from lit_nlp.components import ablation_flip
  from lit_nlp.components import classification_results
  from lit_nlp.components import curves
  from lit_nlp.components import gradient_maps
  from lit_nlp.components import hotflip
  from lit_nlp.components import lime_explainer
  from lit_nlp.components import metrics
  from lit_nlp.components import model_salience
  from lit_nlp.components import nearest_neighbors
  from lit_nlp.components import pca
  from lit_nlp.components import pdp
  from lit_nlp.components import projection
  from lit_nlp.components import regression_results
  from lit_nlp.components import salience_clustering
  from lit_nlp.components import scrambler
  from lit_nlp.components import tcav
  from lit_nlp.components import thresholder
  from lit_nlp.components import word_replacer
label_desc: Use image node_id 3 for calling a global function with example usage: default_interpreters(models) and returns: interpreters