How does Milvus integrate with and manage its Faiss dependency? #53274
Replies: 4 comments
|
So far as I know, Milvus does not use facebookresearch/faiss directly — it uses Faiss through a vendored fork inside Knowhere. Possible approach to benchmark your Faiss within Milvus:
Build milvus from source code:
Benchmark tool: https://github.com/zilliztech/VectorDBBench |
|
@ThatikondV Hey. Yes, Milvus relies on Faiss with some minor exceptions (check https://github.com/zilliztech/knowhere/tree/main/thirdparty/faiss/faiss/cppcontrib/knowhere). We periodically update the clone of the Faiss OSS in our codebase |
Technically, it is possible. You need to replace |
|
Hi @alexanderguzhva, @yhmo, Thank you both for the detailed explanations. This is very helpful in understanding how Milvus integrates Knowhere and how Faiss is maintained within Knowhere. I now have a much clearer idea of how to set up the custom Knowhere/Faiss build for benchmarking. Really appreciate your help! |
Uh oh!
There was an error while loading. Please reload this page.
Hi @alexanderguzhva,
I’m currently working on some optimizations/development in Faiss, and I have upstreamed the changes to the Faiss OSS repository.
I understand that Milvus uses Faiss for some of its indexing functionality, and I would like to better understand how Milvus integrates with Faiss.
Specifically:
I’m asking because I would like to benchmark the changes I have made in Faiss within Milvus, rather than benchmarking them only at the Faiss level. Understanding how Milvus pins and integrates Faiss would help me determine the appropriate way to do this.
Thanks!
All reactions