Chroma — Embedding database Apache-2.0 per LLM e RAG, con API minimalista e core Rust ricostruito
Embedding database Apache-2.0 per LLM e RAG, con API minimalista e core Rust ricostruito
Chroma è un embedding database (vector store) Apache-2.0 pensato per semplicità di adozione in applicazioni LLM. Il core è riscritto in Rust; i client Python e TypeScript espongono 4 operazioni principali (create, read, query, delete). Supporta ricerca semantica vettoriale, BM25/SPLADE full-text, sparse vector e metadata filtering. Deploy: in-memory, single-node locale (pip), Docker (chromadb/chroma su Docker Hub), e modalità Distributed su object storage S3/GCS (fully OSS). Autenticazione tramite token Bearer o Basic auth (nessun RBAC). Chroma Cloud (serverless, GA agosto 2025) è il tier managed opzionale.
Perché è nel catalogo
Chroma è la scelta più rapida per prototipare RAG pipeline: l'API di 4 funzioni riduce la curva di apprendimento e il time-to-first-query. Con 15M+ download/mese e 90k+ repository GitHub che lo usano, è tra i vector store più adottati nell'ecosistema Python. La modalità Distributed su object storage è completamente open-source. L'assenza di RBAC nativo e di Helm chart ufficiale sono limitazioni rilevanti per deployment enterprise multi-tenant su Kubernetes.
Come lo integriamo
Non installiamo semplicemente Chroma. Lo integriamo in uno stack AI controllato, documentato e mantenibile: deploy Docker o Kubernetes con Helm chart verificato, autenticazione configurata, scelta della modalità di storage appropriata al carico e documentazione operativa completa.
Licenza
SPDX: Apache-2.0
Apache License 2.0
Apache-2.0 puro senza restrizioni commerciali. Tutte le modalità di deploy (embedded, single-node, distributed) sono open-source. Chroma Cloud è il servizio SaaS separato. SOC 2 Type II certificato.
Caratteristiche tecniche
| Docker | ✓ sì |
| Kubernetes | ✓ sì |
| Helm chart | — no |
| Self-hosted | ✓ sì |
| GPU richiesta | — no |
| GPU note | Nessuna GPU richiesta per il database. Embedding function opzionali (sentence-transformers) possono usare GPU. |
| API | ['REST'] |
| Multi-utente | — no |
| Auth/RBAC | Token Bearer (X-Chroma-Token) o Basic auth (htpasswd). Configurazione via variabili d'ambiente (CHROMA_SERVER_AUTHN_PROVIDER, CHROMA_SERVER_AUTHN_CREDENTIALS). Nessun RBAC granulare. |
| Persistenza | ✓ sì |
| Linguaggio | Rust |
| Ultima release | 1.4.2 (2025) |
| Manutenzione attiva | ✓ sì |
| GitHub stars (approx) | 28.300 |
| Azienda | Chroma (chroma-core), San Francisco, CA |
Note editoriali
Limitazioni enterprise rilevanti: nessun RBAC nativo (auth binario autenticato/non) e nessun Helm chart ufficiale. Per deployment multi-tenant enterprise con access control granulare considerare Qdrant (RBAC JWT per-collection) o Weaviate (RBAC OIDC). La riscrittura core in Rust è in corso: versioni con suffisso .dev indicano pre-release rolling. Chroma Cloud in GA da agosto 2025. SOC 2 Type II certificato.