Rasa

Rasa

  • Open Source Conversational AI

Overview
Rasa is an open-source framework for building contextual assistants and chatbots. Unlike visual flow builders (like Botpress), Rasa is "code-first" and uses machine learning to manage dialogue, allowing for more flexible, non-linear conversations.

Architecture

1. Rasa NLU
Turning text into structure.
- Intent Classification: "I want pizza" -> `intent: order_food`
- Entity Extraction: "large pepperoni" -> `size: large`, `topping: pepperoni`

2. Rasa Core (Dialogue Management)
Deciding what to do next.
Rather than `if/else` flowcharts, Rasa uses "Stories" (training data) to teach a machine learning model how to respond. It can handle interruptions and context switching naturally.

Files
- `nlu.yml`: Examples of intents.
- `stories.yml`: Example conversation flows.
- `domain.yml`: List of all intents, entities, slots, and responses.

Action Server
Rasa communicates with an external "Action Server" (usually Python) to execute custom code (API calls, DB lookups).

class ActionCheckWeather(Action):
    def run(self, dispatcher, tracker, domain):
        city = tracker.get_slot("city")
        temp = get_weather(city)
        dispatcher.utter_message(text=f"It is {temp} in {city}")
        return []

Privacy
Rasa is self-hosted (no data leaves your server), making it popular in healthcare and banking.

Take rasa further

Ask the copilot about this term, or have our engineers assess it against your process.