I am building a slack based chat-bot with RASA in the back-end, my question is when multiple user are talking with the bot simultaneously how the RASA differentiate between user-01’s conversation context from user-02’s context.
Is it handled out of the box, if yes what are the best practices we must practice.
@ketankvishwakarma welcome to the forum! And sorry for getting back to you so late… Rasa differentiates between users using a conversation_id. This is handled in the output channels, most of them handle assigning unique ids to users out of the box. Which channel are you using?
@akelad, I am also facing the same problem. I created a custom chat UI on my website and communicate with rasa using rest API.
How can i get this conversation_id and how to handle concurrent users on my website?
@kabeer this id is something your front end would need to generate and send to Rasa in this format here. E.g. this open source webchat ui auto generates ids based on sessions
var convsersation_id = '';
conversation_id = Math.random();
// in function which send msg to rasa
$.ajax({
url: "http://localhost:5005/webhooks/rest/webhook",
contentType:"application/json; charset=utf-8",
type:"POST",
data:
JSON.stringify({
"sender":conversation_id,
"message":userMsg
}),
Now it seems working. Thanks @akelad.
sir, could u tell me how you resolved this issue and which chat widget is you are using along with rasa chatbot backend bcoz i m also facing same problem and confused how can i use rasa chatbot as a concurrent chatbot that can serve many users.