OpenCLIP

no

Original Documentation

Documentation Index#

Fetch the complete documentation index at: https://docs.trychroma.com/llms.txt Use this file to discover all available pages before exploring further.

export const Callout = ({title, children}) =>

{title && <p className="block mb-2"><strong>{title}</strong></p>}
{children}

;

Chroma provides a convenient wrapper around the OpenCLIP library. This embedding function runs locally and supports both text and image embeddings, making it useful for multimodal applications.

This embedding function relies on several python packages:

  • open-clip-torch: Install with pip install open-clip-torch
  • torch: Install with pip install torch
  • pillow: Install with pip install pillow
    from chromadb.utils.embedding_functions import OpenCLIPEmbeddingFunction
    import numpy as np
    from PIL import Image

    open_clip_ef = OpenCLIPEmbeddingFunction(
        model_name="ViT-B-32",
        checkpoint="laion2b_s34b_b79k",
        device="cpu"
    )

    # For text embeddings
    texts = ["Hello, world!", "How are you?"]
    text_embeddings = open_clip_ef(texts)

    # For image embeddings
    images = [np.array(Image.open("image1.jpg")), np.array(Image.open("image2.jpg"))]
    image_embeddings = open_clip_ef(images)

    # Mixed embeddings
    mixed = ["Hello, world!", np.array(Image.open("image1.jpg"))]
    mixed_embeddings = open_clip_ef(mixed)
    ```

You can pass in optional arguments:

* `model_name`: The name of the OpenCLIP model to use (default: "ViT-B-32")
* `checkpoint`: The checkpoint to use for the model (default: "laion2b\_s34b\_b79k")
* `device`: Device used for computation, "cpu" or "cuda" (default: "cpu")
  <span class="tab-end"></span>
<span class="tab-group-end"></span>

<span class="callout-start" data-callout-type="note"></span>
  OpenCLIP is great for multimodal applications where you need to embed both text and images in the same embedding space. Visit [OpenCLIP documentation](https://github.com/mlfoundations/open_clip) for more information on available models and checkpoints.
<span class="callout-end"></span>
Link last verified June 7, 2026. View original ↗
Source: Chroma Docs
Link last verified: 2026-03-04