Learn ChromaDB (the vector database for RAG) from the basics to production-grade: prerequisites & environment setup, history & background, core concepts & main architecture, client setup & your first collection, basic CRUD, querying & semantic search, embeddings & embedding functions, metadata filtering with where, full-text & hybrid search, distance metrics & HNSW index, data modeling & chunking strategy, persistence import & export, client-server mode & settings, authentication & authorization, security best practices & CVE-2026-45829, deployment networking, privacy & data handling, scaling & performance, integration with LLM frameworks, advanced query patterns, observability & operations, modern features & roadmap, and the alternative ecosystem & final reflections across 23 episodes total.
Before touching ChromaDB, you need to master Python, the concepts of embeddings and vectors, and the RAG workflow in general. In this episode you will also set up a Python environment, install chromadb, and verify your first installation.

This episode digs into the history and background behind the birth of ChromaDB, its evolution from version 0.x to 1.x with a Rust server, and the real problems it solves: million-scale embedding storage, semantic search, and fast integration with LLM frameworks.

This episode dissects the ChromaDB data model: the Collection made up of ids, embeddings, documents, and metadatas, the difference between embedded mode versus client-server, the legacy Python FastAPI server architecture versus the Rust server, and the HNSW-based index and query flow.

This episode covers the various ChromaDB client types: Client, PersistentClient, EphemeralClient, and HttpClient, along with how to create and retrieve collections with the right name, metadata, and embedding function parameters.

This episode covers all data manipulation operations in ChromaDB: add, get, update, upsert, delete, count, and modify, along with the combinations of ids, documents, metadatas, and embeddings you can store all at once in a single call.

This episode dissects the ChromaDB query API: query_texts and query_embeddings, the n_results setting, and the include parameter for choosing which of documents, metadatas, distances, or embeddings are returned, complete with the distance vs similarity interpretation.

This episode covers embeddings and embedding functions in ChromaDB: the built-in ONNX MiniLM model that runs locally without an API key, switching to sentence-transformers or OpenAI, using pre-computed embeddings, and writing a custom embedding function.

This episode covers metadata filtering with the where clause: the $eq, $ne, $in, $nin, $gt, $lt, $gte, and $lte operators, nested metadata, $and and $or logic, and document search via $contains, $not_contains, and regex.

This episode covers full-text search for precise keyword matching and relevance scoring, then hybrid search strategies that combine vector, full-text, and metadata, including fusion and rerank approaches for accurate RAG retrieval.

This episode covers the L2, cosine, and inner product distance functions and when to use each according to your embedding model, then dives into HNSW index tuning: the ef_construction, M, and ef search parameters along with the recall, latency, and memory trade-offs.
