class_docstr: Special case of StochasticSampling w/ Categorical and temperature param.
  
  Returns a stochastic sample from a Categorical parameterized by the model
  output divided by the temperature. Returns the argmax iff explore=False.
code: def get_exploration_action(
      self,
      action_distribution: ActionDistribution,
      timestep: Union[int, TensorType],
      explore: bool = True,
  ):
      cls = type(action_distribution)
      assert issubclass(cls, (Categorical, TorchCategorical))
      # Re-create the action distribution with the correct temperature
      # applied.
      dist = cls(
          action_distribution.inputs,
          self.model,
          temperature=self.temperature,
      )
      # Delegate to super method.
      return super().get_exploration_action(
          action_distribution=dist, timestep=timestep, explore=explore
      )
  
file_path: ray/python/ray/rllib/utils/exploration/soft_q.py
imports: from gymnasium.spaces import Discrete, MultiDiscrete, Space
  from typing import Union, Optional
  from ray.rllib.models.action_dist import ActionDistribution
  from ray.rllib.models.tf.tf_action_dist import Categorical
  from ray.rllib.models.torch.torch_action_dist import TorchCategorical
  from ray.rllib.utils.annotations import override, PublicAPI
  from ray.rllib.utils.exploration.stochastic_sampling import StochasticSampling
  from ray.rllib.utils.framework import TensorType
label_desc: Use image node_id 2 for calling the SoftQ obj's underlying member method code with example usage: obj.get_exploration_action(action_distribution, timestep, explore) and returns: super