Version: Main/Unreleased

rasa.shared.importers.importer

TrainingDataImporter Objects

class TrainingDataImporter(ABC)

Common interface for different mechanisms to load training data.

__init__

@abstractmethod
def __init__(config_file: Optional[Text] = None,
domain_path: Optional[Text] = None,
training_data_paths: Optional[Union[List[Text], Text]] = None,
**kwargs: Any) -> None

Initialise the importer.

get_domain

@abstractmethod
def get_domain() -> Domain

Retrieves the domain of the bot.

Returns:

Loaded Domain.

get_stories

@abstractmethod
def get_stories(exclusion_percentage: Optional[int] = None) -> StoryGraph

Retrieves the stories that should be used for training.

Arguments:

  • exclusion_percentage - Amount of training data that should be excluded.

Returns:

StoryGraph containing all loaded stories.

get_conversation_tests

def get_conversation_tests() -> StoryGraph

Retrieves end-to-end conversation stories for testing.

Returns:

StoryGraph containing all loaded stories.

get_config

@abstractmethod
def get_config() -> Dict

Retrieves the configuration that should be used for the training.

Returns:

The configuration as dictionary.

get_config_file_for_auto_config

@abstractmethod
def get_config_file_for_auto_config() -> Optional[Text]

Returns config file path for auto-config only if there is a single one.

get_nlu_data

@abstractmethod
def get_nlu_data(language: Optional[Text] = "en") -> TrainingData

Retrieves the NLU training data that should be used for training.

Arguments:

  • language - Can be used to only load training data for a certain language.

Returns:

Loaded NLU TrainingData.

load_from_config

@staticmethod
def load_from_config(
config_path: Text,
domain_path: Optional[Text] = None,
training_data_paths: Optional[List[Text]] = None,
args: Optional[Dict[Text, Any]] = {}) -> "TrainingDataImporter"

Loads a TrainingDataImporter instance from a configuration file.

load_core_importer_from_config

@staticmethod
def load_core_importer_from_config(
config_path: Text,
domain_path: Optional[Text] = None,
training_data_paths: Optional[List[Text]] = None,
args: Optional[Dict[Text, Any]] = {}) -> "TrainingDataImporter"

Loads core TrainingDataImporter instance.

Instance loaded from configuration file will only read Core training data.

load_nlu_importer_from_config

@staticmethod
def load_nlu_importer_from_config(
config_path: Text,
domain_path: Optional[Text] = None,
training_data_paths: Optional[List[Text]] = None,
args: Optional[Dict[Text, Any]] = {}) -> "TrainingDataImporter"

Loads nlu TrainingDataImporter instance.

Instance loaded from configuration file will only read NLU training data.

load_from_dict

@staticmethod
def load_from_dict(
config: Optional[Dict] = None,
config_path: Optional[Text] = None,
domain_path: Optional[Text] = None,
training_data_paths: Optional[List[Text]] = None,
args: Optional[Dict[Text, Any]] = {}) -> "TrainingDataImporter"

Loads a TrainingDataImporter instance from a dictionary.

fingerprint

def fingerprint() -> Text

Returns a random fingerprint as data shouldn't be cached.

__repr__

def __repr__() -> Text

Returns text representation of object.

NluDataImporter Objects

class NluDataImporter(TrainingDataImporter)

Importer that skips any Core-related file reading.

__init__

def __init__(actual_importer: TrainingDataImporter)

Initializes the NLUDataImporter.

get_domain

def get_domain() -> Domain

Retrieves model domain (see parent class for full docstring).

get_stories

def get_stories(exclusion_percentage: Optional[int] = None) -> StoryGraph

Retrieves training stories / rules (see parent class for full docstring).

get_conversation_tests

def get_conversation_tests() -> StoryGraph

Retrieves conversation test stories (see parent class for full docstring).

get_config

def get_config() -> Dict

Retrieves model config (see parent class for full docstring).

get_nlu_data

def get_nlu_data(language: Optional[Text] = "en") -> TrainingData

Retrieves NLU training data (see parent class for full docstring).

get_config_file_for_auto_config

@rasa.shared.utils.common.cached_method
def get_config_file_for_auto_config() -> Optional[Text]

Returns config file path for auto-config only if there is a single one.

CombinedDataImporter Objects

class CombinedDataImporter(TrainingDataImporter)

A TrainingDataImporter that combines multiple importers.

Uses multiple TrainingDataImporter instances to load the data as if they were a single instance.

get_config

@rasa.shared.utils.common.cached_method
def get_config() -> Dict

Retrieves model config (see parent class for full docstring).

get_domain

@rasa.shared.utils.common.cached_method
def get_domain() -> Domain

Retrieves model domain (see parent class for full docstring).

get_stories

@rasa.shared.utils.common.cached_method
def get_stories(exclusion_percentage: Optional[int] = None) -> StoryGraph

Retrieves training stories / rules (see parent class for full docstring).

get_conversation_tests

@rasa.shared.utils.common.cached_method
def get_conversation_tests() -> StoryGraph

Retrieves conversation test stories (see parent class for full docstring).

get_nlu_data

@rasa.shared.utils.common.cached_method
def get_nlu_data(language: Optional[Text] = "en") -> TrainingData

Retrieves NLU training data (see parent class for full docstring).

get_config_file_for_auto_config

@rasa.shared.utils.common.cached_method
def get_config_file_for_auto_config() -> Optional[Text]

Returns config file path for auto-config only if there is a single one.

ResponsesSyncImporter Objects

class ResponsesSyncImporter(TrainingDataImporter)

Importer that syncs responses between Domain and NLU training data.

Synchronizes responses between Domain and NLU and adds retrieval intent properties from the NLU training data back to the Domain.

__init__

def __init__(importer: TrainingDataImporter)

Initializes the ResponsesSyncImporter.

get_config

def get_config() -> Dict

Retrieves model config (see parent class for full docstring).

get_config_file_for_auto_config

@rasa.shared.utils.common.cached_method
def get_config_file_for_auto_config() -> Optional[Text]

Returns config file path for auto-config only if there is a single one.

get_domain

@rasa.shared.utils.common.cached_method
def get_domain() -> Domain

Merge existing domain with properties of retrieval intents in NLU data.

get_stories

def get_stories(exclusion_percentage: Optional[int] = None) -> StoryGraph

Retrieves training stories / rules (see parent class for full docstring).

get_conversation_tests

def get_conversation_tests() -> StoryGraph

Retrieves conversation test stories (see parent class for full docstring).

get_nlu_data

@rasa.shared.utils.common.cached_method
def get_nlu_data(language: Optional[Text] = "en") -> TrainingData

Updates NLU data with responses for retrieval intents from domain.

E2EImporter Objects

class E2EImporter(TrainingDataImporter)

Importer with the following functionality.

  • enhances the NLU training data with actions / user messages from the stories.
  • adds potential end-to-end bot messages from stories as actions to the domain

__init__

def __init__(importer: TrainingDataImporter) -> None

Initializes the E2EImporter.

get_domain

@rasa.shared.utils.common.cached_method
def get_domain() -> Domain

Retrieves model domain (see parent class for full docstring).

get_stories

def get_stories(exclusion_percentage: Optional[int] = None) -> StoryGraph

Retrieves the stories that should be used for training.

See parent class for details.

get_conversation_tests

def get_conversation_tests() -> StoryGraph

Retrieves conversation test stories (see parent class for full docstring).

get_config

def get_config() -> Dict

Retrieves model config (see parent class for full docstring).

get_config_file_for_auto_config

@rasa.shared.utils.common.cached_method
def get_config_file_for_auto_config() -> Optional[Text]

Returns config file path for auto-config only if there is a single one.

get_nlu_data

@rasa.shared.utils.common.cached_method
def get_nlu_data(language: Optional[Text] = "en") -> TrainingData

Retrieves NLU training data (see parent class for full docstring).