Rasa is a tool to build custom AI chatbots using Python and natural language understanding (NLU). Rasa provides a framework for developing AI chatbots that uses natural language understanding (NLU). It also allows the user to train the model and add custom actions.
Rasa uses YAML as a unified and extendable way to manage all training data, including NLU data, stories and rules.
Terminology
Intent
In a given user message, the thing that a user is trying to convey or accomplish (e,g., greeting, specifying a location).
Entities
Keywords that can be extracted from a user message. For example: a telephone number, a person's name, a location, the name of a product.
Action
A single step that a bot takes in a conversation (e.g. calling an API or sending a response back to the user).
Annotation
Adding labels to messages and conversations so that they can be used to train a model.
Training Data folder High-Level Structure#
Each file can contain one or more keys with corresponding training data. One file can contain multiple keys, but each key can only appear once in a single file. The available keys are: