...
Public Interfaces(optional)
TODO
Design Details(required)
1. Current dependence
2. Decoupling
- The distributed layer doesn't directly depend on faiss and should access the unified interface of knowhere.
- Each index implementation should be independent.
- Move Knowhere to a new project.
- We'd better decouple libfiu from key code path, which should only use within test code.
2. Support compile on MAC
...
- Distributed layer
- Optimize compile phase make Query and segcore module depends on knowhere shared library.
- Reconstruct BinarySearchBruteForce and FloatSearchBruteForce functions within the query module by knowhere supported brute force search index.
- Support an alternative way to use libfiu which doesn't compile on Mac, or provide a optional to use libfiu when compile on Mac.
- Engine Layer(knowhere)
- Support a brute force search which is a kind of vector index and compiled on MAC & Ubuntu.
- Upgrade faiss to the latest version, because current version can not be compiled on Mac.
Test Plan(required)
Rejected Alternatives(optional)
...