rasa
Open source machine learning framework to automate text- and voice-based conversations: NLU, dialogue management, connect to Slack, Facebook, and more - Create chatbots and voice assistants
What it is and what it does
Rasa is a machine learning framework for building conversational agents that understand natural language and manage multi-turn dialogue. It provides NLU (intent and entity recognition), dialogue policy learning, and connectors to major messaging platforms (Slack, Facebook, Telegram, Mattermost, Rocket.Chat, Webex Teams, Microsoft Bot Framework) and voice assistants (Alexa, Google Home). The framework handles contextual conversations where the assistant builds on previous exchanges.
The package brings together 81 dependencies spanning machine learning (numpy, dask, matplotlib), async messaging (aiohttp, aio-pika, aiogram), cloud integration (boto3, google-auth), and scheduling (apscheduler). It is actively maintained and marked Production/Stable. Installation is low-friction for standard use, though some optional features may require additional system dependencies.
Use it for:
- Build a customer support chatbot that remembers context across multiple turns and routes to human agents.
- Deploy a voice assistant skill for Alexa or Google Home that understands user intent and manages stateful conversations.
- Create a Slack or Mattermost bot that integrates with internal systems and learns conversation patterns.
- Prototype and train a dialogue system with custom NLU models and conversation policies before deploying to production.
- Connect a conversational interface to multiple messaging channels from a single codebase.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Rasa is an open-source machine learning framework for building text and voice-based conversational assistants that integrate with messaging platforms like Slack, Facebook Messenger, Telegram, and voice platforms like Alexa and Google Home.
Yes. Rasa is a mature, actively maintained framework (last commit 2026-07-24, 21297 GitHub stars) with Apache-2.0 licensing, no known security vulnerabilities, and low install friction. It is well-suited for teams building multi-channel conversational agents. The large dependency footprint and Python version cap are minor trade-offs for a production-grade ML framework.
Install
rasa on PyPI
pip
pip install rasauv
uv add rasapoetry
poetry add rasaInstalling rasa
Before you install
Low install friction with a pure Python wheel distribution. The package has 81 runtime dependencies covering ML, messaging, and async infrastructure; installation is straightforward, though optional dependencies may be needed for full functionality on some systems.
License in practice
Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions—suitable for proprietary applications and internal deployment.
Quickstart
pip install rasa
import rasa
from rasa.nlu.model import Interpreter
# Load a trained NLU model to parse user intent
interpreter = Interpreter.load('path/to/model')
result = interpreter.parse('hello')
Requires Python >=3.8,<3.11. Full functionality may require optional dependencies like tokenizers, which on macOS may need a Rust compiler.
Verify before relying
- Whether the 81 runtime dependencies are all required at install time or if many are optional/conditional
- Current state of the Jira migration for issue tracking and community support responsiveness
- Performance characteristics and scalability limits for production dialogue systems
- Whether pre-trained models or training datasets are included or must be sourced separately
Package facts
| License | Apache-2.0 (permissive) |
| Python support | capped below the current Python release (<3.11,>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 81 — CacheControl, PyJWT, SQLAlchemy, absl-py, aio-pika, aiogram, aiohttp, apscheduler, attrs, boto3, certifi, colorama, colorclass, coloredlogs, colorhash, confluent-kafka, cryptography, dask, dnspython, fbmessenger, google-auth, jsonpickle, jsonschema, matplotlib, mattermostwrapper, networkx, numpy, packaging, pluggy, portalocker |
| Maintenance | actively maintained — 577 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 258,673/month — #8,425 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: rasa-3.6.21-py3-none-any.whl
Keywords: nlp, machine-learning, machine-learning-library, bot, bots, botkit, rasa conversational-agents, conversational-ai, chatbot, chatbot-framework, bot-framework
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
rasa-sdkRasa SDK provides a Python framework for…
permissive · top 15,000 on PyPI
pipecat-aiPipecat is a Python framework for building…
permissive · top 5,000 on PyPI
home-assistant-intentsProvides intent recognition data and utilities…
permissive · top 15,000 on PyPI
rocketchat-APIPython wrapper for the Rocket.Chat REST API,…
permissive · top 15,000 on PyPI
google-cloud-dialogflow-cxPython client library for Google Cloud…
permissive · top 5,000 on PyPI
livekit-plugins-googleIntegrates Google Cloud AI services (Gemini,…
permissive · top 5,000 on PyPI
chainlitChainlit provides a web UI framework for…
permissive · top 15,000 on PyPI
livekit-plugins-sarvamIntegrates Sarvam.ai's Indian-language voice AI…
permissive · top 15,000 on PyPI
speechmatics-voicePython SDK for building real-time voice…
permissive · top 15,000 on PyPI
deepgram-sdkOfficial Python SDK for Deepgram's speech…
permissive · top 5,000 on PyPI