我已经设置了一个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
进行,但是我仍然找不到如何保持会话的状态。不同的用户彼此分开。