Chroma

Active
GitHub Rust Apache-2.0

Description

Chroma is an open-source AI-native embedding database designed for building LLM applications. It provides simple APIs to store embeddings and perform similarity search, making it ideal for RAG applications.

Key Features

  • Minimal core API — only 4 functions: create_collection, add, query, get — up and running in 5 minutes
  • Auto embedding — automatically handles tokenization, embedding, and indexing on add, no manual processing
  • Metadata filtering — precise filtering by metadata fields and full-text document search
  • Hybrid search — supports combined vector similarity search and full-text retrieval modes
  • Multi-language clients — Python and JavaScript/TypeScript clients, pip/npm one-click install
  • Persistent storage — in-memory mode for prototyping, persistent mode for production, chroma run for server

Use Cases

💡 RAG application backend — provide vector retrieval for LLMs, enable Q&A over private data
💡 Semantic search — similarity retrieval for unstructured data like documents and image descriptions
💡 Recommendation systems — personalized recommendations based on user behavior embeddings
💡 Knowledge graph supplement — store entity embeddings for semantic-level knowledge association queries
💡 Rapid prototyping — quickly validate retrieval effectiveness of AI apps using in-memory mode

Strengths & Limitations

Strengths

  • Actively maintained, recent updates
  • High community interest (29.1k stars)
  • Permissive open-source license (Apache-2.0)
  • Established track record (3 years in production)

Categories

Quick Start

pip install chromadb

import chromadb

# Start in-memory for quick prototyping
client = chromadb.Client()
collection = client.create_collection('my-docs')

# Add documents (auto-embedding)
collection.add(
    documents=['This is document 1', 'This is document 2'],
    metadatas=[{'source': 'notion'}, {'source': 'google-docs'}],
    ids=['doc1', 'doc2']
)

# Query top 2 most similar results
results = collection.query(
    query_texts=['query document'],
    n_results=2
)
print(results)

Related Projects

RAGatouille

4.0k · Python
Stale C

Easily use and train state of the art late-interaction retrieval methods (ColBERT) in any RAG pipeline. Designed for modularity and ease-of-use, backed by research.

ragpythonembedding +1
  • · ColBERT late-interaction retrieval: wraps advanced ColBERT models into simple APIs, enabling late-interaction retrieval methods in RAG pipelines without deep IR research knowledge
  • · End-to-end training and fine-tuning: built-in RAGTrainer and TrainingDataProcessor with automatic deduplication, positive/negative pairing and hard negative mining, supporting training from scratch or fine-tuning pretrained models
  • · Modular composable architecture: DataProcessor, NegativeMiner and other components can be used independently, with support for custom NegativeMiner integration into training pipelines

DeepLake

9.2k · C++
Normal A

AI Data Runtime for Agents. Provides serverless Postgres with a multimodal datalake, enabling scalable retrieval and training. Unifies vector storage, dataset management, and streaming data loading for AI agent workflows.

vector-databasedata-processingpython +3
  • · AI data runtime for agents providing serverless Postgres with multimodal datalake architecture
  • · Unified vector storage, dataset management, and streaming data loading for LLM apps and deep learning training
  • · Native multi-cloud support with a single API to operate S3, GCP, Azure, and local storage

zvec

15.4k · C++
Active A+

A lightweight, lightning-fast, in-process vector database by Alibaba with C++ core, Node.js and Python bindings, designed for RAG, agent memory, and vector search use cases.

vector-databaseragembedding +3
  • · Blazing fast in-process vector database searching billions of vectors in milliseconds
  • · Dense and sparse vector support with native multi-vector queries in a single call
  • · Hybrid search combining semantic similarity with structured filters for precise results

ColiVara

1.5k · Python
Normal B

ColiVara is a suite of services for storing, searching, and retrieving documents based on visual embeddings. It uses vision models instead of chunking and text-processing, achieving state-of-the-art retrieval on both text and visual documents without OCR.

ragvector-databaseembedding +2
  • · Vision-based retrieval — uses ColPali vision language models for document embeddings instead of text chunking or OCR
  • · 100+ format support — handles PDF, DOCX, PPTX, and 100+ other file formats with automatic image conversion
  • · Metadata filtering — filter searches by collection and document metadata fields (author, year, tags, etc.)

Related Articles