All Projects → ynqa → faiss-server

ynqa / faiss-server

Licence: MIT license
faiss serving :)

Programming Languages

python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
CMake
9771 projects
Dockerfile
14818 projects
Makefile
30231 projects

Projects that are alternatives of or similar to faiss-server

django-grpc
Easy gRPC service based on Django application
Stars: ✭ 177 (+59.46%)
Mutual labels:  protobuf, grpc-python
PyEmbeo
graph embeddings for neo4j in python
Stars: ✭ 25 (-77.48%)
Mutual labels:  faiss
sisyphus-js
Sisyphus customized protobuf and gRPC runtime and code generator for JavaScript/TypeScript
Stars: ✭ 19 (-82.88%)
Mutual labels:  protobuf
stellarstation-api
The API definition for StellarStation.
Stars: ✭ 22 (-80.18%)
Mutual labels:  protobuf
protokit
A starter kit for building protoc plugins. Rather than write your own, you can just use an existing one.
Stars: ✭ 69 (-37.84%)
Mutual labels:  protobuf
metastore
A protobuf schema registry on steroids. It will keep track of the contracts throughout your organization, making sure no contract is broken.
Stars: ✭ 43 (-61.26%)
Mutual labels:  protobuf
multicode
💱 Decode bits, bytes, hex, base64 and protobuf recursively with a single command
Stars: ✭ 16 (-85.59%)
Mutual labels:  protobuf
universe-topology
A universal computer knowledge topology for all the programmers worldwide.
Stars: ✭ 47 (-57.66%)
Mutual labels:  protobuf
aerospike-scala
Typesafe DSL for work with Aerospike Database
Stars: ✭ 40 (-63.96%)
Mutual labels:  protobuf
j2cl-protobuf
Protocol Buffers implementation for J2CL
Stars: ✭ 23 (-79.28%)
Mutual labels:  protobuf
MicroServicePractice
微服务实践的demo
Stars: ✭ 40 (-63.96%)
Mutual labels:  protobuf
Meshtastic-protobufs
Protobuf definitions for the Meshtastic project
Stars: ✭ 32 (-71.17%)
Mutual labels:  protobuf
WebApiClient.Extensions
WebApiClient项目的第三方扩展:Autofac、DependencyInjection、HttpClientFactory、SteeltoeOSS.Discovery、MessagePack、Protobuf、Json-Rpc
Stars: ✭ 73 (-34.23%)
Mutual labels:  protobuf
molch
An implementation of the axolotl ratchet based on libsodium.
Stars: ✭ 24 (-78.38%)
Mutual labels:  protobuf
edap
No description or website provided.
Stars: ✭ 22 (-80.18%)
Mutual labels:  protobuf
GameTracking-HalfLifeAlyx
📥 Game Tracker: Half-Life: Alyx
Stars: ✭ 24 (-78.38%)
Mutual labels:  protobuf
protoc-gen-persist
GRPC SQL and Spanner persistence layer
Stars: ✭ 60 (-45.95%)
Mutual labels:  protobuf
libcluon
libcluon is a small and efficient, single-file and header-only library written in modern C++ to power microservices.
Stars: ✭ 81 (-27.03%)
Mutual labels:  protobuf
POGOProtos
A central repository for all proto files of PokémonGO.
Stars: ✭ 136 (+22.52%)
Mutual labels:  protobuf
go-grpcmw
A Go package and protobuf generator for managing grpc interceptors.
Stars: ✭ 19 (-82.88%)
Mutual labels:  protobuf

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

  1. 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
  1. 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
    
  1. 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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].