I know that the topic of adding multiple vector stores to assistants has come up a few times.
It seems like a very powerful capability, if and when it will be made available.
I was looking through my own list of vector stores and thinking “what would make this easier to work with?”
The first answer that came to mind for me was bundling different vector stores into groups.
Here’s my pitch!:
Being able to create lots of vector stores is great from a security and permissions perspective. So is the ability to link a specific assistant to a specific store.
Where this system falls down is in everyday use in which the user group for one assistant is more likely to have privileges to multiple vector stores than to just one.
Imagine that a small business organization, not too dissimilar to my own, had vector stores for each of the following domains.
- Accounts
- Clients
- Operations
- Knowledge
Each of these vector stores contains specific data about that area of the business.
If I were setting up an internal assistant to help with customer support and billing, I’d probably want one assistant to have access to accounts, clients and operations.
Currently, this is very hard to do in a single project, perhaps intentionally. Duplicating data in any of these stores is one ugly solution (ie, create composite vector stores replicating data from other stores), but besides being storage inefficient, it makes deploying robust RAG pipelines very hard - one piece of source data now needs to be updated onto multiple targets.
Tidier solution:
Being able to bundle these into one group of vector stores (that could be reused infinitely) would greatly simplify the process of creating multiple assistants with similar levels of access to internal knowledge pools and services.