Multi-users entities/intents/slots management

Hi community,

It may be an easy question but I can’t figure out how to handle the multi-users management of the bot defined with rasa.

Indeed, the architecture I have defined in domain.yml/actions.py works well when testing with one particular account user. But how to deal with multi-users scale, i.e. be sure that each user has its proper values of intents/entities/slots ?

I use graphQL API to login each user which generates a token. How to handle replication of the bot architecture across the number of users ?

Rasa manages the multi-user environment by default. Each user has their own Tracker that stores all the data. Having said that, I am not sure where does your problem come from. How do you send the messages to Rasa? If you use RestAPI, you have to provide the user and the message with every message. This way you will have different history and data for every user. Maybe you use the same user for each message? This is just guessing. Can you provide more details?

1 Like

@Cekir thanks for your feedback.

I am new to rasa deployment, so at the moment I only tested the bot locally with one particular user token. In the actions.py file at the beginning I have defined:

token = 'xxx'

# Select your transport with a defined url endpoint and headers
transport = AIOHTTPTransport(
    url='https://api.xxx.com/graphql', headers={'Authorization': 'Bearer ' + token})

# Create a GraphQL client using the defined transport
client = Client(transport=transport, fetch_schema_from_transport=True)

So it works for this specific user but I was wondering how to generalize this to multi-users and what should I define in addition to what I have already done?

Could anyone give me some advice regarding this problem?