如何为每个用户的rasa聊天机器人添加uuid?

时间:2018-05-31 17:55:41

标签: uuid chatbot rasa-core

我正在开发一个来自this repository的聊天机器人,我现在只与Slack互联,我希望他能够识别用户。那么你知道如何在线获取可以为我的聊天机器人生成每个用户的唯一用户标识(研究的用户ID应该能够匿名存储)吗?

from rasa_core.channels import HttpInputChannel
from rasa_core.agent import Agent
from rasa_core.interpreter import RasaNLUInterpreter
from rasa_slack_connector import SlackInput

nlu_interpreter = RasaNLUInterpreter('./models/nlu/default/weathernlu')
agent = Agent.load('./models/dialogue',interpreter = nlu_interpreter)

# https://api.slack.com/apps/AASPDV196/oauth?
input_channel = SlackInput('OAuth Access Token','Bot User OAuth Access Token',
'Verification Token',True)

agent.handle_channel(HttpInputChannel(5004,'/',input_channel))

目前我正在考虑:

  • 使用uuid.uuid4 ()
  • 创建一个真实的网页,用this tutorial注册用户MySQL,但我不确定它是否允许Slack。

Slack不是强制性的,但除了终端之外,我目前还没有任何其他Chatbox通信接口。

1 个答案:

答案 0 :(得分:0)

默认情况下,Rasa Core使用Slack发送的用户名作为唯一用户ID。如果要从Slack用户名映射到某些自定义ID模式,则需要定义一个custom channel来覆盖Slack通道。 我猜想应用映射的最佳位置是process_messagesend_text_messagesend_image_urlsend_attachment

如果您的问题是在重新启动Rasa Core时当前对话没有持久,那么您可能希望使用其他tracker store,因为默认的对话将所有内容存储在内存中。