首页 > 解决方案 > 如何在 rasa 构建的 Messenger 机器人中保存用户偏好

问题描述

我已经使用 rasa nlu 为 facebook messenger 构建了一个机器人。最初我给用户一个语言选择选项。我想在第一次保存用户偏好之后,我不想再次要求用户设置他们的语言偏好,我该怎么做?

标签: facebook-messenger-botrasa-nlu

解决方案


您可以为您的语言设置一个单独的插槽并将其保存在该插槽中。然后,您可以通过查看语言槽值来完成进一步的开发。Slot 就像 rasa 中的占位符。

在您的 domain.py 文件中,您可以像这样定义插槽

slots:
  language:
    type: text
    initial_value: "en"

然后,您可以将其定义为同一个 domain.py 文件中的实体,如下所示。

entities: 
  - language

然后你可以在你的故事中设置你的槽值,如下所示。

visitor_resp{"language":"english"}

并设置了您的语言槽值。

有关更多详细信息,请访问https://rasa.com/docs/rasa/core/slots/


推荐阅读