Skip to content

Welcome to GoVector Documentation

GoVector is a lightweight, embeddable vector database written entirely in Go. It offers Qdrant-compatible API endpoints, HNSW indexing for blazing-fast Approximate Nearest Neighbor (ANN) search, and persistent local storage via BoltDB.

In the era of Local AI, desktop applications, and edge computing, you don't always need a heavy, distributed vector cluster like Milvus or Qdrant. GoVector is designed to be the SQLite for Vectors - a lightweight, high-performance solution that can be embedded directly into your application.

πŸš€ Core Features

  • Pure Go & CGO-Free: Cross-compile to anywhere (Windows, macOS, Linux, edge devices) without messy C/C++ dependencies
  • Qdrant Compatible API: Drop-in replacement for Qdrant with the same REST API endpoints
  • High Performance: Optimized for single-node performance, supporting millions of vectors with sub-millisecond search latency
  • HNSW Indexing: Industrial-grade graph-based index for O(log N) search complexity, enabled by default
  • Persistent Storage: Uses BoltDB and Protocol Buffers for ultra-fast persistence, data survives restarts
  • Advanced Filtering: Support for payload filtering (Exact, Range, Prefix, Regex, Contains) just like Qdrant
  • SQ8 Quantization: Built-in 8-bit scalar quantization to reduce disk footprint for large-scale data
  • Dual Modes: Embedded library (zero network overhead) or standalone microservice with REST API
  • Unified CLI & TUI: Powerful command-line interface with interactive Terminal User Interface

πŸ—οΈ Architecture

GoVector's architecture consists of several core components:

  • Storage Engine: Uses go.etcd.io/bbolt with Protocol Buffers for persistent storage
  • Index Module: Implements HNSW (Hierarchical Navigable Small World) and Flat indexes
  • Collection Management: Provides namespace isolation and CRUD operations for collections
  • API Layer: Offers both Go library API and HTTP REST API compatible with Qdrant
  • Quantization Module: Implements SQ8 quantization for memory optimization

πŸ“„ License

GoVector is licensed under the MIT License. See LICENSE for details.