Skip to content

Embedder

Contract for embedding text into dense vector representations.

Implementations may wrap any embedding provider: Vercel AI SDK models, OpenAI API directly, local models (Ollama, transformers.js), or third-party services (Cohere, Voyage, Jina).

readonly optional dimension?: number;

The dimensionality of the embedding vectors produced by this embedder. May be undefined if the dimension is not known until the first embed() call.

embed(text): Promise<readonly number[]>;

Embed a single text string into a dense vector.

Parameter Type

text

string

Promise<readonly number[]>


embedMany(texts): Promise<readonly readonly number[][]>;

Embed multiple text strings into dense vectors. Implementations SHOULD batch the underlying API calls where the provider supports it, rather than calling embed() in a loop.

Parameter Type

texts

string[]

Promise<readonly readonly number[][]>