Open converseKarl opened 6 months ago
Switching vectors is tricky because they need to be initialized. I have been thinking myself also around adding support for multiple RAG sets. One can then set which RAG set to use for which query and can also multiple RAG sets each for a few documents.
However, this complicates the API quiet a bit making it difficult for simpler use cases. Needs more thought this one.
Hi there, been thinking too about this, and wanted to share my thoughts and whether this can help and if these scenarios are possible
What I observed today it should be possible to
It's about persistence (i.e. if needed to restart server) and or load the last one that was in use
Is possiblefor the ragbuilder/app instance object state to be somehow stored in some kind of binary o other format, saved to disk, Basically a loader representation no disk
If i need to switch a vector, i can switch dynamically based on the setVector and Path settingss and changing these to different values.
The question is, loaders, for example if i wanted to use a defined loader i used with a vector db, how to retrieve or remember it or reload it back when switching from one to other. I have a listLoaders api i wrote, to return me the list, types and id's but if you reload server, they all go. So it's about persisting without have to call the reloaders again such as re-adding web pages once they are in the vector db/llm cache.
If ti can be managed, this way you can potentially have multiple rags, and even build a graph type llm or a simpler router llm at the front of it later to decide which rag to to switch to.
should there be a loadVector/LoadEmbeddings function?
Any advice is appreciated. I think your doing an awesome job, I will try raise that FAISS PR this weekend!