We are going to start the implementation of a Content-based image retrieval (CBIR) that It will be integrated in our main product.
We did tests and proof of concepts with different libraries that they are working with nmslib and annoy applying KNNs (K nearest neighbours) algorithms, but now we want to integrate in our product. I have doubts about how to do it.... which architecture to follow and if the libraries can be used in our backend. For example, it seems that these libraries are saving all the information in memory, I don't know how to manage this:
How to save all the information and restore / load it
If it is necessary change the library for another product..
The idea is apply amazon lambdas in python, I found an article Then, my questions is:
- Is it correct to use these libraries (Annoy / NMSLIB) and how, as a DB?
- does it exist some different architectures for these problems and how companies do this..(to manage save information in memory and reload it, f.e)?