You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Rasa开发可主动打断会话的聊天机器人相关问题咨询

问题1:页面空白原因排查

  • 未指定credentials配置启动:执行rasa run时需要加上--credentials credentials.yml参数,否则socketio通道不会正常加载,webchat无法连接后端服务
  • 版本兼容性问题:rasa-webchat 1.0.0和部分高版本Rasa(3.x以上)存在兼容问题,可以尝试降级webchat到0.11.x版本,或者升级到适配你Rasa版本的webchat版本
  • 本地file协议跨域限制:直接双击打开index.html用的是file协议,部分浏览器会限制跨域请求,可以把html放在本地静态服务(比如nginx、python -m http.server)下通过http://localhost:端口访问
  • 服务连接失败:检查5005端口是否被占用,启动日志里有没有socketio相关的报错,打开浏览器控制台看有没有js加载失败、连接socket被拒绝的报错
  • initPayload对应的意图不存在:检查你的nlu训练数据和规则里有没有/greet对应的意图定义,缺失的话会导致webchat初始化失败

问题2:主动发消息实现与测试方法

你的认知是对的,主动发消息需要调用Rasa开放的API实现,步骤如下:

  1. 启动Rasa服务时必须加上--enable-api参数,你已经加了这部分没问题
  2. 主动发消息调用的接口是POST /conversations/{用户sender_id}/messages,请求体示例:
{
  "text": "现在已经开始下雨了",
  "sender": "bot"
}
  1. 测试方法:rasa shell本身是交互式命令行,不支持直接测试主动推送,可以用curl命令测试,示例:
curl -XPOST http://localhost:5005/conversations/test_user/messages -d '{"text":"现在已经开始下雨了","sender":"bot"}' -H "Content-Type: application/json"

调用成功后,对应用户的会话窗口就会收到这条主动推送的消息,后续用户发消息也可以正常承接对话流程。

问题3:多类型触发消息支持

完全可以实现,你只需要额外开发一个独立的触发服务即可:

  • 你可以根据业务需求写对应的监听逻辑,比如对接天气API定时查询天气状态,当检测到下雨、雪停等符合触发条件的事件时,就调用上面说的Rasa主动发消息接口,把对应的提示内容推给指定的用户
  • 推送的内容可以完全自定义,也可以携带自定义参数,结合Rasa的自定义动作实现更复杂的后续交互逻辑

内容的提问来源于stack exchange,提问作者Hellip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 04:36:08