Exemple #1
0
    def __init__(
        self,
        intent_properties: Dict[Text, Any],
        entities: List[Text],
        slots: List[Slot],
        templates: Dict[Text, Any],
        action_names: List[Text],
        form_names: List[Text],
        store_entities_as_slots: bool = True,
    ) -> None:

        self.intent_properties = intent_properties
        self.entities = entities
        self.form_names = form_names
        self.slots = slots
        self.templates = templates

        # only includes custom actions and utterance actions
        self.user_actions = action_names
        # includes all actions (custom, utterance, default actions and forms)
        self.action_names = (
            action.combine_user_with_default_actions(action_names) +
            form_names)
        self.store_entities_as_slots = store_entities_as_slots

        action.ensure_action_name_uniqueness(self.action_names)
Exemple #2
0
    def __init__(
        self,
        intents: Union[Set[Text], List[Union[Text, Dict[Text, Any]]]],
        entities: List[Text],
        slots: List[Slot],
        templates: Dict[Text, Any],
        action_names: List[Text],
        form_names: List[Text],
        store_entities_as_slots: bool = True,
    ) -> None:

        self.intent_properties = self.collect_intent_properties(intents)
        self.entities = entities
        self.form_names = form_names
        self.slots = slots
        self.templates = templates

        # only includes custom actions and utterance actions
        self.user_actions = action_names
        # includes all actions (custom, utterance, default actions and forms)
        self.action_names = (
            action.combine_user_with_default_actions(action_names) +
            form_names)
        self.store_entities_as_slots = store_entities_as_slots

        self._check_domain_sanity()
Exemple #3
0
    def __init__(
            self,
            intents: Union[Set[Text], List[Union[Text, Dict[Text, Any]]]],
            entities: List[Text],
            slots: List[Slot],
            templates: Dict[Text, List[Dict[Text, Any]]],
            action_names: List[Text],
            forms: List[Union[Text, Dict]],
            store_entities_as_slots: bool = True,
            session_config: SessionConfig = SessionConfig.default(),
    ) -> None:

        self.intent_properties = self.collect_intent_properties(
            intents, entities)
        self.entities = entities

        # Forms used to be a list of form names. Now they can also contain
        # `SlotMapping`s
        if not forms or (forms and isinstance(forms[0], str)):
            self.form_names = forms
            self.forms: List[Dict] = [{form_name: {}} for form_name in forms]
        elif isinstance(forms[0], dict):
            self.forms: List[Dict] = forms
            self.form_names = [list(f.keys())[0] for f in forms]

        self.slots = slots
        self.templates = templates
        self.session_config = session_config

        self._custom_actions = action_names

        # only includes custom actions and utterance actions
        self.user_actions = action.combine_with_templates(
            action_names, templates)

        # includes all actions (custom, utterance, default actions and forms)
        self.action_names = (
            action.combine_user_with_default_actions(self.user_actions) +
            self.form_names)

        self.store_entities_as_slots = store_entities_as_slots
        self._check_domain_sanity()
Exemple #4
0
    def __init__(
            self,
            intents: Union[Set[Text], List[Union[Text, Dict[Text, Any]]]],
            entities: List[Text],
            slots: List[Slot],
            templates: Dict[Text, List[Dict[Text, Any]]],
            action_names: List[Text],
            forms: Union[Dict[Text, Any], List[Text]],
            action_texts: Optional[List[Text]] = None,
            store_entities_as_slots: bool = True,
            session_config: SessionConfig = SessionConfig.default(),
    ) -> None:

        self.intent_properties = self.collect_intent_properties(
            intents, entities)
        self.entities = entities

        self.forms: Dict[Text, Any] = {}
        self.form_names: List[Text] = []
        self._initialize_forms(forms)

        self.slots = slots
        self.templates = templates
        self.action_texts = action_texts or []
        self.session_config = session_config

        self._custom_actions = action_names

        # only includes custom actions and utterance actions
        self.user_actions = action.combine_with_templates(
            action_names, templates)

        # includes all actions (custom, utterance, default actions and forms)
        self.action_names = (
            action.combine_user_with_default_actions(self.user_actions) +
            self.form_names + self.action_texts)

        self.store_entities_as_slots = store_entities_as_slots
        self._check_domain_sanity()