Mostly get rid of FAISS fork in favor of vanilla FAISS version#1605
Conversation
|
@alexanderguzhva 🔍 Important: PR Classification Needed! For efficient project management and a seamless review process, it's essential to classify your PR correctly. Here's how:
For any PR outside the kind/improvement category, ensure you link to the associated issue using the format: “issue: #”. Thanks for your efforts and contribution to the community!. |
|
@alexanderguzhva e2e jenkins job failed, comment |
|
@alexanderguzhva e2e jenkins job failed, comment |
Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com>
|
@alexanderguzhva e2e jenkins job failed, comment |
Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com>
|
@alexanderguzhva e2e jenkins job failed, comment |
|
issue: #1501 |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: alexanderguzhva, foxspy The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
…ztech#1605) * mostly get rid of faiss fork Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com> * fix ivfcc problem with directmap Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com> --------- Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com>
putting here as a backup copy, just in case if my hard drive burns away tomorrow :)
includes #1606
This is a broad FAISS fork-pruning pass for Knowhere. It removes large duplicated fork implementations and shifts IVF, FastScan, RaBitQ, Flat, DirectMap, and inverted-list plumbing toward baseline FAISS, while keeping Knowhere-specific behavior as focused adapters: cosine norm handling, CC segment-aware search, iterator hooks, ScaNN integration, and legacy serialization compatibility.
Faiss 1.14.1+ commit 46def46902231ed57552ddbcfd751e17720c6d32 plus merged facebookresearch/faiss#5156 plus merged facebookresearch/faiss#5172
Main pieces completed:
The commit is intentionally compatibility-heavy: the runtime implementation is pruned toward baseline FAISS, but existing Knowhere file formats, ScaNN recall-sensitive behavior, iterator paths, and cosine/refine semantics are kept as guardrails for this alpha version.