skillfed

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

rasa v3.6.21 258.7K downloads/30d#8,425 on PyPI21,297
Permissive license Apache-2.0 Active released

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 rasa

uv

uv add rasa

poetry

poetry add rasa

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries

Tags

conversational ai frameworkchatbot builderdialogue management nlpvoice assistant frameworkintent recognition chatbotmulti-channel bot platformcontextual conversation engine
conversational-ainlp-frameworkmulti-channel-bot

More Libraries packages

Further reading