def generate(self, template_name: Text, tracker: DialogueStateTracker, output_channel: Text, **kwargs: Any) -> Optional[Dict[Text, Any]]: """Generate a response for the requested template.""" filled_slots = tracker.current_slot_values() return self.generate_from_slots(template_name, filled_slots, output_channel, **kwargs)
def generate(self, template_name: Text, tracker: DialogueStateTracker, **kwargs: Any) -> Optional[Dict[Text, Any]]: """Generate a response for the requested template.""" filled_slots = tracker.current_slot_values() entities = tracker.latest_message.entities filled_slots.update( {entity.get("entity"): entity.get("value") for entity in entities}) return self.generate_from_slots(template_name, filled_slots, **kwargs)
def extract_non_empty_slots(tracker: DialogueStateTracker): """ Returns all slots that are not empty """ slots = tracker.current_slot_values() return {x: i for x, i in slots.items() if i is not None}