chroma
Manage Chroma vector database
TLDR
Highlight source code from a file with the Python lexer and output to stdout
Highlight source code from a file with the Go lexer and output to an HTML file
Highlight source code from stdin with the C++ lexer and output to an SVG file, using the Monokai style
List available lexers, styles and formatters
SYNOPSIS
chroma [OPTIONS] [SUBCOMMAND] [ARGS]...
Examples:chroma --version
chroma run --port 8000
chroma migrate
PARAMETERS
--version
Displays the installed version of the ChromaDB client.
--help
Shows a help message for the `chroma` command or a specific subcommand.
[SUBCOMMAND]
Specifies a particular operation to perform (e.g., `run`, `migrate`). Specific options and arguments apply to each subcommand.
DESCRIPTION
The `chroma` command-line utility is an entry point for interacting with ChromaDB, an open-source, AI-native embedding database. It is not a standard Linux command found pre-installed on most distributions. Instead, it's typically installed by users via Python's package manager, `pip`, as part of the `chromadb` library. Its primary purpose is to manage and operate a ChromaDB instance, facilitating tasks such as starting the database server, executing schema migrations, and checking the installed version.
Unlike traditional single-purpose Linux commands, `chroma` predominantly functions as a dispatcher for various subcommands, each performing a specific operation related to the database. This modular approach allows for a flexible and extensible interface for database administration and development workflows. It bridges the gap between programmatic interaction with ChromaDB and direct command-line control for common administrative tasks.
CAVEATS
The `chroma` command is not a core component of typical Linux operating systems. It must be explicitly installed, usually via `pip install chromadb`. Its functionality is entirely dependent on the ChromaDB project and serves as its command-line interface, not a general-purpose system utility. Users should consult the official ChromaDB documentation for the most up-to-date information on subcommands and their specific options.
COMMON SUBCOMMANDS
While `chroma` itself has limited direct options, its power lies in its subcommands:
- run: Starts the ChromaDB server instance, typically used for local development or deployment. Accepts various options for configuration (e.g., `--host`, `--port`).
- migrate: Executes pending database schema migrations, essential for updating an existing ChromaDB instance to a newer version.
- shell: (If applicable in future versions) Provides an interactive shell for direct database interaction.
INSTALLATION
The `chroma` command is made available after installing the `chromadb` Python package. This is typically done using `pip`, the Python package installer:pip install chromadb
After installation, the `chroma` executable will be available in your system's PATH, assuming Python's script directory is included.
HISTORY
The `chroma` CLI tool evolved as an integral part of the ChromaDB project, which was developed to address the burgeoning need for efficient storage and retrieval of vector embeddings in modern AI applications, particularly those leveraging Large Language Models (LLMs). Conceived as an open-source, developer-friendly embedding database, ChromaDB aimed to simplify the infrastructure layer for AI developers. The `chroma` command-line interface was introduced to provide a direct, convenient method for managing ChromaDB instances, from initial setup and server orchestration to database migrations and version checks, reflecting the project's commitment to ease of use and accessibility. Its development parallels the rapid growth of the AI embedding space since the early 2020s.