Chroma Documentation: Vector Database, Cloud, and API Reference

website·Indexed Apr 13, 2026

https://docs.trychroma.com/

Official documentation for Chroma, an open-source vector database supporting document storage, embedding, and vector search with dense, sparse, or hybrid strategies. Covers self-hosted SDK usage, Chroma Cloud managed services, and the Search API. Includes guides on collection management, schema configuration, filtering, ranking, and features like collection forking and GitHub sync. Details API endpoints for attaching functions, pricing models, quotas, and Package Search MCP integration for AI agents.

Tokens
71.2K
Snippets
182
Records
729
Agent score
50%

What's inside Chroma

  1. What is Chroma

    Chroma is a retrieval-focused database for AI applications. It handles document storage with metadata, supports any embedding model (OpenAI, Cohere, Hugging Face, sentence-transformers), and provides vector search using dense, sparse, or hybrid strategies. Chroma is open source under Apache 2.0 and can be self-hosted or used via Chroma Cloud.
  2. What is Agentic Memory

    Agentic memory persists data from agent runs so it can be leveraged in future interactions. Without it, agents start fresh each time—repeating expensive computations, re-learning user preferences, and rediscovering effective strategies. Agentic memory reduces LLM interaction costs, personalizes user experience, and improves agent performance over time.
  3. What is Agentic Search and when to use it

    Agentic search extends retrieval beyond single-step lookups to handle complex, multi-step queries requiring planning, reasoning, and iteration. Unlike simple retrieval which executes one query and hopes for the best, agentic search breaks down complex questions into sub-queries, executes multiple retrievals across different collections, evaluates result sufficiency, and refines the search strategy based on discoveries. Use agentic search when queries contain multiple sub-questions, information is scattered across semantically dissimilar documents, search strategy needs to adapt based on initial results, or terms are ambiguous and require disambiguation. Common applications include legal assistants querying case law and statutes, medical AI systems searching clinical guides and research papers, customer support agents navigating documentation and knowledge bases, and coding assistants searching documentation and code repositories.
  4. What is MCP and the Chroma MCP Server

    The Model Context Protocol (MCP) is an open protocol that standardizes how AI applications communicate with data sources and tools, following a client-server architecture. MCP Hosts (like Claude Desktop) access data through MCP Clients, which connect to MCP Servers (like Chroma). The Chroma MCP Server enables Claude to interact with Chroma's search capabilities, providing persistent memory across conversations, semantic search through previous chats, document management and retrieval, and vector/keyword search with metadata filtering.
  5. LangChain + Chroma integration resources overview

    This page aggregates official and community resources for integrating LangChain with Chroma vector database. Resources cover both Python and JavaScript implementations, including blog posts, demo repositories, tutorials, and official documentation for building RAG applications and chatbots.
  6. The Compactor Component

    The compactor periodically builds and maintains indexes. It reads from the log and produces updated vector, full-text, and metadata indexes, writes materialized index data to storage, and updates the system database with metadata about new index versions.
  7. Chroma Cloud Dashboard

    The web dashboard provides team collaboration features for viewing data, monitoring collection data quality, and accessing billing data and usage telemetry.
  8. Chunking strategies overview

    Four main strategies: (1) Recursive splitting—split at largest structural units first (paragraphs), then recursively use smaller units (sentences, words) if chunks exceed size limits. LangChain's RecursiveCharacterTextSplitter implements this. (2) Split with overlap—include overlap between chunks to preserve context across boundaries, but increases storage and embedding costs. (3) Structure-aware splitting—parse explicit document structure (Markdown headers, HTML DOM, code ASTs) and optionally include hierarchical context in chunks. (4) Semantic splitting—embed segments, compute similarity between adjacent parts, and place boundaries where similarity drops indicating topic shifts. More expensive but produces coherent chunks for documents lacking clear structure.
  9. Install sample AI applications with chroma install

    The chroma install command sets up sample AI applications powered by Chroma for local development. These apps help you learn about retrieval, building with AI, and serve as starting points for your own projects. The CLI guides you through environment setup and customization for each project. Available in Chroma 1.0.4 and later.
  10. Schema Structure: Defaults and Keys

    A Schema has two components controlling indexing behavior: Defaults define index configuration for all keys of a given data type (string, int, float, etc.), while Keys define configuration for specific metadata fields and override defaults. Precedence order: 1) Key-specific config (highest), 2) Default config for value type, 3) Built-in defaults (final fallback).
  11. OpenAI embedding function overview

    Chroma provides the OpenAIEmbeddingFunction class as a wrapper around OpenAI's remote embedding API. It requires an API key and supports three models: text-embedding-ada-002 (default), text-embedding-3-small, and text-embedding-3-large. Install the required package with pip install openai.
  12. Backend Observability with OpenTelemetry

    Chroma is instrumented with OpenTelemetry hooks for observability. Currently, only OpenTelemetry traces are exported, allowing operators to understand how requests flow through the system and identify bottlenecks. This is distinct from anonymous product telemetry—observability data is never sent back to Chroma and is solely for monitoring your own deployment.