chromem-go
An embeddable vector database for Go with a Chroma-like interface and no third-party dependencies, running in memory with optional persistence.
chromem-go is a vector database library that embeds directly into a Go application rather than running as a separate service, similar to how SQLite is used instead of a client-server database. It is meant for adding retrieval-augmented generation and other embeddings-based features to a Go program without operating a separate database.
It focuses on simplicity and performance for common use cases, such as question answering, text and code search, recommendation, and classification, rather than scaling to millions of documents, and can query a thousand documents in well under a millisecond on a mid-range laptop CPU. It is not a client for the Chroma project and not a reimplementation of it, but a separate database with a similar interface.
It is written in Go and released under the MPL-2.0 license.