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

## Methods

### `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`](https://legacy-docs-v1.rasa.com/1.8.2/api/tracker/#rasa.core.trackers.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.

**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`](https://legacy-docs-v1.rasa.com/1.8.2/api/agent/#rasa.core.agent.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`](https://legacy-docs-v1.rasa.com/1.8.2/api/tracker/#rasa.core.trackers.DialogueStateTracker)

### `_async_`log_message`( _message_, _message_preprocessor=None_, _**kwargs_)  
Append a message to a dialogue - does not predict actions.

**Return type**  
[`DialogueStateTracker`](https://legacy-docs-v1.rasa.com/1.8.2/api/tracker/#rasa.core.trackers.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.
