如何在 rasa 构建的 Messenger 机器人中保存用户偏好

How can I save user preference in messenger bot built by rasa

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

您可以为您的语言设置一个单独的插槽并将其保存在该插槽中。然后可以通过查看语言槽值来完成您的进一步开发。 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/