facebookresearch / faiss

A library for efficient similarity search and clustering of dense vectors.

Home Page:https://faiss.ai

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Faiss should publish a nuget package with all the native dlls needed to consume the library in .NET

palenshus opened this issue · comments

Summary

Currently, to use faiss in .NET on Windows, through a library like https://github.com/andyalm/faissmask or https://vektonn.github.io/vektonn/, you have to somehow acquire the necessary faiss dlls. This probably involves cloning and building the faiss repo, or using vcpkg, which is quite an involved experience and totally unfamiliar to many .NET developers. Instead, there should be a FaissNativeDependencies or some such nuget package which those packages can take a dependency on.

Platform

Specifically I'm envisioning this for Windows, but I believe this would be useful on Linux as well. The faissmask library already includes the linux/mac dependencies in the package, but it would be better to have those as a chained dependency IMO.

Thanks @mdouze! But, I'm not sure the rationale applies here. The answer starts with "The reason why we don't support more platforms", but I'm not asking for another platform, just a distribution of the already built binaries. Presumably you're already building DLLs at some point, I'm just asking for a simple nuget manifest and publish step. I've already built and published a nuget to our local ADO instance, I suppose if this issue gets rejected I could publish that to nuget.org instead, would there be any opposition to that?

+1 only publish the native dll to nuget, and other .NET developer will reference this nuget package and write a Wrapper to support .NET platform.