# 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)`
- `async execute_action(sender_id, action, output_channel, policy, confidence)`
- `handle_channels(channels, http_port=5005, route='/webhooks/', cors=None)`
- `async handle_message(message, message_preprocessor=None, **kwargs)`
- `async handle_text(text_message, message_preprocessor=None, output_channel=None, sender_id='default')`
- `is_core_ready()`
- `is_ready()`
- `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)`
- `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)`
- `async log_message(message, message_preprocessor=None, **kwargs)`
- `async parse_message_using_nlu_interpreter(message_data, tracker=None)`
- `persist(model_path)`
- `async predict_next(sender_id, **kwargs) `
- `toggle_memoization(activate)`
- `train(training_trackers, **kwargs)`
- `async trigger_intent(intent_name, entities, output_channel, tracker)`
