Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 21:48
· 35 commits to main since this release

First public release of GoVec: a compact vector search engine in Go, served over REST and gRPC from a single static binary.

Highlights

  • HNSW with heuristic neighbour selection, plus exact brute-force search; cosine and Euclidean distance
  • Scalar int8 quantization: -61% disk and -26% RAM at 100k vectors
  • Hybrid dense + sparse search and metadata filtering
  • Write-ahead log and atomic snapshots, with crash recovery on startup
  • REST and gRPC with identical semantics, including streaming batch insert over gRPC
  • Multi-arch container image (linux/amd64, linux/arm64)

Run it

docker run -p 9697:9697 -v govec-data:/data ghcr.io/pradyothsp/govec:0.1.0

REST listens on 9697; gRPC on 9698 when grpc.enabled is true. See the README for the API and configuration.

Known limitations

  • Single node, in-memory first
  • Filtered HNSW search can return fewer than k results for selective filters
  • Hybrid search scores sparse vectors with an O(n) scan

Related

Full Changelog: https://github.com/Pradyothsp/govec/commits/v0.1.0