Skip to main content

chromadb

Catalog date: 2026-06-24.

A vector store used for embedding indices in dev cells and small- collection production cases. Larger production cells use milvus instead — ChromaDB stays in the topology so the local-dev compose stack and per-cell base manifests keep parity.

Identity​

FieldValue
Service idchromadb
Rolevector-store
Imagechromadb/chroma:1.0.16
Port8000 (in-cluster) / 8001 (host bind in compose to avoid clashing with alphaswarm-core)
Storageephemeral by default; PVC-backed in cluster

Deployment surfaces​

SurfaceWhere
Composeservice chromadb in alphaswarm_platform/compose/docker-compose.yml
Kustomizedeployments/kubernetes/base-services/chromadb/
Companionbase-services/milvus/ — production-grade alternative

Dependencies​

Upstream: none.

Downstream:

  • alphaswarm-core — via alphaswarm/data/chroma_store.py (ChromaStore), which holds the datasets (file-level metadata for the Data Scout), memories (long-term agent memory), and alphaswarm_code_snippets collections. No ALPHASWARM_VECTOR_STORE flag was found in the codebase; connectivity is controlled by ALPHASWARM_CHROMA_HOST / chroma_host (default localhost, falls back to an embedded PersistentClient when unset).
  • alphaswarm-worker for embedding ingest tasks.

Note: the HierarchicalRAG package (now canonically implemented in alphaswarm_kb, re-exported from alphaswarm/rag/) does not use ChromaDB for its retrieval vectors — per its own docstring, "all vector storage, BM25 caches, and reflection logs go through the single Redis instance"; Chroma is used only for the dataset/code/memory metadata collections above.

Operations​

  • Collection lifecycle: managed by ChromaStore (alphaswarm/data/chroma_store.py); never created directly by agents.
  • Vector dimensions: must match the active embedding model. The configured default is chroma_embedding_model = "all-MiniLM-L6-v2" (alphaswarm_config settings), not BAAI/bge-m3 — falls back to Chroma's DefaultEmbeddingFunction if sentence-transformers isn't installed.
  • Backup: the in-cell PVC is snapshotted nightly; production cells with significant collections should swap to Milvus.

See also​