Skip to main content

A distributed vector search microservice.

Project description

https://img.shields.io/pypi/v/needlestack.svg https://img.shields.io/travis/needlehaystack/needlestack.svg https://coveralls.io/repos/github/needlehaystack/needlestack/badge.svg?branch=master Documentation Status

Needlestack is a distributed vector search microservice.

Features

  • gRPC server for kNN vector search

  • Shard vectors over multiple nodes

  • Replicate shard over multiple nodes

  • Retrieve vectors by ID

Limitations

The current beta builds have limitations that make them difficult to use in production. These should be addressed in future builds.

Caveats

  • Vectors must be manually sharded, indexed, and serialized to disk as protobufs

  • Only kNN library currently supported is Faiss

Quickstart

Get started with the examples in this repo!

Start Docker containers running Needlestack services. This runs the examples/run_merger.py and examples/run_searcher.py in containers.

docker-compose up merger-grpc searcher-grpc1 searcher-grpc2 searcher-grpc3

Create local index data and send to the Needlestack services. This runs examples/indexing_job.py to create dummy data, then runs examples/add_collections.py to send them to the Needlestack service.

docker-compose run --rm make-test-data

Access the gRPC endpoints at localhost:50051

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

needlestack-0.1.0.tar.gz (20.8 kB view details)

Uploaded Source

Built Distribution

needlestack-0.1.0-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

File details

Details for the file needlestack-0.1.0.tar.gz.

File metadata

  • Download URL: needlestack-0.1.0.tar.gz
  • Upload date:
  • Size: 20.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.1

File hashes

Hashes for needlestack-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6a8116b804c1a9561d0334514262c8526c67d89f3e980966aca96d7b02184ff1
MD5 b67b207db877283fa38c7c318a887dd5
BLAKE2b-256 377f1a90672d0a8d3c1d947fd71c6a25de1282c3b96f70d10590b230fd07d822

See more details on using hashes here.

File details

Details for the file needlestack-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: needlestack-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 33.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.1

File hashes

Hashes for needlestack-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c9e955b339a336d7cf31b5df2e7508fe57d9fbe0ae92762d52df46b8d24b6f57
MD5 43515a40406fe59204437f41cf33b55c
BLAKE2b-256 88b5c592076bfb7012b4b7b596a0762bb66c9fa0a9fb5344f634aa25361c42e4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page