def test_dialogue_from_parameters(): domain = Domain.load(DEFAULT_DOMAIN_PATH_WITH_SLOTS_AND_NO_ACTIONS) filename = "data/test_dialogues/default.json" tracker = tracker_from_dialogue_file(filename, domain) serialised_dialogue = InMemoryTrackerStore.serialise_tracker(tracker) deserialised_dialogue = Dialogue.from_parameters(json.loads(serialised_dialogue)) assert tracker.as_dialogue().as_dict() == deserialised_dialogue.as_dict()
def test_dialogue_from_parameters(): domain = Domain.load("examples/restaurantbot/domain.yml") filename = "data/test_dialogues/restaurantbot.json" tracker = tracker_from_dialogue_file(filename, domain) serialised_dialogue = InMemoryTrackerStore.serialise_tracker(tracker) deserialised_dialogue = Dialogue.from_parameters( json.loads(serialised_dialogue)) assert tracker.as_dialogue().as_dict() == deserialised_dialogue.as_dict()
def deserialise_tracker( self, sender_id: Text, serialised_tracker: Union[Text, bytes]) -> Optional[DialogueStateTracker]: """Deserializes the tracker and returns it.""" tracker = self.init_tracker(sender_id) if not tracker: return None try: dialogue = Dialogue.from_parameters(json.loads(serialised_tracker)) except UnicodeDecodeError: dialogue = self._deserialise_dialogue_from_pickle( sender_id, serialised_tracker) tracker.recreate_from_dialogue(dialogue) return tracker