Welcome to ChromaDB Cookbook

This is a collection of small guides and recipes to help you get started with ChromaDB.

Latest ChromaDB version: 0.5.5

Latest Releases highlights:

  • WAL pruning
  • Adds async client support

New and Noteworthy

  • 🔥 SSL-Terminating Proxies - Learn how to secure Chroma server with Envoy or Nginx proxies - 📅31-Jul-2024
  • 🗑️ WAL Pruning - Learn how to prune (cleanup) your Chroma database (WAL) with Chroma’s built-in CLI vacuum command - 📅30-Jul-2024
  • Multi-Category Filtering - Learn how to filter data based on multiple categories - 📅15-Jul-2024
  • 🔒 Chroma Auth - Learn how to secure your Chroma deployment with Authentication - 📅11-Jul-2024
  • 📦 Async Http Client - Chroma now supports async HTTP clients - 📅19-Jun-2024
  • 🔒 Security - Learn how to secure your Chroma deployment - 📅13-Jun-2024
  • 🔧 Installation - Learn about the different ways to install Chroma - 📅08-Jun-2024
  • 🧠 Memory Management - Learn how to manage memory in ChromaDB - 📅30-May-2024
  • 📐 Resource Requirements - Recently updated with temporary storage requirements - 📅28-May-2024
  • ⁉️FAQs - Facing an issue, check out our FAQ section for answers. - 📅28-May-2024

Getting Started

We suggest you first head to the Concepts section to get familiar with ChromaDB concepts, such as Documents, Metadata, Embeddings, etc.

Once you’re comfortable with the concepts, you can jump to the Installation section to install ChromaDB.

Core Topics:

  • Filters - Learn to filter data in ChromaDB using metadata and document filters
  • Resource Requirements - Understand the resource requirements for running ChromaDB
  • Multi-Tenancy - Learn how to implement multi-tenancy in ChromaDB

Running ChromaDB

  • CLI - Running ChromaDB via the CLI
  • Docker - Running ChromaDB in Docker
  • Docker Compose - Running ChromaDB in Docker Compose
  • Kubernetes - Running ChromaDB in Kubernetes (Minikube)

Integrations

  • LangChain - Integrating ChromaDB with LangChain
  • LlamaIndex - Integrating ChromaDB with LlamaIndex
  • Ollama - Integrating ChromaDB with Ollama

The Ecosystem

Clients

Below is a list of available clients for ChromaDB.

User Interfaces

  • VectorAdmin (MintPlex Labs) - An open-source web-based admin interface for vector databases, including ChromaDB
  • ChromaDB UI (Community maintained) - A web-based UI for ChromaDB

CLI Tooling

  • Chroma CLI (Community maintained) - Early Alpha
  • Chroma Data Pipes (Community maintained) - A CLI tool for importing and exporting data from ChromaDB
  • Chroma Ops (Community maintained) - A maintenance CLI tool for ChromaDB

Strategies

  • Backup - Backing up ChromaDB data
  • Batch Imports - Importing data in batches
  • Multi-Tenancy - Running multiple ChromaDB instances
  • Keyword Search - Searching for keywords in ChromaDB
  • Memory Management - Managing memory in ChromaDB
  • Time-based Queries - Querying data based on timestamps
  • ✨’Coming Soon Testing with Chroma - learn how to test your GenAI apps that include Chroma.
  • ✨’Coming Soon Monitoring Chroma - learn how to monitor your Chroma instance.
  • ✨’Coming Soon Building Chroma clients - learn how to build clients for Chroma.
  • ✨’Coming Soon Creating the perfect Embedding Function (wrapper) - learn the best practices for creating your own embedding function.
  • Multi-User Basic Auth Plugin - learn how to build a multi-user basic authentication plugin for Chroma.
  • CORS Configuration For JS Browser apps - learn how to configure CORS for Chroma.
  • Running Chroma with SystemD - learn how to start Chroma upon system boot.

Get Help

Missing something? Let us know by opening an issue, reach out on Discord (look for @taz).

July 31, 2024