Rasa interactive运行时模型未按故事配置预测正确action问题问询
Rasa故事匹配失败触发fallback排查方案
- 核对domain配置
- 确认
person槽位的influence_conversation属性设置为true:如果该属性为false,Rasa对话管理策略不会将槽位值纳入对话状态计算,故事中slot_was_set的匹配条件会失效 - 确认意图
call、实体person、自定义动作action_call都已在domain.yml中完成注册,没有拼写错误
- 确认
- 核对故事&规则配置
- 检查所有故事、规则文件是否存在冲突配置:如果存在相同对话前缀(intent=call + person=son)但后续动作不同的故事/规则,会导致策略匹配混乱,规则优先级高于故事,优先排查规则是否有冲突项
- 确认当前故事没有缩进错误,YAML格式校验通过,
steps下的节点层级完全符合Rasa故事语法要求
- 核对核心策略配置(config.yml)
- 确认配置中已添加
MemoizationPolicy:该策略用于1:1匹配已训练的故事,未开启时仅靠TED生成式预测,无法保证完全匹配标注的故事流程 - 检查
MemoizationPolicy的max_history参数不小于3:你的故事共包含3个步骤,max_history设置过小将无法覆盖完整的对话状态前缀,导致匹配失败 - 检查Fallback策略的阈值配置:如果
core_threshold设置高于0.3,核心模型预测置信度不足时就会触发action_default_fallback,可以根据效果适当调低阈值,或优化训练数据提升预测置信度
- 确认配置中已添加
- 运行时校验
- 修改配置/故事后必须执行
rasa train重新训练模型,再启动rasa interactive,避免用旧模型测试新配置 - 启动交互模式时添加
--debug参数,查看日志中当前对话的完整状态,确认intent识别结果、slot取值和故事标注的条件完全一致,没有多余的实体、槽位填充错误的问题 - 查看debug日志中各策略的预测打分,确认
MemoizationPolicy是否命中目标故事,未命中时可以根据日志提示的状态不匹配项调整配置
- 修改配置/故事后必须执行
内容的提问来源于stack exchange,提问作者Ankush
相关产品推荐
相关产品推荐

