排查一例 rasa 返回空消息的 bug

更新日期: 2024-02-17 阅读次数: 201 字数: 413 分类: AI

bug 现象

修改了一处不相干的 story/rule A,引起了另一个 B 流程返回空消息。

这不是一个典型的问题,也没有最终定位到 story 的问题,但是通过将 story 改写为 rule 解决。 这里只记录一下排查,及 debug 的思路。

思路

  • 首先排除掉 intent 识别的问题。因为请求时直接使用的 /intent 的方式,不存在意图识别问题
  • 首要目标:快速复现问题
  • 大概率就是前面流程的 story / rule 写的有问题

TODO

  • done: 整理思路
  • done: new branch
  • done: model backup & 使用有问题的 model
  • done: 修改 actions.py 代码,屏蔽三方 API 的代码,以实现快速复现问题。
  • done: test script
  • done: story 尽量修改为 rule
  • done: 将返回空的 intent 对应的 story 改成 rule,重现训练,然后跑测试脚本。确实没问题了。。。
  • 回滚掉之前的一次修改,重新训练是否能解决
  • done:reset 两处 actions.py 的修改。搜素 TODO: del

不是意图识别的问题

因为这个并不涉及意图的识别,是直接用的斜杠加意图的方式。

如果是意图无法识别,应该是这样的错误提示。

/intent_xxxxxxx

UserWarning: Failed to parse arguments in line '/intent_xxxxxxx'. Expected the intent to be one of [['intent_a', 'intent_b'

整理日志

将 rasa api 的日志,及 action 的日志都收集出来。

整理出复现的流程。

复现后的现象更新

只有 /intent_a 会导致空回复。 其他的例如 hi 等其他的 intent 还是能正常的返回消息。

tags: rasa

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式