网络聊天和rasa,在一个Node.js后端上处理多个用户

时间:2020-10-30 08:53:27

标签: node.js rasa

我已经设置了一个dockerized rasa安装,以使用非dockerized react(mongo node express)前端与之通信。我将botfront webchat组件用作聊天组件,可以正确地从rasa发送和接收消息。

我不知道该怎么做,以便不同的用户(在nodejs后端)可以有不同的聊天(在rasa后端)。

我已经使用socketio为rasa和webchat设置了自定义连接器,该连接器被设置为在每个连接事件中创建新的sessionId。这似乎可以正常工作,因为在浏览器控制台中,连续刷新后确实看到以下内容:

connect:d01c6e80aa2647a186f087a4d1849ef9
session_confirm:d01c6e80aa2647a186f087a4d1849ef9 session_id:e50e1e9c87eb48c989d3d98022a0e8c3
connect:c6fc7aff5f0448a89ee54642561fe34c 
session_confirm:c6fc7aff5f0448a89ee54642561fe34c session_id:2811d41ff0c44d398927d019b3d604f9

我假设两个session_id不同,这意味着聊天应该显示为空,但是以前的交互仍然可见。

此外,{。{1}}在certificate.yml文件中设置为false,但这似乎没有任何影响

session_persistance

在小部件本身中,我将存储设置为 MySocketIO.WebchatInput: user_message_evt: user_uttered bot_message_evt: bot_uttered session_persistence: false 而不是session

local

我需要使用聊天将特定用户的mongodb <Widget initPayload={"/get_started"} socketUrl={"http://localhost:5005"} socketPath={`/socket.io`} customData={{"language": "en", 'ciccio':123}} // arbitrary custom data. Stay minimal as this will be added to the socket params={{'storage':'session'}} title={"Title"} /> 发送到rasa自定义操作,并且该操作目前正在user._id进行,但是我仍然找不到如何保持会话的状态。不同的用户彼此分开。

0 个答案:

没有答案