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.
Latest ReleaseLatest main branchSpecific VersionFrom PR Branch
1. pip install chromadb
Directly from Github:
1. pip install git+https://github.com/chroma-core/chroma.git@main
From test PyPI:
1. pip install --index-url https://test.pypi.org/simple/ chromadb
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:
1. pip install chromadb==<x.y.z>
Directly from Github (replace x.y.z with the tag of the version you want to install):
1. 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.
1. pip install git+https://github.com/chroma-core/chroma.git@<branch_name>
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.
Latest ReleaseLatest main branchSpecific Version
1. pip install chromadb-client
From test PyPI:
1. pip install --index-url https://test.pypi.org/simple/ chromadb-client
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:
1. pip install chromadb==<x.y.z>
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.
YarnNPMPNPMGitHub
1. yarn install chromadb chromadb-default-embed
1. npm install --save chromadb chromadb-default-embed
1. pnpm install chromadb chromadb-default-embed
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:
1. //npm.pkg.github.com/:_authToken=TOKEN
2. @chroma-core:registry=https://npm.pkg.github.com
Replace TOKEN with your GitHub token. More info can be found here.
1. npm install --save @chroma-core/chromadb
July 16, 2024
