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

## User Guide

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

## NLU

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

## Core

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

## Conversation Design

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

## API Reference

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

## Migrate from (beta)

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

## Reference

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

## Versions

viewing: 1.2.9

## Architecture

The steps are:

1. The message is received and passed to an `Interpreter`, which converts it into a dictionary including the original text, the intent, and any entities that were found. This part is handled by NLU.
2. The `Tracker` is the object which keeps track of conversation state. It receives the info that a new message has come in.
3. The policy receives the current state of the tracker.
4. The policy chooses which action to take next.
5. The chosen action is logged by the tracker.
6. A response is sent to the user.

Note: Messages can be text typed by a human, or structured input like a button press.
