Rasa Framework

repository·3.6.x·Indexed 12 days ago

https://github.com/rasahq/rasa

An open source machine learning framework for building conversational AI agents, including text and voice-based assistants. It features Rasa NLU for natural language understanding and a dialogue management system. The project is transitioning toward 'Hello Rasa', a CALM-based (Conversational AI with Language Models) engine that leverages LLMs for understanding and flows for business logic. Version 3.6.21.

Tokens
202K
Snippets
620
Records
856
Agent score
97%

What's inside Rasa

  1. Overview of the Response Selector Bot example

    3.6.x

    The Response Selector Bot is an extension of the moodbot example. It demonstrates how to use retrieval actions with Response Selector to improve the handling of single-turn interactions.

    The example includes the following core files:

    • data/nlu.yml: NLU training examples.
    • data/stories.yml: Core model training stories.
    • data/rules.yml: Rule-based behaviors.
    • data/responses.yml: Response templates for retrieval intents.
    • config.yml: Model configuration.
    • domain.yml: The assistant's domain.
    • credentials.yml: Channel credentials.
  2. Overview of Rasa Open Source (Legacy)

    3.6.x

    Rasa Open Source is a machine learning framework for automating text and voice-based conversations. It is designed to build contextual assistants capable of handling layered, multi-turn conversations.

    Supported Channels

    You can deploy Rasa assistants on various platforms, including:

    • Facebook Messenger
    • Slack
    • Google Hangouts
    • Webex Teams
    • Microsoft Bot Framework
    • Rocket.Chat
    • Mattermost
    • Telegram
    • Twilio
    • Custom conversational channels

    Note: Rasa Open Source is currently in maintenance mode. For the latest CALM-based experience, use Hello Rasa.

  3. Overview of Rasa Pro features

    3.6.x
    Rasa Pro is the commercial, pro-code offering of Rasa designed for enterprise requirements regarding security, observability, and scale. It integrates with enterprise technology stacks and provides advanced features for high-traffic, production-grade conversational AI deployments.
  4. Overview of Rasa messaging and voice channels

    3.6.x

    Rasa provides built-in connectors to integrate your assistant with various messaging and voice platforms. You can use these pre-configured connectors or build your own custom connector for unique requirements.

    Supported Channels include:

    • Your Own Website
    • Facebook Messenger
    • Slack
    • Telegram
    • Twilio
    • Microsoft Bot Framework
    • Cisco Webex Teams
    • RocketChat
    • Mattermost
    • Google Hangouts Chat
    • Custom Connectors
  5. Types of actions in Rasa

    3.6.x

    In Rasa, after a user message is processed, the model predicts an action for the assistant to perform. There are five primary types of actions you can use to build your assistant's behavior:

    1. Responses: Used to send messages (text, images, buttons, etc.) back to the user.
    2. Custom Actions: Used to execute arbitrary code, such as making API calls or querying databases.
    3. Forms: A specialized type of custom action designed to collect a specific set of information from the user to fulfill business logic.
    4. Default Actions: Built-in actions provided by the dialogue manager that are automatically predicted in certain conversation situations.
    5. Slot Validation Actions: Specialized custom actions used to perform custom extraction or validation of slot values (e.g., checking values against predefined mappings).
  6. Understand the Formbot example structure

    3.6.x

    The formbot example demonstrates how to implement and use a FormAction to build a restaurant search assistant. It includes all the necessary components for a functional Rasa assistant:

    • data/nlu.yml: Training examples for the NLU model.
    • data/stories.yml: Training stories for the Rasa Core model.
    • actions/actions.py: The Python implementation of the custom FormAction.
    • config.yml: Configuration for the Rasa model.
    • domain.yml: The assistant's domain definition.
    • endpoints.yml: Webhook configuration required to connect the assistant to custom actions.
  7. Understand the Rasa Analytics data structure

    3.6.x

    The Analytics pipeline generates a structured database schema designed for building analytics dashboards. This data structure is treated as a public API and follows the Rasa Product Release and Maintenance Policy.

    Important Note: Only the public tables should be used for dashboards. All Internal Tables are considered private and are subject to change without notice.

  8. Concertbot project structure

    3.6.x

    The Concertbot example is a minimal implementation containing only story data. Its key components include:

    • data/stories.md: Training stories for the Core model.
    • actions/actions.py: Custom action implementations.
    • config.yml: Model configuration settings.
    • domain.yml: The assistant's domain (intents, entities, slots, etc.).
    • endpoints.yml: Webhook configuration for connecting to custom actions.
  9. Introduction to Hello Rasa and CALM

    3.6.x

    Overview

    Hello Rasa is an interactive playground for prototyping AI agents using the CALM (Conversational AI with Language Models) engine. Unlike legacy Rasa Open Source which relies on NLU training and intents, Hello Rasa uses LLMs for dialogue understanding while enforcing business logic through code.

    Core Concepts

    • CALM: A hybrid approach that combines LLM flexibility with strict business logic. The LLM handles user understanding, while your code enforces the rules.
    • Flows: Instead of rigid dialogue trees, you describe logical steps (e.g., collect money, transfer funds).
    • Inspector: A tool to view real-time decision-making processes to avoid "black box" behavior.

    Key Benefits

    • No setup required: Build in the browser using templates like Banking, Telecom, or Support.
    • No NLU training: Moves beyond intent-based modeling.
    • Built-in copilot: An AI assistant to help generate code, debug flows, and expand agents.
    • Production ready: Agents can be exported to the Rasa Platform for scaling.
  10. What is an Event Broker in Rasa

    3.6.x

    An event broker allows you to connect your running Rasa assistant to other services that process conversation data. It works by publishing Rasa Events from the Rasa server to a message streaming service (the broker).

    Every time a tracker updates its state, all events are streamed to the broker as serialized dictionaries.

    Example Event Format:

    {
        "sender_id": "default",
        "timestamp": 1528402837.617099,
        "event": "bot",
        "text": "what your bot said",
        "data": "some data about e.g. attachments",
        "metadata": {
              "a key": "a value"
         }
    }

    Note: The event field contains the event's type_name.