class_docstr: Manager for multiple ProjectionInterpreter instances.
  
  Presents a standard "Interpreter" interface so that client code can treat
  this as an ordinary stateless component.
  
  The config is used to uniquely identify the projection instance, and a new
  instance is created and fit if not found.
  
  Config must contain the following fields:
  - field_name: name of embedding field (in model output)
  - (optional) proj_kw: config for the underlying ProjectorModel
  
  We also recommend including the model name and dataset name in the key, but
  this is not explicitly enforced.
class_docstr_tok: ["Manager","for","multiple","ProjectionInterpreter","instances",".","Presents","a","standard","``","Interpreter","''","interface","so","that","client","code","can","treat","this","as","an","ordinary","stateless","component",".","The","config","is","used","to","uniquely","identify","the","projection","instance",",","and","a","new","instance","is","created","and","fit","if","not","found",".","Config","must","contain","the","following","fields",":","-","field_name",":","name","of","embedding","field","(","in","model","output",")","-","(","optional",")","proj_kw",":","config","for","the","underlying","ProjectorModel","We","also","recommend","including","the","model","name","and","dataset","name","in","the","key",",","but","this","is","not","explicitly","enforced","."]
code: def __init__(self, model_class: type[lit_model.ProjectorModel]):
      self._lock = threading.RLock()
      self._instances: dict[Hashable, ProjectionInterpreter] = {}
      # Used to construct new instances, given config['proj_kw']
      self._model_factory = model_class
  
imports: from collections.abc import Hashable, Sequence
  import threading
  from typing import Optional
  from absl import logging
  from lit_nlp.api import components
  from lit_nlp.api import dataset
  from lit_nlp.api import model
  from lit_nlp.api import types
  from lit_nlp.lib import caching
label_desc: Use image node_id 1 to create a new ProjectionManager object from inherited base classes: lit_components with example: obj = ProjectionManager(model_class)