## TrainingDataImporter Objects

### class TrainingDataImporter(ABC)

Common interface for different mechanisms to load training data.

#### __init__

```python
@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

```python
@abstractmethod
def get_domain() -> Domain:
    Retrieves the domain of the bot.
    **Returns**:
    Loaded `Domain`.
```

#### get_stories

```python
@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

```python
def get_conversation_tests() -> StoryGraph:
    Retrieves end-to-end conversation stories for testing.
    **Returns**:
    `StoryGraph` containing all loaded stories.
```

#### get_config

```python
@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

```python
@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

```python
@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

```python
@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

```python
@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.
```

#### load_nlu_importer_from_config

```python
@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.
```

#### load_from_dict

```python
@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

```python
def fingerprint() -> Text:
    Returns a random fingerprint as data shouldn't be cached.
```

#### __repr__

```python
def __repr__() -> Text:
    Returns text representation of object.
```

## NluDataImporter Objects

### class NluDataImporter(TrainingDataImporter)

Importer that skips any Core-related file reading.

#### __init__

```python
def __init__(actual_importer: TrainingDataImporter):
    Initializes the NLUDataImporter.
```

#### get_domain

```python
def get_domain() -> Domain:
    Retrieves model domain (see parent class for full docstring).
```

#### get_stories

```python
def get_stories(exclusion_percentage: Optional[int]=None) -> StoryGraph:
    Retrieves training stories / rules (see parent class for full docstring).
```

#### get_conversation_tests

```python
def get_conversation_tests() -> StoryGraph:
    Retrieves conversation test stories (see parent class for full docstring).
```

#### get_config

```python
def get_config() -> Dict:
    Retrieves model config (see parent class for full docstring).
```

#### get_nlu_data

```python
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

```python
@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

```python
@rasa.shared.utils.common.cached_method
def get_config() -> Dict:
    Retrieves model config (see parent class for full docstring).
```

#### get_domain

```python
@rasa.shared.utils.common.cached_method
def get_domain() -> Domain:
    Retrieves model domain (see parent class for full docstring).
```

#### get_stories

```python
@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

```python
@rasa.shared.utils.common.cached_method
def get_conversation_tests() -> StoryGraph:
    Retrieves conversation test stories (see parent class for full docstring).
```

#### get_nlu_data

```python
@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

## 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__

```python
def __init__(importer: TrainingDataImporter):
    Initializes the ResponsesSyncImporter.
```

#### get_config

```python
def get_config() -> Dict:
    Retrieves model config (see parent class for full docstring).
```

#### get_config_file_for_auto_config

#### get_domain

```python
@rasa.shared.utils.common.cached_method
def get_domain() -> Domain:
    Merge existing domain with properties of retrieval intents in NLU data.
```

#### get_stories

#### get_conversation_tests

```python
def get_conversation_tests() -> StoryGraph:
    Retrieves conversation test stories (see parent class for full docstring).
```

#### get_nlu_data

```python
@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__

```python
def __init__(importer: TrainingDataImporter) -> None:
    Initializes the E2EImporter.
```

#### get_domain

```python
@rasa.shared.utils.common.cached_method
def get_domain() -> Domain:
    Retrieves model domain (see parent class for full docstring).
```

#### get_stories

```python
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

```python
def get_conversation_tests() -> StoryGraph:
    Retrieves conversation test stories (see parent class for full docstring).
```

#### get_config

```python
def get_config() -> Dict:
    Retrieves model config (see parent class for full docstring).
```

#### get_config_file_for_auto_config

#### get_nlu_data
