Chroma - Open-Source Data Infrastructure for AI
Fast, scalable, serverless vector, hybrid, and full-text search for AI applications.
- Source repo
- chroma-core/chroma
- Stars
- ★ 30k
- Last updated
- 1d ago
- License
- Apache-2.0
- Primary language
- Rust
- FA score
- 45/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platform
- Cost
- Free tier plus a paid hosted plan
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- Prototyping: developers install chromadb via pip and quickly build in-memory vector search for proof-of-concept.
- Not a fit if
- Teams needing documented security and access control
- Teams that must avoid any hosted service entirely
- Source review
- 45/100 · Major gaps 8 safety controls not found
What does this agent do, and when should you use it?
Chroma is an open-source vector database designed for AI applications, offering a minimal API of just 4 functions for creating collections, adding documents, and performing similarity searches. It supports both in-memory and client-server modes, with Python and JavaScript clients. The hosted service Chroma Cloud provides serverless vector, hybrid, and full-text search, with a free trial. The project is Apache 2.0 licensed, with weekly releases and an active community.
Chroma enables vector search: users create collections, add documents (with automatic tokenization, embedding, and indexing), and query for top similar results. It supports metadata and document filtering. The Python client (pip install chromadb) and JavaScript client (npm install chromadb) provide programmatic access. In client-server mode, chroma run --path /chroma_db_path starts a server for persistent storage and multi-instance access.
- Prototyping: developers install chromadb via pip and quickly build in-memory vector search for proof-of-concept.
- Shared backend: teams use client-server mode to share a persistent vector database across multiple applications.
- Scalable cloud: enterprises leverage Chroma Cloud to create a database in under 30 seconds for serverless full-text and hybrid search.
- Filtered retrieval: applications use metadata and document filters to narrow search results among large document collections.
How do you install or deploy this agent?
Install the Python client with pip install chromadb, or the JavaScript client with npm install chromadb.
How do you use this agent?
Import chromadb and create a client, e.g., client = chromadb.Client(). Create a collection, e.g., client.create_collection('all-my-documents'). Add documents with metadata and IDs. Query with collection.query(query_texts=['...'], n_results=2). For server mode, run chroma run --path /chroma_db_path.
What are this agent's strengths and limitations?
- Minimal API: only 4 main functions, reducing learning curve
- Flexible deployment: in-memory and client-server modes
- Managed cloud option: Chroma Cloud offers easy setup and cost efficiency
- Early-stage project may lack enterprise features
- Requires Python or Node.js environment
- No explicit security or access control documentation
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Chroma - Open-Source Data Infrastructure for AI This agent | 45 · Major gaps | Library / SDKFreemium | ★ 30k | 1d ago | Rust | — |
| txtai: All-in-One AI Framework | 58 · Major gaps | Library / SDKFree + model costs | ★ 13k | 2d ago | Python | OpenAI API · Claude API |
| Memvid Portable Agent Memory | 46 · Major gaps | Library / SDKFree + model costs | ★ 17k | 3mo ago | Rust | OpenAI API |
| DDC CWICR Construction Cost Database | 41 · Major gaps | Self-hosted serviceFree + model costs | ★ 252 | 1mo ago | HTML | OpenAI API |
How does FollowAgents rate this agent?
Why each dimension lost points
The evidence shows this is an open-source vector database project, but no explicit information is provided on least privilege, user confirmation, data flow transparency, sensitive data handling, dependency security, external effects, rollback, or source attribution. Therefore, all trust criteria score 0.
Self-consistency: The codebase structure is clear, Cargo.toml and pyproject.toml are well-defined, and test files exist, indicating good internal consistency. Dependency availability: Dependency lists are complete, but no lock files or verification mechanisms are provided, so score 2. Failure messages: Test files show error handling mechanisms, but not comprehensive, score 2.
Audience and scenarios: README clearly states it is search infrastructure for AI, with usage examples. Capability boundaries: Documentation describes core API but not explicit boundaries. Trigger precision: API design is clear, but no trigger mechanisms. Environment fit: Supports Python and JavaScript, but environment requirements not detailed.
Information architecture: README and docs structure clear. Install notes: pip install command provided. Naming stability: Project name and API naming consistent. Examples and FAQ: Colab example provided, but no FAQ. Known limitations: Not explicitly listed. License: Apache 2.0, complete. Versioning and changelog: Version numbers present, but no changelog. Maintenance responsibility: Contribution guide and Discord, but maintainers not explicit.
Output usability: API design is concise, output format clear. Marginal value: As open-source, provides basic functionality. Cost-benefit: Free and open-source, but no performance data.
Claim traceability: Claims in README lack detailed evidence. Cross-source corroboration: No external verification. Fact-inference separation: Documentation does not clearly distinguish facts and inferences.
- Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
- Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
- Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
- Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
- Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
- Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
- No dependency lock files provided, posing supply chain risk.
- No explicit permission model, may grant excessive permissions by default.
- No rollback mechanism, upgrade failures may be hard to recover.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
Version: 1.5.9 Git ref: refs/tags/1.5.9 Build Date: 2026-05-05T05:55 PIP Package: chroma-1.5.9.tar.gz Github Container Registry Image: :1.5.9 DockerHub Image: :1.5.9 What's Changed * [ENH](frontend): block functions on topology dbs by @rescrv in https://github.com/chroma-core/chroma/pull/6836 * [ENH](faults): Add Tilt fault injection CLI by @rescrv in https://github.com/chroma-core/chroma/pull/6881 * [CHORE] Debug TimeoutError in test_add.py by @rescrv in https://github.com/chroma-core/chroma/pull/6905 …View on GitHub ↗ -
Release notes excerpt
Version: 1.5.8 Git ref: refs/tags/1.5.8 Build Date: 2026-04-16T23:35 PIP Package: chroma-1.5.8.tar.gz Github Container Registry Image: :1.5.8 DockerHub Image: :1.5.8 What's Changed * [ENH]: Make materialize_logs aware of sharding by @tanujnay112 in https://github.com/chroma-core/chroma/pull/6833 * [ENH]: retry per shard instead of every shard by @sanketkedia in https://github.com/chroma-core/chroma/pull/6841 * [ENH]: Integrate seal operator for sharded collections by @tanujnay112 in https://github.com/chroma-core/chroma/pull/6842 …View on GitHub ↗