Discover / RAG & Knowledge
Chroma
by chroma-coreRust
Open-source embedding database for building LLM apps.
Maturity: stable because 4y old, 1.5.9 released 90d ago. Derived from release and commit history, not a rating.
- Stars
- 29k
- Forks
- 2.4k
- Downloads / mo
- 12.8M
- Last commit
- 2026-07-31
- License
- Apache-2.0
- Open issues
- 756
Market and trust evidence
Edition not yet matchedNo exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.
Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.
In practice
Written by AI from this repository’s README · medium confidencePrototyping retrieval means wiring tokenization, embedding and indexing together before you can query anything.
Use it when
Use it when you want the shortest path from documents to semantic queries in Python or JavaScript.
Not the right pick when
The default client is in memory for prototyping, so production use means client-server mode or the hosted service.
Capabilities
- in memory client for easy prototyping with persistence available
- client-server mode started with chroma run
- automatic tokenization, embedding and indexing of documents
- metadata and document content filters on queries
- Python and JavaScript client packages released on a weekly cadence
Cost: Open source with a paid cloud option
Install
Derived from the published package name in the repository, not from a model.
Video walkthroughs
Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.
What the repository ships
Detected from the actual files in the repository root.
Latest release 1.5.9
Published 2026-05-05
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: block functions on topology dbs by @rescrv in https://github.com/chroma-core/chroma/pull/6836
- ENH: 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
- [ENH]: Enable rebuilds for sharded collections by @tanujnay112 in https://github.com/chroma-core/chroma/pull/6916
- [ENH]: Group by support with sharding by @sanketkedia in https://github.com/chroma-core/chroma/pull/6909
- [CHORE]: Denormalize tenant and database into collection_compaction_cursors table by @tanujnay112 in https://github.com/chroma-core/chroma/pull/6940
- [CHORE] Use normalized record sets for test add by @rescrv in https://github.com/chroma-core/chroma/pull/6935
- [ENH]: Add workflow to build and publish service container images by @jasonvigil in https://github.com/chroma-core/chroma/pull/6944
- [ENH] - Updates language around Chroma Cloud to be more representative. by @tjkrusinskichroma in https://github.com/chroma-core/chroma/pull/6952
- [ENH]: Add change stream to collection compaction cursors by @tanujnay112 in https://github.com/chroma-core/chroma/pull/6955
- [BUG] Switch to storing DOCKERHUB_USERNAME as var by @jasonvigil in https://github.com/chroma-core/chroma/pull/6962
- [CHORE]: Standardize Tilt CI image build on root docker-bake.hcl by @jasonvigil in https://github.com/chroma-core/chroma/pull/6958
- [BUG]: Rename database on soft delete by @tanujnay112 in https://github.com/chroma-core/chroma/pull/6943
- Revert "[CHORE]: Standardize Tilt CI image build on root docker-bake.hcl" by @jasonvigil in https://github.com/chroma-core/chroma/pull/6965
- ENH: name and size all worker threads by @rescrv in https://github.com/chroma-core/chroma/pull/6936
- BUG: simplify flaky indexing progress test by @rescrv in https://github.com/chroma-core/chroma/pull/6968
- [CHORE] stabilize Tilt dev environment configs by @rescrv in https://github.com/chroma-core/chroma/pull/6937
- BUG: use correct version file per collection in ancestor walk by @rescrv in https://github.com/chroma-core/chroma/pull/6970
- [ENH] Add SparsePostingBlock by @HammadB in https://github.com/chroma-core/chroma/pull/6823
- [ENH] Add basic maxscore writer/reader by @HammadB in https://github.com/chroma-core/chroma/pull/6825
- [ENH] Add maxscore lazy cursor by @HammadB in https://github.com/chroma-core/chroma/pull/6829
- [ENH] Add SIMD for maxscore by @Sicheng-Pan in https://github.com/chroma-core/chroma/pull/6865
- [ENH] Benchmark maxscore by @Sicheng-Pan in https://github.com/chroma-core/chroma/pull/6866
- [ENH] Add maxscore option in schema by @Sicheng-Pan in https://github.com/chroma-core/chroma/pull/6878
- [ENH] Add maxscore index to metadata segment by @Sicheng-Pan in https://github.com/chroma-core/chroma/pull/6880
- [ENH] Wire maxscore reader in search by @Sicheng-Pan in https://github.com/chroma-core/chroma/pull/6899
- [PERF] Batch load lazy cursor by @Sicheng-Pan in https://github.com/chroma-core/chroma/pull/6974
- ENH: add MCMR support for log GC by @rescrv in https://github.com/chroma-core/chroma/pull/6946
- ENH: parameterize multi-region config by @rescrv in https://github.com/chroma-core/chroma/pull/6951
- [CHORE] fix merge conflict in main by @rescrv in https://github.com/chroma-core/chroma/pull/6986
- [ENH]: Refactor offset_id to be a mutable AtomicU32 in record by @tanujnay112 in https://github.com/chroma-core/chroma/pull/6922
- ENH: add spanner-cli wrapper binary by @rescrv in https://github.com/chroma-core/chroma/pull/6959
- BUG: preserve legacy hnsw: metadata keys by @rescrv in https://github.com/chroma-core/chroma/pull/6953
*
Tags
README
Chroma
Chroma
<p align="center">
<b>Chroma - the open-source data infrastructure for AI</b>. <br />
</p>
<p align="center">
<a href="https://discord.gg/MMeYNTmh3x" target="_blank">
<img src="https://img.shields.io/discord/1073293645303795742?cacheSeconds=3600" alt="Discord">
</a> |
<a href="https://github.com/chroma-core/chroma/blob/master/LICENSE" target="_blank">
<img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License">
</a> |
<a href="https://docs.trychroma.com/" target="_blank">
Docs
</a> |
<a href="https://www.trychroma.com/" target="_blank">
Homepage
</a>
</p>
pip install chromadb # python client
# for javascript, npm install chromadb!
# for client-server mode, chroma run --path /chroma_db_path
Chroma Cloud
Our hosted service, Chroma Cloud, powers serverless vector, hybrid, and full-text search. It's extremely fast, cost-effective, scalable and painless. Create a DB and try it out in under 30 seconds with $5 of free credits.
API
The core API is only 4 functions (run our 💡 Google Colab):
import chromadb
# setup Chroma in-memory, for easy prototyping. Can add persistence easily!
client = chromadb.Client()
# Create collection. get_collection, get_or_create_collection, delete_collection also available!
collection = client.create_collection("all-my-documents")
# Add docs to the collection. Can also update and delete. Row-based API coming soon!
collection.add(
documents=["This is document1", "This is document2"], # we handle tokenization, embedding, and indexing automatically. You can skip that and add your own embeddings as well
metadatas=[{"source": "notion"}, {"source": "google-docs"}], # filter on these!
ids=["doc1", "doc2"], # unique for each doc
)
# Query/search 2 most similar results. You can also .get by id
results = collection.query(
query_texts=["This is a query document"],
n_results=2,
# where={"metadata_field": "is_equal_to_this"}, # optional filter
# where_document={"$contains":"search_string"} # optional filter
)
Learn about all features on our Docs
Get involved
Chroma is a rapidly developing project. We welcome PR contributors and ideas for how to improve the project.
- Join the conversation on Discord -
#contributingchannel - Review the 🛣️ Roadmap and contribute your ideas
- Grab an issue and open a PR -
Good first issue tag - Read our contributing guide
Release Cadence
We currently release new tagged versions of the pypi and npm packages on Mondays. Hotfixes go out at any time during the week.
License
Apache 2.0