如何跟踪 RASA 聊天机器人中每一步所花费的时间

How to track time taken on each step in RASA chatbot

我是 RASA 的新手。我们的机器人在对话的每一步都使用了很多自定义操作。我的项目中有一个新要求,即跟踪用户在每个步骤上花费的时间并将其记录到单独的数据存储中。

我尝试使用一个简单的 class 来跟踪步骤(当前和之前的步骤)并计算每次交互的步骤之间的时间。

不确定如何扩展此解决方案以跟踪多个会话所花费的时间(或者这首先是否是正确的方法)。 不太确定 classes 的生命周期 非常感谢任何 insights/pointers 如何为每个人 user/dialog.

实现这一目标

最简单的解决方案可能是将所有这些信息存储在跟踪器中。例如。您可以创建一个名为 step_times 的非特征化插槽,并在其中存储一个包含每个步骤的时间的字典。

然后您可以将会话配置为不擦除这些插槽 https://rasa.com/docs/rasa/core/domains/#session-configuration(或创建自定义 action_session_start