{"id":8581,"library":"rasa","title":"Rasa","description":"Rasa is an active open-source machine learning framework (version 3.6.21) designed to automate text and voice-based conversations. It provides tools for Natural Language Understanding (NLU) and dialogue management, enabling developers to create contextual chatbots and voice assistants that can integrate with various platforms like Slack and Facebook. The project maintains a regular release cadence with frequent updates.","status":"active","version":"3.6.21","language":"en","source_language":"en","source_url":"https://github.com/rasahq/rasa","tags":["chatbot","conversational-ai","nlu","dialogue-management","machine-learning"],"install":[{"cmd":"pip install rasa","lang":"bash","label":"Basic Installation"},{"cmd":"pip install 'rasa[full]'","lang":"bash","label":"Installation with all optional ML dependencies"}],"dependencies":[{"reason":"Rasa 3.x requires Python <3.11, >=3.8.","package":"python","optional":false},{"reason":"Required for implementing custom actions.","package":"rasa-sdk","optional":false},{"reason":"Core dependency for many NLU and dialogue models, included with `rasa[full]`.","package":"tensorflow","optional":true},{"reason":"Commonly used for language modeling in NLU pipelines, included with `rasa[full]`.","package":"spacy","optional":true}],"imports":[{"symbol":"Agent","correct":"from rasa.core.agent import Agent"},{"symbol":"Action","correct":"from rasa_sdk import Action"},{"symbol":"CollectingDispatcher","correct":"from rasa_sdk.executor import CollectingDispatcher"},{"note":"For custom tracker stores, inherit from base `TrackerStore`. Specific implementations like `MongoTrackerStore` are part of the internal API or configured via `endpoints.yml`.","wrong":"from rasa.core.tracker_store import MongoTrackerStore","symbol":"TrackerStore","correct":"from rasa.core.tracker_store import TrackerStore"},{"note":"The `rasa_nlu` package was deprecated; NLU functionalities are now integrated into the main `rasa` package.","wrong":"from rasa_nlu.model import Interpreter","symbol":"Interpreter","correct":"from rasa.nlu.model import Interpreter"}],"quickstart":{"code":"import os\n\n# Ensure you are in an empty directory for this quickstart\n# In a real project, replace 'tutorial' with your desired template or omit for default\n# os.system('rasa init --template tutorial') \n# os.system('rasa train')\n# os.system('rasa shell')\n\nprint(\"To start a new Rasa project, open your terminal and run:\")\nprint(\"1. rasa init --template tutorial\")\nprint(\"2. cd <your-project-name>\")\nprint(\"3. rasa train\")\nprint(\"4. rasa shell\")\nprint(\"For custom actions, run 'rasa run actions' in a separate terminal after step 3.\")","lang":"python","description":"The standard way to get started with Rasa is through its command-line interface. This quickstart initializes a new project, trains a basic model, and then allows interactive conversation with the bot in the shell. Custom actions require running a separate action server."},"warnings":[{"fix":"Retrain your Rasa models after upgrading to Rasa 3.6.21 or newer. If you have custom components that override `persist` or `load` methods, update your code to use the new serialization mechanisms.","message":"Rasa 3.6.21 introduced a model breaking change by replacing `pickle` and `joblib` with safer alternatives like `json`, `safetensors`, and `skops` for component serialization. Models trained with older versions will not be compatible.","severity":"breaking","affected_versions":">=3.6.21"},{"fix":"Always install Rasa in a virtual environment with a supported Python version (e.g., `python3.10 -m venv .venv && source .venv/bin/activate`). Check the official documentation for the exact compatible Python versions for your Rasa release.","message":"Rasa 3.x has specific Python version requirements. The `rasa` PyPI package currently requires Python <3.11, >=3.8. Using incompatible Python versions can lead to `ModuleNotFoundError` or other installation issues.","severity":"gotcha","affected_versions":"3.x"},{"fix":"If you need to use Rasa X, you must downgrade your Rasa Open Source installation to version 2.8.x. For Rasa 3.x and newer, consider alternative UI tools or develop custom interfaces.","message":"Rasa X, the UI for Rasa, does not support Rasa Open Source versions 3.x and above. Attempting to use `rasa x` with Rasa 3.x will result in an error.","severity":"deprecated","affected_versions":">=3.0"},{"fix":"Review and update any custom NLU components or policies to align with the new graph architecture and method signatures, especially for `process` methods that handle incoming messages.","message":"Rasa 3.0 introduced a major architecture revamp, transitioning from a sequential training pipeline to a graph architecture. This significantly changed how NLU and policy components interact and can affect custom components, particularly the `process` method signature for NLU components (now accepting `List[Message]` instead of `Message`).","severity":"breaking","affected_versions":">=3.0"}],"env_vars":null,"last_verified":"2026-04-16T00:00:00.000Z","next_check":"2026-07-15T00:00:00.000Z","problems":[{"fix":"Ensure your virtual environment is activated (`source .venv/bin/activate` on Linux/macOS, `.venv\\Scripts\\activate` on Windows). If Rasa is not installed, run `pip install rasa` within the activated environment.","cause":"Rasa is not installed in the current Python environment, or the virtual environment is not activated, or the system is using a different Python interpreter than where Rasa was installed.","error":"ModuleNotFoundError: No module named 'rasa'"},{"fix":"In a separate terminal, navigate to your Rasa project directory and run `rasa run actions`. If using Docker, ensure your `docker-compose.yml` correctly exposes and links the action server, and that the `endpoints.yml` inside the Rasa container points to the correct service name/IP within the Docker network (e.g., `action_endpoint: url: \"http://action_server:5055/webhook\"`).","cause":"The Rasa action server, which hosts custom actions, is not running or is not accessible at the configured address (default: `http://localhost:5055/webhook`). This is common in Docker setups or when running components separately.","error":"Couldn't connect to the server at 'http://localhost:5055/webhook'. Is the server running?"},{"fix":"Verify that your database server (e.g., MongoDB or Redis) is running and accessible from where Rasa is launched. Check the `endpoints.yml` file for correct `url`, `port`, `db`, `username`, and `password` settings. Ensure necessary network ports are open if connecting remotely or across Docker containers.","cause":"Rasa failed to connect to the configured external tracker store (e.g., MongoDB, Redis). This usually means the database server is not running, is inaccessible, or there are incorrect connection details/credentials in `endpoints.yml`.","error":"Error when trying to connect to 'mongod' tracker store. Using 'InMemoryTrackerStore'' instead. The causing error was: localhost:21476: [Errno 111] Connection refused"}]}