Technologies

Rasa

What Is Rasa?

Rasa is an open-source framework for building conversational AI applications, including text-based chatbots and voice assistants. Developed in Python, it provides the tools needed to handle both natural language understanding (NLU) — interpreting what a user means — and dialogue management — deciding how the system should respond. Unlike hosted chatbot services, Rasa runs entirely on the developer's own infrastructure, giving teams full control over their data and model behavior.

Within the broader NLP and chatbot ecosystem, Rasa occupies a distinct position as a framework rather than a platform-as-a-service. Developers train machine learning models on their own labeled data, define conversation flows using a domain-specific configuration format, and deploy the resulting assistant wherever their application runs. This architecture makes Rasa a common choice for organizations that need custom, domain-specific assistants and cannot or do not want to rely on third-party cloud services for language processing.

History

Rasa was founded in 2016 by Alan Nichol and Alex Wiklund, researchers who had been working on conversational AI at the intersection of natural language processing and machine learning. The project began as an open-source library designed to give developers a way to build contextual, data-driven chatbots without relying on cloud-based NLU services from large vendors. Early versions of Rasa NLU and Rasa Core were released separately — NLU handled intent classification and entity extraction, while Core managed dialogue flow using machine learning policies rather than hard-coded decision trees.

Over time, the two components were merged into a single framework called Rasa Open Source, which became one of the most widely adopted frameworks for building text- and voice-based assistants. The company behind it, Rasa Technologies, raised venture funding and introduced a commercial product layer — Rasa Enterprise (later rebranded as Rasa Pro) — aimed at organizations needing enhanced security, scalability, and support. The core open-source framework remained freely available under the Apache 2.0 license, maintaining a large community of contributors and users across the industry.

Image

How It Works

Rasa's architecture divides the work of understanding and responding into two distinct layers. Rasa NLU handles the linguistic side: it classifies the user's intent and extracts named entities from raw text. Rasa Core (also called the Dialogue Manager) takes that structured output and decides what the assistant should do next, based on learned conversation patterns. These two components operate in sequence, allowing teams to develop, test, and improve each layer independently.

NLU Pipeline, Dialogue Policies, and Training Data

Rasa's Natural Language Understanding (NLU) pipeline is a configurable sequence of components that transforms raw user text into structured intent and entity data. Each component in the pipeline performs a discrete step: tokenizers split input into tokens, featurizers generate numerical representations, and classifiers assign intents or extract entities. Common featurizers include the CountVectorsFeaturizer and LanguageModelFeaturizer, the latter of which uses pre-trained transformer models such as BERT to produce contextual embeddings. The final output of the NLU pipeline is a structured message object that the dialogue management layer consumes at inference time.

Dialogue management in Rasa is handled through a combination of stories, rules, and trained policies. Stories are example conversation paths written in YAML that illustrate how the assistant should respond across multiple turns, allowing the TEDPolicy (Transformer Embedding Dialogue Policy) to learn flexible, context-aware behaviour. Rules, by contrast, define deterministic mappings—such as always responding to a greeting with a specific action—and are handled by the RulePolicy. At inference time, all active policies produce action predictions with associated confidence scores, and Rasa selects the action from the policy that returns the highest confidence, allowing simpler rule-based logic to coexist alongside learned dialogue behaviour in the same model.

Advantages & Disadvantages

One of Rasa's most significant advantages is that it is fully open-source, which means teams can inspect, modify, and extend every part of the framework without paying licensing fees. This also enables on-premise deployment, keeping all conversation data within an organisation's own infrastructure — a critical consideration for industries such as healthcare, finance, and government where data residency and privacy regulations are strict.

Rasa's customisable NLU pipeline is another core strength. Developers can swap out individual pipeline components — tokenisers, featurisers, intent classifiers, and entity extractors — to match the specific language, domain, or performance requirements of a project. The framework also benefits from an active open-source community and regular releases, which means bug fixes, new features, and third-party integrations are contributed and maintained by a broad base of contributors beyond the core team alone.

On the disadvantage side, Rasa carries a steep learning curve. Setting up even a basic assistant requires familiarity with YAML configuration files, training data formats, pipeline architecture, and the distinctions between NLU and dialogue management. Teams without prior experience in conversational AI or machine learning will typically need a meaningful ramp-up period before reaching productivity.

Running Rasa in production also introduces infrastructure overhead that managed cloud-based chatbot services do not. The team is responsible for provisioning servers, managing model training runs, monitoring performance, and handling updates — tasks that are largely abstracted away on hosted platforms. This means Rasa is generally a better fit for organisations that already have ML engineering expertise in-house, or are prepared to invest in building it; smaller teams with limited DevOps or data science capacity may find the operational burden outweighs the flexibility gains.

Rasa vs. Alternatives

Comparison of Rasa and major conversational AI platforms across hosting model, degree of customisation, and pricing structure.

HostingCustomisationPricing
Rasa Open SourceSelf-hosted (on-premise or cloud)Fully customisable — open source codebaseFree (Apache 2.0 licence)
Rasa ProSelf-hosted or private cloudFull customisation plus enterprise featuresCommercial licence — contact for pricing
Dialogflow (Google)Google Cloud onlyLimited — constrained to Google's API surfaceFree tier; pay-per-request above limits
Microsoft Bot FrameworkAzure-hosted or self-hostedHigh — extensible via SDK and custom adaptersFree SDK; Azure infrastructure costs apply
Amazon LexAWS onlyModerate — tied to AWS ecosystemPay-per-request model
IBM Watson AssistantIBM Cloud or on-premise (enterprise)Moderate — configurable within IBM's toolingFree lite plan; paid tiers by usage

Common Use Cases

Rasa is most widely deployed in customer-facing support automation, where organizations use it to handle high volumes of repetitive inquiries without human intervention. E-commerce companies, telecommunications providers, and financial institutions commonly build Rasa-powered bots that resolve account questions, process returns, or guide users through troubleshooting steps entirely within a chat interface. Because Rasa runs on-premises or in a private cloud, it is a natural fit for regulated industries such as banking and insurance, where routing customer data through third-party APIs introduces compliance risk.

Beyond external support, Rasa sees significant adoption in internal enterprise automation, including IT helpdesk bots that handle password resets, software provisioning requests, and incident triage without requiring a human agent. In healthcare settings, Rasa has been used to build symptom-checking and triage assistants that collect patient information before a consultation, reducing administrative load on clinical staff. These internal deployments benefit particularly from Rasa's custom action framework, which allows the assistant to integrate directly with existing systems such as ticketing platforms, electronic health records, or enterprise resource planning tools.

Image

Development Workflow

A Rasa project moves through a defined sequence of stages. Training data is annotated with intents and entities, then fed into the model training pipeline. Interactive learning allows developers to correct misclassifications in real time, refining the model iteratively before it reaches production. Once deployed, the model can be updated by repeating the same cycle—making continuous improvement a built-in part of the workflow rather than an afterthought.

Conclusion

Rasa stands out in the conversational AI landscape as a fully open-source framework that gives development teams direct ownership over every component of a dialogue system, from intent classification and entity extraction to dialogue management and custom integrations. Because models are trained and deployed on infrastructure the team controls, sensitive user data never leaves a private environment — a meaningful advantage for organizations in regulated industries or those with strict data governance requirements. Its modular architecture means teams can swap in different NLU backends or pipeline components as needs evolve, rather than being locked into a single vendor's approach.

The framework demands more engineering investment than cloud-hosted chatbot services: pipeline configuration, infrastructure management, and ongoing model retraining all fall to the implementing team. That tradeoff is the defining characteristic of the Rasa model — greater control and transparency in exchange for greater operational responsibility. For teams that need a production-grade, customizable conversational AI stack without ceding control of their data or architecture decisions, Rasa remains one of the most mature and widely adopted open-source options available.

Like what you see?

Get in touch and we will be happy to discuss your project.