Chroma - Open-Source Data Infrastructure for AI

Fast, scalable, serverless vector, hybrid, and full-text search for AI applications.

Stars
★ 30k
Last updated
1d ago
License
Apache-2.0
Primary language
Rust

At a glance

How it runs
Library / SDKSelf-hosted serviceHosted service
Works with
Universal · cross-platform
Cost
Free tier plus a paid hosted plan
Setup effort
Low · running in minutes
You'll need
PythonNode.jsShell / CLILocal filesystem
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

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.

  1. Prototyping: developers install chromadb via pip and quickly build in-memory vector search for proof-of-concept.
  2. Shared backend: teams use client-server mode to share a persistent vector database across multiple applications.
  3. Scalable cloud: enterprises leverage Chroma Cloud to create a database in under 30 seconds for serverless full-text and hybrid search.
  4. 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?

Pros
  • 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
Limitations
  • 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?

FollowAgents source review · FARS-2.1
Major gaps
45/ 100 5-point scale 2.3 / 5
Trust 0/29
Reliability 9/14
Adaptability 12/18
Convention 12/18
Effectiveness 9/13
Verifiability 3/8
Why each dimension lost points
Trust0 / 29 · 0.0/5

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.

Reliability9 / 14 · 3.2/5

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.

Adaptability12 / 18 · 3.3/5

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.

Convention12 / 18 · 3.3/5

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.

Effectiveness9 / 13 · 3.5/5

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.

Verifiability3 / 8 · 1.9/5

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.

Risks and how to mitigate them
  • 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.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 65c7d1e9096d New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. 1.5.9
    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 ↗
  2. cli-1.4.4
    Release notes excerpt
    CLI release.
    View on GitHub ↗
  3. 1.5.8
    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 ↗

FAQ

How much free credit for Chroma Cloud?
$5 free credits provided, enough to create a database in under 30 seconds.
Does it support persistence?
Yes, in client-server mode you can set a path for database storage.
Can I provide my own embeddings?
Yes, the README states you can skip automatic embedding and add your own.
What are the runtime requirements?
Python for the pip client or Node.js for the npm client.
View on GitHub ↗ Install ↓

Related agents