User specific Assistant with Role based access

Hi everyone,

I’m a fresher, so please go easy on me if I’m asking something very basic. I’m planning to build an assistant that can answer questions specific to a user’s files or files of users within the same company based on their roles (Owner > Manager > Employee).

To my understanding, the assistant has one shared vector store across all threads, and each thread can have one vector store attached to it. Since I haven’t found a hard limit for the number of vector stores, can I set up a vector store for each company? Then, access the files based on roles and user IDs. I can maintain a dictionary that maps the user ID to the vector store file ID and use this mapping for access.

Concerns:

  1. Is there some underlying cost that might catch me off guard?
  2. Is this architecture token efficient ?
  3. Is there a hard limit on the number of vector stores ?

Additional Details:

  1. The files will essentially be the RDS data of all companies (currently around 1.9 GB, but I plan to make it even smaller).
  2. I will run a job or task to ensure the data between the RDS and vector store is read-consistent, at least by a few days.

Is there a better way to approach this? I am new to all this and have limited knowledge. Please let me know where I might be going wrong .

Thanks!

Your approach of using a shared vector store and separate vector stores for each company sounds feasible. Be mindful of potential storage and compute costs, and check for any limits on the number of vector stores from your provider. Running regular sync jobs for data consistency between RDS and vector stores is a good strategy. Starting on a smaller scale might help you better understand the practicalities before scaling up.

1 Like

Thank you for your advice.Will keep them in mind.

1 Like