Chroma
An embedded, developer-friendly vector database. The fastest path from "I have some docs" to "I have a working RAG prototype".
Category
Vector Databases
Difficulty
Beginner
When to use
Prototyping, local development, or small production apps where a lightweight embedded store is enough.
When not to use
You need billion-scale search, strict durability guarantees, or rich filtering and SQL joins.
Alternatives
pgvector Qdrant LanceDB FAISS
At a glance
| Field | Value |
|---|---|
| Category | Embedded vector database |
| Difficulty | Beginner |
| When to use | Prototyping, notebooks, small RAG apps |
| When not to use | Huge scale, strict SLAs |
| Alternatives | pgvector, Qdrant, LanceDB, FAISS |
What it is
Chroma runs in-process (or as a small server) with a minimal Python API. You create a collection, add documents with embeddings and metadata, and query by nearest neighbor. Persistence is a local directory. No separate database to run for your first prototype.
When we reach for it at Ephizen
- Early RAG experiments in notebooks.
- Internal tools with a few thousand to a few hundred thousand documents.
- Demos and workshops where spinning up a real database would be overkill.
Getting started
import chromadb
client = chromadb.PersistentClient(path=".chroma")
col = client.get_or_create_collection("faq")
col.add(
documents=["Refunds within 30 days.", "Ship in 2 business days."],
ids=["r1", "s1"],
)
print(col.query(query_texts=["when do I get my money back?"], n_results=2))
Gotchas
- Chroma is optimized for developer experience, not raw throughput. Benchmark before committing to a production scale.
- The default embedding function calls an external API — configure it explicitly so you know where data is going.
- Migrating Chroma to another store later is straightforward because you own the raw embeddings and metadata.
Related tools
- pgvectorA PostgreSQL extension that adds vector types, distance operators, and ANN indexes. Turns your existing database into a vector store.
- PineconeA managed vector database designed for production semantic search and RAG — no servers to run, scale and latency handled for you.
- WeaviateOpen-source vector database with built-in hybrid search, modules for embedding generation, and strong filtering.