Installation¶
Chroma single node is split into two packages: chromadb
and chromadb-client
. The chromadb
package is the core
package that provides the database functionality, while the chromadb-client
package provides the Python client for
interacting with the database.
In addition to the python packages Chroma also provides a JS/TS client package.
Core (Python) - Single Node¶
The core Chroma package installs the full Chroma version which can be uses for local development and testing.
Backward compatibility
While Chroma strives to be as compatible with older versions as possible, certain releases introduce breaking changes and most importantly database migrations. All database migrations are irreversible and once upgraded to a new version of Chroma, you cannot downgrade to an older version.
Releases
You can find Chroma releases in PyPI here.
Directly from Github:
From test PyPI:
Installing a specific version of Chroma is useful when you want to ensure that your code works with a specific version of Chroma. To install a specific version of Chroma, run:
From PyPI:
Directly from Github (replace x.y.z
with the tag of the version you want to install):
pip install git+https://github.com/chroma-core/[email protected]
It is sometimes useful to install a version of Chroma that has still some unrelease functionality. Like a PR that either fixes a bug or brings in a new functionality you may need. To test such unreleased code it is possible to install directly from GH PR branch.
ChromaDB Python Client¶
Chroma python client package chromadb-client
provides a thin client for interacting with the Chroma database. The
client interface is fully compatible with the core Chroma package so it can be interchangeably used with the core
package.
Releases
You can find Chroma releases in PyPI here.
Default Embedding Function
The thin client is light-weight in terms of dependencies and as such the Default Embedding Function is not supported.
It is possible to install onnxruntime
dependency and use the chromadb.utils.embedding_functions.ONNXMiniLM_L6_V2
EF in place of chromadb.utils.embedding_functions.DefaultEmbeddingFunction
. It is not recommended to run inference
(local EFs like the default EF) in resource constrained environments.
Chroma JS/TS Client¶
To install the Chroma JS/TS client package, use the following command depending on your package manager.
To install from GitHub, visit https://github.com/chroma-core/chroma/pkgs/npm/chromadb.
NPM Auth
GitHub requires npm authentication to fetch packages. To authenticate with the GitHub NPM registry, you need to create a .npmrc
file in your project directory with
the following content:
Replace TOKEN
with your GitHub token. More info can be found here.