These docs are for version 1.x of Rasa Open Source.

- [Docs for the new version 2.0 can be found here.](/content/docs/rasa/index.html)

## User Guide

- [Installation](https://legacy-docs-v1.rasa.com/1.4.6/user-guide/installation/)
- [Rasa Tutorial](https://legacy-docs-v1.rasa.com/1.4.6/user-guide/rasa-tutorial/)
- [Command Line Interface](https://legacy-docs-v1.rasa.com/1.4.6/user-guide/command-line-interface/)
- [Architecture](https://legacy-docs-v1.rasa.com/1.4.6/user-guide/architecture/)
- [Messaging and Voice Channels](https://legacy-docs-v1.rasa.com/1.4.6/user-guide/messaging-and-voice-channels/)
- [Evaluating Models](https://legacy-docs-v1.rasa.com/1.4.6/user-guide/evaluating-models/)
- [Validate Data](https://legacy-docs-v1.rasa.com/1.4.6/user-guide/validate-files/)
- [Running the Server](https://legacy-docs-v1.rasa.com/1.4.6/user-guide/running-the-server/)
- [Running Rasa with Docker](https://legacy-docs-v1.rasa.com/1.4.6/user-guide/running-rasa-with-docker/)
- [Cloud Storage](https://legacy-docs-v1.rasa.com/1.4.6/user-guide/cloud-storage/)

## NLU

- [About](https://legacy-docs-v1.rasa.com/1.4.6/nlu/about/)
- [Using NLU Only](https://legacy-docs-v1.rasa.com/1.4.6/nlu/using-nlu-only/)
- [Training Data Format](https://legacy-docs-v1.rasa.com/1.4.6/nlu/training-data-format/)
- [Choosing a Pipeline](https://legacy-docs-v1.rasa.com/1.4.6/nlu/choosing-a-pipeline/)
- [Language Support](https://legacy-docs-v1.rasa.com/1.4.6/nlu/language-support/)
- [Entity Extraction](https://legacy-docs-v1.rasa.com/1.4.6/nlu/entity-extraction/)
- [Components](https://legacy-docs-v1.rasa.com/1.4.6/nlu/components/)

## Core

- [About](https://legacy-docs-v1.rasa.com/1.4.6/core/about/)
- [Stories](https://legacy-docs-v1.rasa.com/1.4.6/core/stories/)
- [Domains](https://legacy-docs-v1.rasa.com/1.4.6/core/domains/)
- [Responses](https://legacy-docs-v1.rasa.com/1.4.6/core/responses/)
- [Actions](https://legacy-docs-v1.rasa.com/1.4.6/core/actions/)
- [Policies](https://legacy-docs-v1.rasa.com/1.4.6/core/policies/)
- [Slots](https://legacy-docs-v1.rasa.com/1.4.6/core/slots/)
- [Forms](https://legacy-docs-v1.rasa.com/1.4.6/core/forms/)
- [Retrieval Actions](https://legacy-docs-v1.rasa.com/1.4.6/core/retrieval-actions/)
- [Interactive Learning](https://legacy-docs-v1.rasa.com/1.4.6/core/interactive-learning/)
- [Fallback Actions](https://legacy-docs-v1.rasa.com/1.4.6/core/fallback-actions/)
- [Knowledge Base Actions](https://legacy-docs-v1.rasa.com/1.4.6/core/knowledge-bases/)

## Conversation Design

- [Dialogue Elements](https://legacy-docs-v1.rasa.com/1.4.6/dialogue-elements/dialogue-elements/)
- [Small Talk](https://legacy-docs-v1.rasa.com/1.4.6/dialogue-elements/small-talk/)
- [Completing Tasks](https://legacy-docs-v1.rasa.com/1.4.6/dialogue-elements/completing-tasks/)
- [Guiding Users](https://legacy-docs-v1.rasa.com/1.4.6/dialogue-elements/guiding-users/)

## API Reference

- [Action Server](https://legacy-docs-v1.rasa.com/1.4.6/api/action-server/)
- [HTTP API](https://legacy-docs-v1.rasa.com/1.4.6/api/http-api/)
- [Jupyter Notebooks](https://legacy-docs-v1.rasa.com/1.4.6/api/jupyter-notebooks/)
- [Agent](https://legacy-docs-v1.rasa.com/1.4.6/api/agent/#)
- [Custom NLU Components](https://legacy-docs-v1.rasa.com/1.4.6/api/custom-nlu-components/)
- [Events](https://legacy-docs-v1.rasa.com/1.4.6/api/events/)
- [Tracker](https://legacy-docs-v1.rasa.com/1.4.6/api/tracker/)
- [Tracker Stores](https://legacy-docs-v1.rasa.com/1.4.6/api/tracker-stores/)
- [Event Brokers](https://legacy-docs-v1.rasa.com/1.4.6/api/event-brokers/)
- [Lock Stores](https://legacy-docs-v1.rasa.com/1.4.6/api/lock-stores/)
- [Training Data Importers](https://legacy-docs-v1.rasa.com/1.4.6/api/training-data-importers/)
- [Featurization](https://legacy-docs-v1.rasa.com/1.4.6/api/featurization/)
- [Migration Guide](https://legacy-docs-v1.rasa.com/1.4.6/migration-guide/)
- [Rasa Change Log](https://legacy-docs-v1.rasa.com/1.4.6/changelog/)

## Migrate from (beta)

- [Dialogflow](https://legacy-docs-v1.rasa.com/1.4.6/migrate-from/google-dialogflow-to-rasa/)
- [Wit.ai](https://legacy-docs-v1.rasa.com/1.4.6/migrate-from/facebook-wit-ai-to-rasa/)
- [LUIS](https://legacy-docs-v1.rasa.com/1.4.6/migrate-from/microsoft-luis-to-rasa/)
- [IBM Watson](https://legacy-docs-v1.rasa.com/1.4.6/migrate-from/ibm-watson-to-rasa/)

## Reference

- [Glossary](https://legacy-docs-v1.rasa.com/1.4.6/glossary/)

## Versions

viewing: 1.4.6

## Tags

[1.10.26](https://legacy-docs-v1.rasa.com/1.10.26/api/agent/) [1.10.25](https://legacy-docs-v1.rasa.com/1.10.25/api/agent/) [1.10.24](https://legacy-docs-v1.rasa.com/1.10.24/api/agent/) [1.10.23](https://legacy-docs-v1.rasa.com/1.10.23/api/agent/) [1.10.22](https://legacy-docs-v1.rasa.com/1.10.22/api/agent/) [1.10.21](https://legacy-docs-v1.rasa.com/1.10.21/api/agent/) [1.10.20](https://legacy-docs-v1.rasa.com/1.10.20/api/agent/) [1.10.19](https://legacy-docs-v1.rasa.com/1.10.19/api/agent/) [1.10.18](https://legacy-docs-v1.rasa.com/1.10.18/api/agent/) [1.10.17](https://legacy-docs-v1.rasa.com/1.10.17/api/agent/) [1.10.16](https://legacy-docs-v1.rasa.com/1.10.16/api/agent/) [1.10.15](https://legacy-docs-v1.rasa.com/1.10.15/api/agent/) [1.10.14](https://legacy-docs-v1.rasa.com/1.10.14/api/agent/) [1.10.13](https://legacy-docs-v1.rasa.com/1.10.13/api/agent/) [1.10.12](https://legacy-docs-v1.rasa.com/1.10.12/api/agent/) [1.10.11](https://legacy-docs-v1.rasa.com/1.10.11/api/agent/) [1.10.10](https://legacy-docs-v1.rasa.com/1.10.10/api/agent/) [1.10.9](https://legacy-docs-v1.rasa.com/1.10.9/api/agent/) [1.10.8](https://legacy-docs-v1.rasa.com/1.10.8/api/agent/) [1.10.7](https://legacy-docs-v1.rasa.com/1.10.7/api/agent/) [1.10.6](https://legacy-docs-v1.rasa.com/1.10.6/api/agent/) [1.10.5](https://legacy-docs-v1.rasa.com/1.10.5/api/agent/) [1.10.4](https://legacy-docs-v1.rasa.com/1.10.4/api/agent/) [1.10.3](https://legacy-docs-v1.rasa.com/1.10.3/api/agent/) [1.10.2](https://legacy-docs-v1.rasa.com/1.10.2/api/agent/) [1.10.1](https://legacy-docs-v1.rasa.com/1.10.1/api/agent/) [1.10.0](https://legacy-docs-v1.rasa.com/1.10.0/api/agent/) [1.9.7](https://legacy-docs-v1.rasa.com/1.9.7/api/agent/) [1.9.6](https://legacy-docs-v1.rasa.com/1.9.6/api/agent/) [1.9.5](https://legacy-docs-v1.rasa.com/1.9.5/api/agent/) [1.9.4](https://legacy-docs-v1.rasa.com/1.9.4/api/agent/) [1.9.3](https://legacy-docs-v1.rasa.com/1.9.3/api/agent/) [1.9.2](https://legacy-docs-v1.rasa.com/1.9.2/api/agent/) [1.9.1](https://legacy-docs-v1.rasa.com/1.9.1/api/agent/) [1.9.0](https://legacy-docs-v1.rasa.com/1.9.0/api/agent/) [1.8.3](https://legacy-docs-v1.rasa.com/1.8.3/api/agent/) [1.8.2](https://legacy-docs-v1.rasa.com/1.8.2/api/agent/) [1.8.1](https://legacy-docs-v1.rasa.com/1.8.1/api/agent/) [1.8.0](https://legacy-docs-v1.rasa.com/1.8.0/api/agent/) [1.7.4](https://legacy-docs-v1.rasa.com/1.7.4/api/agent/) [1.7.3](https://legacy-docs-v1.rasa.com/1.7.3/api/agent/) [1.7.2](https://legacy-docs-v1.rasa.com/1.7.2/api/agent/) [1.7.1](https://legacy-docs-v1.rasa.com/1.7.1/api/agent/) [1.7.0](https://legacy-docs-v1.rasa.com/1.7.0/api/agent/) [1.6.2](https://legacy-docs-v1.rasa.com/1.6.2/api/agent/) [1.5.3](https://legacy-docs-v1.rasa.com/1.5.3/api/agent/) [1.4.6](https://legacy-docs-v1.rasa.com/1.4.6/api/agent/) [1.3.10](https://legacy-docs-v1.rasa.com/1.3.10/api/agent/) [1.2.9](https://legacy-docs-v1.rasa.com/1.2.9/api/agent/)

**Warning:** This document is for an old version of Rasa. The latest version is [1.10.26](https://legacy-docs-v1.rasa.com/1.10.26/api/agent/).

## Agent

Class `rasa.core.agent.Agent`

The Agent class provides a convenient interface for the most important Rasa functionality.

This includes training, handling messages, loading a dialogue model, getting the next action, and handling a channel.

```python
class Agent(
    domain=None,
    policies=None,
    interpreter=None,
    generator=None,
    tracker_store=None,
    lock_store=None,
    action_endpoint=None,
    fingerprint=None,
    model_directory=None,
    model_server=None,
    remote_storage=None,
    path_to_model_archive=None,
)
```

### create_processor(preprocessor=None)

Instantiates a processor based on the set state of the agent.

**Return type:** `MessageProcessor`

### async execute_action(sender_id, action, output_channel, policy, confidence)

Handle a single message.

**Return type:** `DialogueStateTracker`

### handle_channels(channels, http_port=5005, route='/webhooks/', cors=None)

Start a webserver attaching the input channels and handling msgs.

**Return type:** `Sanic`

### async handle_message(message, message_preprocessor=None, **kwargs)

Handle a single message.

**Return type:** `Optional[List[Dict[str, Any]]]`

### async handle_text(text_message, message_preprocessor=None, output_channel=None, sender_id='default')

Handle a single message.

**Example:** 
```python
from rasa.core.agent import Agent
from rasa.core.interpreter import RasaNLUInterpreter
agent = Agent.load("examples/restaurantbot/models/current")
await agent.handle_text("hello")
[u'how can I help you?']
```

**Return type:** `Optional[List[Dict[str, Any]]]`

### is_core_ready()

Check if all necessary components and policies are ready to use the agent.

**Return type:** `bool`

### is_ready()

Check if all necessary components are instantiated to use agent.

**Return type:** `bool`

### classmethod load(model_path, interpreter=None, generator=None, tracker_store=None, lock_store=None, action_endpoint=None, model_server=None, remote_storage=None, path_to_model_archive=None)

Load a persisted model from the passed path.

**Return type:** `Agent`

### async load_data(training_resource, remove_duplicates=True, unique_last_num_states=None, augmentation_factor=50, tracker_limit=None, use_story_concatenation=True, debug_plots=False, exclusion_percentage=None)

Load training data from a resource.

**Return type:** List[DialogueStateTracker]

### async log_message(message, message_preprocessor=None, **kwargs)

Append a message to a dialogue - does not predict actions.

**Return type:** `DialogueStateTracker`

### async parse_message_using_nlu_interpreter(message_data, tracker=None)

Handles message text and intent payload input messages.

**Return type:** `Dict[str, Any]`

### persist(model_path)

Persists this agent into a directory for later loading and usage.

**Return type:** `None`

### async predict_next(sender_id, **kwargs)

Handle a single message.

**Return type:** `Optional[Dict[str, Any]]`

### toggle_memoization(activate)

Toggles the memoization on and off.

**Return type:** `None`

### train(training_trackers, **kwargs)

Train the policies/policy ensemble using dialogue data from file.

**Return type:** `None`

### async trigger_intent(intent_name, entities, output_channel, tracker)

Trigger a user intent, e.g. triggered by an external event.

**Return type:** `None`

👋 I can help you get started with Rasa and answer your technical questions.
