Description
faiss-server provides gRPC services to for similarity search using faiss. It is written in C++ and now supports only CPU environments.
faiss-server alternatives and similar libraries
Based on the "Machine Learning" category.
Alternatively, view faiss-server alternatives based on common mentions on social networks and blogs.
-
mxnet
Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more -
xgboost
Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2] -
Dlib
A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. [Boost] -
catboost
CatBoost is an open-source gradient boosting on decision trees library with categorical features support out of the box for Python, R -
Fido
A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] website -
Recommender
C library for product recommendations/suggestions using collaborative filtering (CF). [BSD] -
sofia-ml
The suite of fast incremental algorithms for machine learning. [Apache2]
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of faiss-server or a related project?
README
faiss-server
faiss-server provides gRPC services to for similarity search using faiss. It is written in C++ and now supports only CPU environments.
Installation
Currently, installation is from source only.
$ git clone https://github.com/ynqa/faiss-server
$ cd faiss-server
To build faiss-server on your local, please use cmake
.
$ mkdir build; cd build
$ cmake ..
$ make
[Beta] To build as docker image:
$ docker build -t faiss-server .
Demo
- Create indexed file, which is composed of the word vectors. Indexed words are on text8 corpus and those vectors are trained by word2vec model of gensim.
$ python example/indexing/indexing.py
- Select the indexed file and then execute faiss-server.
$ ./build/bin/faiss_server -file_path example/indexing/faiss.index
- If you build with docker:
$ docker run -p 8080:8080 -v $(pwd)/example/indexing:/tmp faiss-server -file_path /tmp/faiss.index
- Throw the requests for similarity search
$ PYTHONPATH=python python example/client/search.py
Usage
faiss_server:
-file_path (index file name) type: string default: ""
-host (host of faiss server) type: string default: "0.0.0.0"
-port (port of faiss server) type: string default: "8080"
-top_k (default number of neighbor) type: uint64 default: 5