Favicon of Vearch

Vearch

A self-hosted vector database for AI retrieval, with scalar filtering, distributed scaling, and integrations for LangChain and LlamaIndex. Apache 2.0 licensed.

Screenshot of Vearch website

Vearch is a self-hosted, distributed vector database for developers building AI applications that search embedding vectors. It combines similarity search with filters on stored fields, so an application can retrieve related content while applying criteria beyond vector similarity. It's open source under Apache 2.0 and can run on your servers through Docker, Docker Compose, or Kubernetes.

Its hybrid search stores and queries vectors alongside scalar data. That makes it useful as a retrieval layer for document search, knowledge bases, and retrieval-augmented generation (RAG). LangChain and LlamaIndex integrations let those applications use Vearch as a vector store or memory backend. Langchaingo and LangChain4j provide integration paths for Go and Java projects, and clients are available for Python, Go, Java, and Rust.

Vearch is built for datasets that need a distributed database. It supports elastic scaling across servers and replication for reliability. Its Gamma search engine uses faiss to store, index, and retrieve vectors and scalar fields, while document partitions use Raft-based replication. A REST API supports adding or updating records, deleting them, and searching or querying stored data.

The database also supports visual search applications. Image retrieval requires a separate plugin for object detection and feature extraction.

Similar to Vearch