Skip to main content

Cloudflare Workers AI

Select a language

Chroma provides a convenient wrapper around Cloudflare Workers AI REST API. This embedding function runs remotely on a Cloudflare Workers AI. It requires an API key and an account Id or gateway endpoint. You can get an API key by signing up for an account at Cloudflare Workers AI.

Visit the Cloudflare Workers AI documentation for more information on getting started.

note

Currently cloudflare embeddings endpoints allow batches of maximum 100 documents in a single request. The EF has a hard limit of 100 documents per request, and will raise an error if you try to pass more than 100 documents.

import chromadb.utils.embedding_functions as embedding_functions
cf_ef = embedding_functions.CloudflareWorkersAIEmbeddingFunction(
api_key = "YOUR_API_KEY",
account_id = "YOUR_ACCOUNT_ID", # or gateway_endpoint
model_name = "@cf/baai/bge-base-en-v1.5",
)
cf_ef(input=["This is my first text to embed", "This is my second document"])

You can pass in an optional model_name argument, which lets you choose which Cloudflare Workers AI model to use. By default, Chroma uses @cf/baai/bge-base-en-v1.5.