rasa-demo
rasa-demo 是一个基于开源 Rasa 框架构建的示例对话机器人项目,旨在展示如何打造具备上下文理解能力的 AI 助手。它通过模拟真实场景,帮助开发者快速掌握 Rasa 的核心功能,解决了从零开始构建对话系统时面临的学习曲线陡峭、配置复杂以及缺乏参考范例等痛点。
该项目非常适合希望入门或深化 Rasa 技能的开发者使用。rasa-demo 不仅支持回答关于框架的常见问题、引导用户查阅技术文档,还能处理订阅通讯、销售咨询对接及日常闲聊等多种任务。其独特的技术亮点在于完整展示了 Rasa Stack 的标准工程结构,涵盖了自然语言理解(NLU)训练数据、多轮对话故事(Stories)、自定义动作代码(Custom Actions)以及与 MailChimp、Google Sheets 等外部服务集成的实战方案。此外,它还提供了详细的本地部署、调试及测试指南,让使用者能直观地观察机器人背后的运行逻辑。无论是用于学习对话系统设计原理,还是作为企业开发自有智能客服的起点模板,rasa-demo 都是一个极具价值的参考资源。
使用场景
某开源技术团队正面临大量开发者咨询 Rasa 框架用法、安装报错及功能特性的压力,急需一种能自动处理重复问题并引导用户获取文档资源的方案。
没有 rasa-demo 时
- 开发人员被迫花费大量时间手动回复关于“如何安装”或"NLU 配置”等基础重复问题,严重打断核心编码工作流。
- 用户提问往往缺乏上下文,传统关键词匹配机器人无法理解多轮对话意图,导致回答生硬或直接失效。
- 潜在的商业线索(如销售咨询)和订阅需求散落在聊天记录中,缺乏自动化收集机制,容易错失转化机会。
- 面对海量的官方文档,用户难以快速定位特定技术细节,导致问题解决周期被大幅拉长。
- 团队缺乏一个标准化的参考范例,新成员在构建自定义对话助手时无从下手,学习曲线陡峭。
使用 rasa-demo 后
- rasa-demo 能够精准识别并自动回答关于框架理解、入门指南及常见故障排查的问答,释放了开发人员 80% 的精力。
- 基于上下文的对话管理能力让用户可以自然地进行多轮交互,机器人能像真人一样理解指代关系并流畅回应闲聊。
- 内置的表单功能自动引导用户完成新闻订阅及销售通话请求,并将数据无缝对接至 MailChimp 和 Google Sheets,实现线索自动化沉淀。
- 通过集成 Algolia 搜索,rasa-demo 能直接将技术疑问映射到具体的官方文档章节,让用户秒获解决方案。
- 作为官方提供的完整示例项目,rasa-demo 为团队提供了清晰的代码结构和训练数据范本,极大加速了内部定制机器人的开发进程。
rasa-demo 不仅是一个智能客服原型,更是连接用户需求与官方生态的高效桥梁,将繁琐的技术支持转化为自动化的价值交付。
运行环境要求
- 未说明
未说明
训练过程需要大量内存(具体数值未说明,建议使用 --augmentation 0 减少内存占用)

快速开始
Sara - Rasa 演示机器人
:surfer: 简介
此仓库旨在展示使用开源 Rasa 框架构建的上下文感知 AI 助手。
Sara 是一个 Alpha 版本,目前集成在我们的文档中, 帮助开发者快速上手我们的开源工具。它支持以下用户目标:
- 了解 Rasa 框架
- 开始使用 Rasa
- 回答有关 Rasa 的常见问题
- 将技术问题引导至特定文档
- 订阅 Rasa 新闻通讯
- 请求与 Rasa 销售团队通话
- 处理基础闲聊
Sara 的计划增强功能可在 项目看板 中找到。
👷 安装
要安装 Sara,请克隆仓库并运行:
cd rasa-demo
make install
这将安装机器人及其所有依赖项。请注意,此机器人应与 Python 3.6 或 3.7 一起使用。
🤖 运行 Sara:
使用 rasa train 训练模型(训练过程会占用大量内存,
若希望加快训练速度,可尝试使用 --augmentation 0 参数)。
然后,在一个终端窗口中启动动作服务器:
rasa run actions --actions actions.actions
其中一些自定义动作需要连接到外部服务,
特别是 SubscribeNewsletterForm 和 SalesForm。要使这些动作正常运行,
您需要拥有自己的 MailChimp 新闻通讯和 Google 表格连接。有关提供外部服务凭据的说明,
请参阅 开发 部分。
在另一个窗口中运行机器人:
docker run -p 8000:8000 rasa/duckling
rasa shell --debug
请注意,--debug 模式会产生大量输出,用于帮助您理解机器人的内部工作原理。
若只想简单地与机器人对话,可移除此标志。
如果您希望在自己的网站上运行 Sara,请按照 此处 的说明将聊天小部件部署到您的网站上。
测试 Sara:
完成 rasa train 后,运行以下命令:
rasa test nlu -u test/test_data.json --model models
rasa test core --stories test/test_stories.md
👩💻 文件概览
data/core/ - 包含故事文件
data/nlu - 包含 NLU 训练数据
actions - 包含自定义动作代码
domain.yml - 域文件,包括机器人响应模板
config.yml - NLU 管道和策略组合的训练配置
开发
要安装开发所需的依赖项,请运行:
make install-dev
要在本地运行自定义动作,请在本地目录根目录下创建一个名为 .env 的文件,
并填写以下环境变量的值。大多数动作无需这些变量即可运行,
但如果您正在开发连接外部 API 的动作,则需要凭据。
GDRIVE_CREDENTIALS=#Google Drive API 的 JSON 访问密钥,用于 action_submit_sales_form
MAILCHIMP_LIST=#Mailchimp 列表 ID,用于 action_submit_subscribe_newsletter_form
MAILCHIMP_API_KEY=#Mailchimp 的 API 密钥
ALGOLIA_APP_ID=#Algolia 应用程序 ID,用于 action_docs_search
ALGOLIA_SEARCH_KEY=#Algolia 搜索密钥
ALGOLIA_DOCS_INDEX=#Algolia 搜索索引
RASA_X_HOST=#Rasa X 的域名,例如 localhost:5002
RASA_X_PASSWORD=#用于认证 Rasa X 的密码
RASA_X_USERNAME=#用于认证 Rasa X 的用户名
RASA_X_HOST_SCHEMA=#Rasa X 的地址模式(http/https)
要运行自定义动作的单元测试:
make test-actions
为确保测试期间数据库清理得当,
您需要在 .env 文件中包含跟踪器存储数据库的连接 URL,例如:
TRACKER_DB_URL=postgresql:///tracker
但这对于运行动作本身并非必需。
⚫️ 代码风格
为确保代码风格统一,我们使用格式化工具 black。
如果您希望在每次提交时自动格式化代码,
可以使用 pre-commit。
只需通过 pip install pre-commit 安装,并在根目录下执行 pre-commit install。
这将在仓库中添加一个钩子,每次提交时都会重新格式化文件。
若需手动格式化文件,可执行:
make formatter
:gift: 许可证
根据 GNU 通用公共许可证 v3 许可。版权所有 © 2018 Rasa Technologies GmbH。 许可证副本。 许可证持有者可根据本许可证传播该作品。本作品不提供任何担保。
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器