Chroma is designed with a modular architecture that prioritizes performance and ease of use. It scales from local development to large-scale production while exposing a consistent API across deployment modes. Chroma delegates as much as possible to durable, well-understood subsystems such as SQLite and cloud object storage, so the core system can stay focused on data management and information retrieval.Documentation Index
Fetch the complete documentation index at: https://docs.trychroma.com/llms.txt
Use this file to discover all available pages before exploring further.
Deployment Modes
Chroma supports three deployment modes:- Local: an embedded library for prototyping and experimentation.
- Single-Node: a single server for small to medium workloads, typically fewer than 10 million records across a handful of collections.
- Distributed: a scalable multi-service deployment for large production workloads and millions of collections.
Distributed Architecture
Learn how Chroma scales out with independent services, object storage, SSD caches, and a shared system database.
Chroma Data Model
Chroma’s data model balances simplicity, flexibility, and scalability. It introduces a few core abstractions: tenants, databases, and collections.Collections
A collection is the fundamental unit of storage and querying in Chroma. Each collection contains items with:- A unique ID
- An embedding vector
- Optional metadata
- A document