# Agent

_class_`rasa.core.agent.``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_)

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.

`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.9.1/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.

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

_async_`parse_message_using_nlu_interpreter`( _message_data_, _tracker=None_)

Handles message text and intent payload input messages.

The return value of this function is parsed_data.
