# Cloud - [Chroma Cloud](https://docs.trychroma.com/cloud/getting-started.md): The page introduces Chroma Cloud, a fully managed, serverless, and scalable service based on the open-source Chroma engine, emphasizing its ease of use, reliability, security, deployment options, and features like a web dashboard for data management. - [Pricing](https://docs.trychroma.com/cloud/pricing.md): The page outlines Chroma Cloud's usage-based pricing model, detailing costs associated with writes, reads, and storage, alongside FAQs and a pricing calculator link. - [Quotas & Limits](https://docs.trychroma.com/cloud/quotas-limits.md): The page outlines the quotas and limits enforced by Chroma Cloud to maintain stability and fairness in a multi-tenant environment, and provides details on various specific limits and the possibility of increasing quotas upon request. # Docs - [Browsing Collections](https://docs.trychroma.com/docs/cli/browse.md): The page explains how to use the Chroma CLI to browse collections from Chroma Cloud or a local server, including a description of the Collection Browser UI and its features. - [Copy Chroma Collections](https://docs.trychroma.com/docs/cli/copy.md): The page explains how to use the Chroma CLI to copy collections between a local Chroma server and Chroma Cloud, detailing arguments and providing examples of usage for both copying directions. - [DB Management on Chroma Cloud](https://docs.trychroma.com/docs/cli/db.md): The page provides instructions on using the Chroma CLI to manage databases on Chroma Cloud, including commands for connecting, creating, deleting, and listing databases associated with a user profile. - [Installing the Chroma CLI](https://docs.trychroma.com/docs/cli/install.md): The page provides instructions on installing the Chroma CLI, including using Python with pip or pipx, JavaScript with various package managers, and as a standalone global program using cURL or iex on Windows. - [Authenticating with Chroma Cloud](https://docs.trychroma.com/docs/cli/login.md): The page explains how to authenticate the Chroma CLI with a Chroma Cloud account, detailing the process of logging in, selecting a team, and managing profiles. - [Profile Management](https://docs.trychroma.com/docs/cli/profile.md): The page explains how to manage profiles in the Chroma CLI, covering commands for deleting, listing, showing, renaming, and setting active profiles. - [Running a Chroma Server](https://docs.trychroma.com/docs/cli/run.md): The page explains how to run a Chroma server locally using the Chroma CLI and how to connect to it using a client in Python or TypeScript. - [Sample Apps](https://docs.trychroma.com/docs/cli/sample-apps.md): The page describes how to use the Chroma CLI to install and set up sample AI applications provided by Chroma, including instructions for installation and listing available apps. - [Update](https://docs.trychroma.com/docs/cli/update.md): The page explains the `chroma update` command, which informs users if they need to update their CLI installation and provides guidance on updating the `chromadb` package to get the latest CLI version. - [Vacuuming](https://docs.trychroma.com/docs/cli/vacuum.md): The page provides information on vacuuming in Chroma, describing its purpose, when it is necessary, and instructions on how to execute it. - [Adding Data to Chroma Collections](https://docs.trychroma.com/docs/collections/add-data.md): The page explains how to add data to Chroma collections using the `.add` method, including options for adding documents, embeddings, and metadata along with considerations for uniqueness and compatibility. - [Configuring Chroma Collections](https://docs.trychroma.com/docs/collections/configure.md): The page details how to configure Chroma collections, specifically focusing on customizing index configurations like HNSW for Single Node and SPANN for Distributed and Chroma Cloud, as well as setting the embedding function used in creating the collection. - [Deleting Data from Chroma Collections](https://docs.trychroma.com/docs/collections/delete-data.md): The page explains how to delete items from Chroma collections using the `.delete` method in both Python and TypeScript, highlighting the use of `id` and `where` filters, and warning that this operation is irreversible. - [Managing Chroma Collections](https://docs.trychroma.com/docs/collections/manage-collections.md): The page provides detailed instructions on managing Chroma collections, including creating, getting, modifying, and deleting collections, specifying embedding functions, and using convenience methods. - [Updating Data in Chroma Collections](https://docs.trychroma.com/docs/collections/update-data.md): The page explains how to update or upsert data in Chroma collections, using Python and TypeScript code examples, and handling scenarios when records are not found or when embedding dimensions mismatch. - [Embedding Functions](https://docs.trychroma.com/docs/embeddings/embedding-functions.md): The page describes embedding functions in Chroma, detailing how they represent various data types for AI applications, how to integrate with popular embedding providers, the default embedding function, and how to use and create custom embedding functions. - [Multimodal](https://docs.trychroma.com/docs/embeddings/multimodal.md): The page explains how to create, use, and manage multimodal collections in Chroma, detailing support for multiple data modalities like text and images, embedding functions, data loaders, and querying capabilities. - [About](https://docs.trychroma.com/docs/overview/about.md): The page provides information about Chroma, including its team, commitment to open-source, funding, and investors. - [Architecture](https://docs.trychroma.com/docs/overview/architecture.md): The page provides an overview of Chroma's modular architecture, covering deployment modes, core components, and operational details along with the trade-offs of using distributed Chroma for scalable data management and retrieval. - [Contributing](https://docs.trychroma.com/docs/overview/contributing.md): The page provides guidelines for contributing to the Chroma project, including submitting code, reporting issues, creating Chroma Improvement Proposals (CIPs), and engaging with the community for feature discussions. - [Chroma Data Model](https://docs.trychroma.com/docs/overview/data-model.md): The page explains Chroma's data model, detailing its core abstractions—Tenants, Databases, and Collections—for organizing and managing data efficiently. - [Getting Started](https://docs.trychroma.com/docs/overview/getting-started.md): The page provides a comprehensive guide to getting started with Chroma, an open-source vector database, including installation, client creation, collection management, document addition, querying, and exploration of results, with code examples in Python and TypeScript. - [Chroma](https://docs.trychroma.com/docs/overview/introduction.md): The page provides an overview of Chroma, an open-source AI application database for building LLM apps, detailing its features, client SDKs for various programming languages, and offering a getting started guide and contribution opportunities. - [Migration](https://docs.trychroma.com/docs/overview/migration.md): The page outlines Chroma's approach to managing schema and data format changes, including providing migration tools and detailed change logs for transitions between versions, with specific guidance for different client configurations, backend implementations, and authentication modifications. - [Roadmap](https://docs.trychroma.com/docs/overview/roadmap.md): The page outlines the Chroma project's roadmap, detailing current initiatives, recent completions, future priorities, and areas open for community contributions. - [Telemetry](https://docs.trychroma.com/docs/overview/telemetry.md): The page explains Chroma's telemetry feature, including its purpose, how to opt out, what usage data is tracked, and where the telemetry information is stored. - [Troubleshooting](https://docs.trychroma.com/docs/overview/troubleshooting.md): The page provides troubleshooting solutions for common issues encountered in Chroma, including JS-Client failures on NextJS projects, HNSW index errors, large data directories, SQLite version problems, and installation errors, with tips and configuration guidance provided. - [Full Text Search and Regex](https://docs.trychroma.com/docs/querying-collections/full-text-search.md): The page explains how to use full-text search and regex filters in Python and TypeScript when querying documents in Chroma, including the use of logical operators and combining these searches with metadata filtering. - [Metadata Filtering](https://docs.trychroma.com/docs/querying-collections/metadata-filtering.md): The page explains how to use metadata filtering in Chroma's `get` and `query` operations, including examples of filtering with comparison, logical, and inclusion operators in both Python and TypeScript, as well as combining metadata filtering with document search. - [Query and Get Data from Chroma Collections](https://docs.trychroma.com/docs/querying-collections/query-and-get.md): The page provides detailed instructions on how to query and retrieve data from Chroma collections using both Python and TypeScript, covering methods for similarity searches, data retrieval, result structures, and options for customizing the returned data. - [Running Chroma in Client-Server Mode](https://docs.trychroma.com/docs/run-chroma/client-server.md): The page explains how to configure and run Chroma in client-server mode, providing examples for connecting clients in both Python and TypeScript. - [Cloud Client](https://docs.trychroma.com/docs/run-chroma/cloud-client.md): The page explains how to instantiate a `CloudClient` in Python and TypeScript for connecting to Chroma Cloud, specifying options for using an API key and environment variables for configuration. - [Ephemeral Client](https://docs.trychroma.com/docs/run-chroma/ephemeral-client.md): The page explains how to use the `EphemeralClient` in Python to run a Chroma server in-memory, highlighting its usefulness for experiments without data persistence. - [Persistent Client](https://docs.trychroma.com/docs/run-chroma/persistent-client.md): The page explains how to use the `PersistentClient` in Chroma to save and load databases locally and describes how to connect with the JS/TS client to a Chroma server, including the installation and running of the server. # Guides - [Building with AI](https://docs.trychroma.com/guides/build/building-with-ai.md): The page explains how large language models (LLMs) can be used as a programming primitive to easily extract names from text, illustrating the process through code examples using OpenAI and Anthropic APIs in both Python and TypeScript. - [Introduction to Retrieval](https://docs.trychroma.com/guides/build/intro-to-retrieval.md): The page introduces the concept of retrieval in AI applications, explaining how retrieval systems like Chroma can address limitations of large language models by storing and retrieving data contextually, thus enhancing the accuracy and efficiency of response generation in applications like customer support. - [AWS Deployment](https://docs.trychroma.com/guides/deploy/aws.md): The page provides a detailed guide on deploying Chroma to AWS using a CloudFormation template, covering necessary steps, prerequisites, and configuration options. - [Azure Deployment](https://docs.trychroma.com/guides/deploy/azure.md): The page provides instructions for deploying Chroma on Azure using Terraform, including steps for installation, configuration, client set-up, and observability enhancements with OpenTelemetry. - [Running Chroma in Client-Server Mode](https://docs.trychroma.com/guides/deploy/client-server-mode.md): The page provides instructions for running Chroma in client-server mode, detailing how to set it up using both Python and TypeScript clients, and suggesting deployment options using Docker or cloud providers. - [Docker](https://docs.trychroma.com/guides/deploy/docker.md): The page provides instructions on running Chroma in a Docker container, configuring it with a YAML file, and setting up observability using OpenTelemetry and Zipkin with Docker Compose. - [GCP Deployment](https://docs.trychroma.com/guides/deploy/gcp.md): The page provides a guide for deploying Chroma on Google Cloud Platform using Terraform, including setup instructions, customization options, client configuration, and observability features. - [Observability](https://docs.trychroma.com/guides/deploy/observability.md): The page details Chroma's observability features, focusing on backend observability using OpenTelemetry for tracing and providing configuration instructions, as well as client observability via integrations with various platforms. - [Single-Node Chroma: Performance and Limitations](https://docs.trychroma.com/guides/deploy/performance.md): The page covers the performance and limitations of single-node Chroma, detailing its deployment advantages, stress test results, latency considerations, and system requirements for effective use with large-scale embeddings. - [Chroma's Thin-Client](https://docs.trychroma.com/guides/deploy/python-thin-client.md): The page describes Chroma's lightweight client-only library for running in client-server mode, explaining installation and usage of the `chromadb-client` package instead of the full `chromadb` package. - [](https://docs.trychroma.com/guides/develop/fast-api.md): The page is about integrating Chroma with FastAPI, detailing how to set up and use Chroma within a FastAPI application. - [](https://docs.trychroma.com/guides/develop/next-js.md): The page provides documentation about integrating and using Chroma with Next.js applications. # Integrations - [Integrations](https://docs.trychroma.com/integrations/chroma-integrations.md): The page covers Chroma's integration capabilities, detailing both embedding and framework integrations with various AI tools and libraries, along with their compatibility in Python and Typescript/JavaScript. - [Baseten](https://docs.trychroma.com/integrations/embedding-models/baseten.md): The page provides information on Baseten, a model inference provider, and guides users on integrating Baseten's embedding models with Chroma, including setup instructions for using the `openai` Python package. - [Cloudflare Workers AI](https://docs.trychroma.com/integrations/embedding-models/cloudflare-workers-ai.md): The page provides information on using Chroma's wrapper for Cloudflare Workers AI embedding models, including setup instructions, code examples in Python and TypeScript, and requirements for an API key and Cloudflare account. - [Cohere](https://docs.trychroma.com/integrations/embedding-models/cohere.md): The page provides an overview of Chroma's integration with Cohere's embedding API, including setup instructions and code examples for using the API in both Python and TypeScript, covering multilingual and multimodal model examples. - [Google Gemini](https://docs.trychroma.com/integrations/embedding-models/google-gemini.md): The page provides instructions for using Chroma's wrapper for Google's Generative AI embedding API, including setup and usage examples in Python and TypeScript. - [Hugging Face Server](https://docs.trychroma.com/integrations/embedding-models/hugging-face-server.md): The page explains how to set up and use the Hugging Face Text Embedding Server with Chroma, providing commands and code examples for both Python and TypeScript, as well as information on configuring server-side models and authentication with API keys. - [Hugging Face](https://docs.trychroma.com/integrations/embedding-models/hugging-face.md): The page explains how to use Chroma's wrapper for Hugging Face's embedding API, requiring an API key and allowing for optional model selection. - [Instructor](https://docs.trychroma.com/integrations/embedding-models/instructor.md): The page describes the use of the instructor-embeddings library for generating embeddings with Chroma, highlighting installation instructions, model options, and device compatibility. - [JinaAI](https://docs.trychroma.com/integrations/embedding-models/jina-ai.md): The page describes how to use Chroma's wrapper for JinaAI's embedding API, detailing code examples in Python and TypeScript, usage of late chunking in Jina-embeddings-v3, and the task parameter for optimizing different embedding uses. - [Mistral](https://docs.trychroma.com/integrations/embedding-models/mistral.md): The page describes how to use Chroma's wrapper around Mistral's embedding API, providing instructions for implementation in both Python and TypeScript. - [Ollama](https://docs.trychroma.com/integrations/embedding-models/ollama.md): The page explains how to use Chroma's wrapper around Ollama's embeddings API to generate embeddings for documents using the `OllamaEmbeddingFunction` in both Python and TypeScript. - [OpenAI](https://docs.trychroma.com/integrations/embedding-models/openai.md): The page describes Chroma's wrapper around OpenAI's embedding API, detailing how to use various OpenAI embedding models with Python and TypeScript, and providing information on obtaining and configuring the necessary API keys and settings. - [Roboflow](https://docs.trychroma.com/integrations/embedding-models/roboflow.md): The page explains how to use Roboflow Inference with Chroma to compute multi-modal text and image embeddings using the `RoboflowEmbeddingFunction` class, both via the Roboflow cloud and locally on your hardware. - [Together AI](https://docs.trychroma.com/integrations/embedding-models/together-ai.md): The page explains how to use Chroma's wrapper for Together AI embedding models, including setup requirements, example code in Python and TypeScript, and configuration details for model name and API key integration. - [VoyageAI](https://docs.trychroma.com/integrations/embedding-models/voyageai.md): The page describes how to use Chroma's wrapper for VoyageAI's embedding API in both Python and TypeScript, requiring an API key and illustrating usage with multilingual examples. - [Anthropic MCP Integration](https://docs.trychroma.com/integrations/frameworks/anthropic-mcp.md): The page provides detailed instructions on integrating Anthropic's Claude AI with Chroma's vector database through the Model Context Protocol (MCP), including setup, configuration, and examples of using Chroma for persistent memory and knowledge management. - [Braintrust](https://docs.trychroma.com/integrations/frameworks/braintrust.md): The page introduces Braintrust as an enterprise-grade stack for building AI products, detailing its integration with Chroma and providing a sample Python script for evaluations using Braintrust. - [DeepEval](https://docs.trychroma.com/integrations/frameworks/deepeval.md): The page describes DeepEval, an open-source LLM evaluation framework, including installation, preparation, evaluation metrics, and optimization for Chroma retrievers in RAG systems. - [Haystack](https://docs.trychroma.com/integrations/frameworks/haystack.md): The page describes the integration of the open-source Haystack LLM framework with Chroma, detailing installation instructions and providing code examples for using Chroma with Haystack to write documents into a ChromaDocumentStore and build retrieval-augmented generation (RAG) pipelines. - [Langchain](https://docs.trychroma.com/integrations/frameworks/langchain.md): The page provides resources and links for integrating Langchain with Chroma in both Python and JavaScript, including tutorials, demos, and documentation. - [LlamaIndex](https://docs.trychroma.com/integrations/frameworks/llamaindex.md): The page provides links and information related to using LlamaIndex as a vector store in Chroma, including a documentation page, demo, and Chroma Loader on Llamahub. - [OpenLIT](https://docs.trychroma.com/integrations/frameworks/openlit.md): The page introduces OpenLIT, an LLM Application Observability tool with OpenTelemetry auto-instrumentation for Chroma, and provides a guide for installing and initializing OpenLIT, as well as visualizing LLM Observability data. - [OpenLLMetry](https://docs.trychroma.com/integrations/frameworks/openllmetry.md): The page introduces OpenLLMetry, an observability tool for systems using Chroma, and provides installation and configuration instructions. - [Streamlit](https://docs.trychroma.com/integrations/frameworks/streamlit.md): The page introduces Streamlit and describes how to use it with Chroma, highlighting installation, main benefits, a simple example, resources, and tutorials for integrating Chroma with Streamlit. - [VoltAgent](https://docs.trychroma.com/integrations/frameworks/voltagent.md): The page provides an overview of using VoltAgent, a TypeScript framework for AI agents, with Chroma for semantic search, including setup instructions, environment configuration, and example usage patterns for retrieval-augmented generation systems. # Reference - [Chroma Reference](https://docs.trychroma.com/reference/chroma-reference.md): The page provides an overview of Chroma's client APIs for Python and Javascript, as well as instructions for accessing Chroma's backend Swagger REST API documentation. - [JS Client](https://docs.trychroma.com/reference/js/client.md): The page provides an overview of the ChromaClient JavaScript class, detailing its constructor, methods (such as countCollections, createCollection, deleteCollection, and more), and usage examples. - [Class: Collection](https://docs.trychroma.com/reference/js/collection.md): The page details the `Collection` class in Chroma, including its properties and various methods for managing collections such as adding, counting, deleting, getting, modifying, peeking, querying, updating, and upserting items. - [Python Client](https://docs.trychroma.com/reference/python/client.md): The page provides an overview of the Python Client API for Chroma, detailing various client types for different environments (EphemeralClient, PersistentClient, HttpClient, AsyncHttpClient, CloudClient), their configuration options, and core methods for managing collections, databases, and tenants. - [Python Collection](https://docs.trychroma.com/reference/python/collection.md): The page describes the `Collection` class in Python for managing collections of embeddings in a data store, detailing methods for counting, adding, retrieving, peeking, querying, modifying, updating, upserting, and deleting embeddings and associated data.