我正在开发一个来自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 ()
。 Slack不是强制性的,但除了终端之外,我目前还没有任何其他Chatbox通信接口。
答案 0 :(得分:0)
默认情况下,Rasa Core使用Slack发送的用户名作为唯一用户ID。如果要从Slack用户名映射到某些自定义ID模式,则需要定义一个custom channel来覆盖Slack通道。
我猜想应用映射的最佳位置是process_message
,send_text_message
,send_image_url
和send_attachment
。
如果您的问题是在重新启动Rasa Core时当前对话没有持久,那么您可能希望使用其他tracker store,因为默认的对话将所有内容存储在内存中。