rasa
开源对话式AI框架,提供NLU理解+对话管理+动作执行完整技术栈,支持本地化部署
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源对话式AI框架,提供NLU理解+对话管理+动作执行完整技术栈,支持本地化部署
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你对智能音箱说"把客厅的灯调暗一点,顺便放点轻音乐",音箱不仅听懂了你的两个意图(调灯+播放音乐),还能根据你的语气判断你现在心情不错,主动推荐了一首你没听过的歌——这不是未来,而是 Rasa 正在做的事情。
Rasa 是一个开源的对话式 AI 框架,专门解决"让机器理解人类自然语言"这个问题。无论是客服机器人、智能助手,还是语音交互产品,Rasa 提供了从理解到对话管理的完整技术栈。它不是简单的问答匹配,而是真正让机器能够理解上下文、记住对话历史、处理多轮复杂对话。
注意: Rasa Open Source 当前处于维护模式(Maintenance Mode)。Rasa 团队已转向新产品 Hello Rasa 和 CALM 引擎,专注于用 LLM 构建更可靠的 AI Agent。原 Rasa Open Source 代码库不再新增功能,但现有用户可继续使用并获得安全补丁。
Rasa 的故事始于 2017 年,由德国柏林的研究团队创立,创始成员包括 Tom Bocklisch 和 Alan Nichol。他们的核心愿景是:让开发者能够完全掌控对话 AI 的训练数据、模型和行为,而不是被商业 API 绑架。
与传统商业对话平台(如 Dialogflow、LUIS)相比,Rasa 从一开始就押注两个差异化路线:数据隐私(所有处理都在本地完成)和模型可定制性(开发者可以自己训练 NLU 模型,而非使用黑盒 API)。2019 年 Rasa 获得 1300 万美元 A 轮融资后,开始向企业级市场扩展,推出了 Rasa Enterprise。
经过多年迭代,Rasa 在 GitHub 上积累了超过 21000 颗星、4900 多个 Fork,是对话式 AI 领域最受欢迎的开源框架之一,全球开发者社区超过数万人。
如果把对话机器人比作一个人,那么 Rasa 的架构恰好对应了人类的感知、思考和行动三个层次:
NLU(Natural Language Understanding)是 Rasa 的核心引擎,负责把用户的自然语言转化为机器可操作的结构化数据。
核心能力包括:
book_flight 意图。NLU 解决了"用户说了什么",Core 层解决的是"机器人应该怎么回应"。这是 Rasa 最引以为傲的部分——基于机器学习的对话管理。
核心机制:
Stories(故事训练):开发者用自然语言故事描述对话流程,例如:
## 问候故事
* greet
- utter_greet
* goodbye
- utter_goodbye
Policies(策略):Rasa 支持多种对话策略,默认的 TED Policy 使用 Transformer 网络预测下一步动作。还可以配置 MemoizationPolicy(记忆匹配)、RulePolicy(规则优先)等。
Forms:处理结构化信息收集(如填表式对话),支持动态验证和条件跳转。
对话决定做出后,Action 层负责执行具体动作:
图1:Rasa 整体架构 — 用户消息经 NLU 解析后,由 Dialogue Policy 决定动作,再由 Action Server 执行响应,形成完整对话闭环。
Rasa 倡导一种开发范式:对话驱动开发(CDD)。核心思想是:让真实用户对话驱动模型迭代,而不是一开始就设计完美的对话流程。
典型流程:
这种模式让 Rasa 在实际部署后能持续优化,而非一次性交付。
2023 年后,Rasa 团队推出的 CALM(Conversational AI with Language Models)是革命性的新方向。传统 Rasa 依赖大量手工标注的训练数据,而 CALM 将 LLM 的理解能力与业务规则结合:
这意味着从零构建一个对话机器人的周期从数周缩短到数小时。
Rasa 通过 rasa add 命令支持一键集成主流平台:
Rasa 提供完整的 ML 工具链:
rasa train:自动训练 NLU + Core 模型,支持增量训练rasa test:端到端测试对话流程,输出混淆矩阵和召回率rasa evaluate:评估 NLU 模型在测试集上的意图识别和实体抽取效果rasa interactive:交互式训练工具,逐轮修正模型输出Rasa 提供了完整的多阶段 Dockerfile 和 docker-compose.yml,生产部署极为方便:
# docker-compose.yml 核心结构
services:
rasa:
image: rasa/rasa:latest-full
ports:
- "5005:5005" # REST API 端口
command: run
action_server:
image: rasa/rasa-sdk:latest
ports:
- "5055:5055" # 自定义动作端口
duckling:
image: rasa/duckling:latest
ports:
- "8000:8000" # 实体抽取服务
三个服务一键启动:Rasa 核心引擎、动作执行服务器、实体识别服务。适合中小规模生产部署。
对于大规模企业部署,Rasa 提供了 GCP Cloud Build 配置(cloudbuild.yaml),支持 GKE(Google Kubernetes Engine)上的 Helm Chart 部署。
pip install rasa
rasa init # 交互式初始化项目
rasa train # 训练模型
rasa shell # 本地对话测试
硬件要求:无需 GPU,主要依赖 CPU 和内存。建议至少 4GB RAM,磁盘占用约 2GB。
相比 Dialogflow、Botpress 等低代码平台,Rasa 要求开发者理解机器学习概念(意图、实体、Policy、Tracker)。一个新手从安装到跑通第一个对话机器人,平均需要 2-3 天。
传统 Rasa 的 NLU 模型依赖大量手工标注数据。一个实用的意图分类器通常需要 50-100 条/意图的训练样本,实体标注更是耗时。CALM 的出现部分缓解了这个问题。
Rasa Open Source 已进入维护模式,意味着:
对于新项目,建议直接使用 Hello Rasa(基于 CALM 的 SaaS 平台),而非继续投入 Rasa Open Source。
| 框架 | 优点 | 缺点 |
|---|---|---|
| Rasa | 完全自托管、数据隐私、可深度定制 | 学习曲线陡、数据标注成本高 |
| Dialogflow | 低代码、易上手、Google 生态 | 数据在云端、定制有限 |
| Botpress | 开源、拖拽界面、插件丰富 | 企业功能付费、文档质量一般 |
| Hayassis | LLM-native、零样本 | 依赖商业 LLM API |
Rasa 对对话式 AI 领域的贡献远超一个技术框架本身:
推动了对等式对话 AI 的发展:在 Rasa 之前,大多数对话系统依赖规则引擎或商业黑盒 API。Rasa 证明了开源社区能够构建生产级别的对话管理框架,推动了整个行业走向开放。
开创了对话驱动开发的范式:CDD 思想深刻影响了后续的 RAG 架构设计、多轮对话评估方法,成为对话式 AI 工程化的重要方法论。
培育了庞大的开发者生态:数万名贡献者、数千个社区项目、完整的文档体系,Rasa 建立了一个可持续的开源对话 AI 生态。
向 LLM-native 转型:CALM 和 Hello Rasa 代表了 Rasa 团队对 AI Agent 未来的判断——不是放弃对话管理,而是让 LLM 处理语言理解,让代码处理业务逻辑。这是当前 AI Agent 架构的主流方向之一。
对于正在构建智能客服、语音助手或对话式 AI 产品的团队,Rasa 的设计理念和技术积累仍然具有重要参考价值。对于新项目,Hello Rasa + CALM 提供了更现代的起点。
本报告基于 Rasa GitHub 仓库(21,176★,Apache-2.0 许可)分析生成。数据截至 2026 年 5 月。