class_docstr: Filters response variations based on the channel, action and condition.
class_docstr_tok: ["Filters","response","variations","based","on","the","channel",",","action","and","condition","."]
docstr: Checks that the response IDs of a particular utter_action are unique.
  
  Args:
      response_variations: The response variations to validate.
  
  Returns:
      True if the response IDs are unique, False otherwise.
docstr_tok: ["Checks","that","the","response","IDs","of","a","particular","utter_action","are","unique",".","Args",":","response_variations",":","The","response","variations","to","validate",".","Returns",":","True","if","the","response","IDs","are","unique",",","False","otherwise","."]
code: def _validate_response_ids(
      response_variations: List[Dict[Text, Any]]
  ) -> bool:
      """Checks that the response IDs of a particular utter_action are unique.
  
      Args:
          response_variations: The response variations to validate.
  
      Returns:
          True if the response IDs are unique, False otherwise.
      """
      response_ids = set()
      for response_variation in response_variations:
          response_variation_id = response_variation.get("id")
          if (
              response_variation_id
              and response_variation_id in response_ids
          ):
              rasa.shared.utils.io.raise_warning(
                  f"Duplicate response id '{response_variation_id}' "
                  f"defined in the domain."
              )
              return False
  
          response_ids.add(response_variation_id)
  
      return True
  
file_path: rasa/rasa/core/nlg/generator.py
imports: import logging
  from typing import List, Optional, Union, Text, Any, Dict
  import rasa.shared.utils.common
  import rasa.shared.utils.io
  from rasa.shared.constants import CHANNEL, RESPONSE_CONDITION
  from rasa.shared.core.domain import Domain
  from rasa.utils.endpoints import EndpointConfig
  from rasa.shared.core.trackers import DialogueStateTracker
label_desc: Use image node_id 5 for calling the ResponseVariationFilter obj's underlying member method code with example usage: obj._validate_response_ids(response_variations) and returns: True, False