Skip to main content
Chroma supports multimodal collections that can contain and be queried by multiple data types including text, images, and other modalities.

Overview

Multimodal collections in Chroma use:
  1. URIs - Reference external data (images, audio, video)
  2. Data Loaders - Load data from URIs
  3. Multimodal Embedding Functions - Embed different data types into the same vector space

Working with Images

Basic Image Collection

Adding Images

Add images using file URIs:

Querying with Text

Search images using text descriptions:

Querying with Images

Search using an image:

Complete Multimodal Example

Setup

Indexing Images

Searching

Adding Metadata to Images

Combining Text and Images

Store both text and images in the same collection:

Advanced: Custom Data Loaders

Create a custom data loader for other file types:

OpenCLIP Embedding Function

The OpenCLIP embedding function supports various models:
Available CLIP models:
  • ViT-B-32 - Fast, good quality
  • ViT-B-16 - Better quality, slower
  • ViT-L-14 - Best quality, slowest

URI Formats

Chroma supports various URI formats:

Retrieving Image Data

Performance Considerations

Batch Processing

Image Preprocessing

Preprocess images before indexing:

Use Cases

Image Search Application

Product Catalog

Duplicate Detection

Troubleshooting

Image Loading Errors

Memory Issues

Data Loader Not Found