Embeddable vector database for Go, Chroma-like interface, zero dependencies
Top 52.4% on sourcepulse
chromem-go is an embeddable vector database for Go applications, designed for simplicity and performance in common use cases like Retrieval Augmented Generation (RAG). It offers a Chroma-like interface, zero third-party dependencies, and in-memory operation with optional persistence, allowing developers to integrate advanced embedding-based features without managing a separate database service.
How It Works
chromem-go operates as an embedded library, similar to SQLite, eliminating the need for a client-server architecture. It stores documents and their corresponding embeddings, supporting various embedding providers (OpenAI, Ollama, etc.) and custom implementations. Queries perform exhaustive nearest neighbor search using cosine similarity, with options for metadata and document content filtering.
Quick Start & Requirements
go get github.com/philippgille/chromem-go@latest
Highlighted Details
Maintenance & Community
The project is under active development (beta, pre-v1.0.0) with a changelog documenting all changes.
Licensing & Compatibility
The project is licensed under the MIT License, permitting commercial use and integration with closed-source applications.
Limitations & Caveats
The project is in beta and may introduce breaking changes before version 1.0.0. Current similarity search is limited to exhaustive (brute-force) methods; Approximate Nearest Neighbor (ANN) search (HNSW, IVFFlat) is planned for the roadmap.
1 week ago
1 week