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.11
New and Noteworthy¶
- 🔥 SSL-Terminating Proxies - Learn how to secure Chroma server with
Envoy
orNginx
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.
- Python Client (Official Chroma client)
- JavaScript Client (Official Chroma client)
- Ruby Client (Community maintained)
- Java Client (Community maintained)
- Go Client (Community maintained)
- C# Client (Microsoft maintained)
- Rust Client (Community maintained)
- Elixir Client (Community maintained)
- Dart Client (Community maintained)
- PHP Client (Community maintained)
- PHP (Laravel) Client (Community maintained)
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
).