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

# User Guide

- [Installation](https://legacy-docs-v1.rasa.com/1.10.17/user-guide/installation/)
- [Tutorial: Rasa Basics](https://legacy-docs-v1.rasa.com/1.10.17/user-guide/rasa-tutorial/)
- [Tutorial: Building Assistants](https://legacy-docs-v1.rasa.com/1.10.17/user-guide/building-assistants/)
- [Command Line Interface](https://legacy-docs-v1.rasa.com/1.10.17/user-guide/command-line-interface/)
- [Architecture](https://legacy-docs-v1.rasa.com/1.10.17/user-guide/architecture/)
- [Messaging and Voice Channels](https://legacy-docs-v1.rasa.com/1.10.17/user-guide/messaging-and-voice-channels/)
- [Testing Your Assistant](https://legacy-docs-v1.rasa.com/1.10.17/user-guide/testing-your-assistant/)
- [Setting up CI/CD](https://legacy-docs-v1.rasa.com/1.10.17/user-guide/setting-up-ci-cd/)
- [Validate Data](https://legacy-docs-v1.rasa.com/1.10.17/user-guide/validate-files/)
- [Configuring the HTTP API](https://legacy-docs-v1.rasa.com/1.10.17/user-guide/configuring-http-api/)
- [Deploying Your Rasa Assistant](https://legacy-docs-v1.rasa.com/1.10.17/user-guide/how-to-deploy/)
- [Cloud Storage](https://legacy-docs-v1.rasa.com/1.10.17/user-guide/cloud-storage/)

# NLU

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

# Core

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

# Conversation Design

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

# API Reference

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

# Migrate from (beta)

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

# Reference

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

# Versions

viewing: 1.10.17

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

### `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.10.17/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.  
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 the 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.10.17/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]`

### `_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.10.17/api/tracker/#rasa.core.trackers.DialogueStateTracker)

### `_async_ parse_message_using_nlu_interpreter(message_data, tracker=None)`  
Handles message text and intent payload input messages.

Returns the parsed message.  
Example  
```json
{ 
  "text": "/greet{\"name\":\"Rasa\"}", 
  "intent": {"name": "greet", "confidence": 1.0}, 
  "intent_ranking": [{"name": "greet", "confidence": 1.0}], 
  "entities": [{"entity": "name", "start": 6, "end": 21, "value": "Rasa"}]
}
```  
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.

### `train(training_trackers, **kwargs)`  
Train the policies / policy ensemble using dialogue data from file.

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