FAISS vs Apple vector search library?

Hey, I'm a web developer developing a macos app for the first time. I need a vector database where data will be stored on the user's machine.

I'm familiar with libraries like FAISS, but am aware that it does not have Swift bindings and from a brief look, appears fairly annoying to attempt to get working with a macos app. I'm wondering if Apple has a similar library available in their dev kit? I don't need much, just something to store the vectors in a database, do a cosine sim search on them and maybe add some additional metadata to each vector embedding.

If not, is bridging libraries like this a common thing to do when developing ios/macos apps?

Do you need the FAISS GPU functionality? I would imagine that getting its CPU code to work should be relatively easy.

Combining Swift and C++ is easier than it used to be.

You can use Supabase for that.

hi, you can look at USearch. It does the similarity search on vectors...and the index can be saved and loaded. Does not support GPU but is fast to integrate in Swift (package).

Hi! I am the author of the previously mentioned USearch. There is an example to help you get started in the ashvardanian/SwiftVectorSearch repo. Please let me know if you have any feature requests in the GitHub issues :)

Hi all, I'm working on Swift bindings for Faiss, you can see the current progress here https://github.com/jkrukowski/SwiftFaiss any feedback is appreciated!

@jrwallac I've created an example repo, take a look here https://github.com/jkrukowski/UseSwiftFaiss -- I was able to compile it and run it without any problems Please make sure that the dependencies are resolved, it might take some time because SwiftFaiss depends on binary frameworks.

FAISS vs Apple vector search library?
 
 
Q