def __init__(
      self,
      model: language_model.LanguageModel,
      observations_component_key: str,
      menu_of_components: Sequence[str],
      pre_act_label: str = 'ChoiceComponent',
      logging_channel: logging.LoggingChannel = logging.NoOpLoggingChannel,
  ):
    """Initialize a component that selects other components from a list.

    Args:
      model: The language model to use.
      observations_component_key: The name of the component that contains the
        observations.
      menu_of_components: The sequence of components to choose from.
      pre_act_label: Prefix to add to the output of the component when called
        in `pre_act`.
      logging_channel: The channel to log debug information to.
    """
    super().__init__(pre_act_label)
    self._model = model
    self._observations_component_key = observations_component_key
    self._menu = menu_of_components
    self._logging_channel = logging_channel
Initialize a component that selects other components from a list.

    Args:
      model: The language model to use.
      observations_component_key: The name of the component that contains the
        observations.
      menu_of_components: The sequence of components to choose from.
      pre_act_label: Prefix to add to the output of the component when called
        in `pre_act`.
      logging_channel: The channel to log debug information to.
    
concordia/contrib/components/agent/choice_of_component.py