embedMany()

Embed several values using an embedding model.

embedMany automatically splits large requests into smaller chunks if the model has a limit on how many embeddings can be generated in a single call.

import { embedMany } from 'ai';
const { embeddings } = await embedMany({
model: 'openai/text-embedding-3-small',
values: [
'sunny day at the beach',
'rainy afternoon in the city',
'snowy night in the mountains',
],
});

Import

import { embedMany } from "ai"

API Signature

Parameters

model:

EmbeddingModel

values:

Array<string>

maxRetries?:

number

abortSignal?:

AbortSignal

headers?:

Record<string, string>

providerOptions?:

ProviderOptions

maxParallelCalls?:

number

telemetry?:

TelemetryOptions
TelemetryOptions

isEnabled?:

boolean

recordInputs?:

boolean

recordOutputs?:

boolean

functionId?:

string

integrations?:

Telemetry | Telemetry[]

onStart?:

(event: EmbedStartEvent) => PromiseLike<void> | void
EmbedStartEvent

callId:

string

operationId:

string

model:

{ provider: string; modelId: string }

value:

string | Array<string>

maxRetries:

number

abortSignal:

AbortSignal | undefined

headers:

Record<string, string | undefined> | undefined

providerOptions:

ProviderOptions | undefined

onEnd?:

(event: EmbedEndEvent) => PromiseLike<void> | void
EmbedEndEvent

callId:

string

operationId:

string

model:

{ provider: string; modelId: string }

value:

string | Array<string>

embedding:

Embedding | Array<Embedding>

usage:

EmbeddingModelUsage

warnings:

Array<Warning>

providerMetadata:

ProviderMetadata | undefined

response:

Array<{ headers?: Record<string, string>; body?: unknown } | undefined>

Returns

values:

Array<string>

embeddings:

number[][]

usage:

EmbeddingModelUsage
EmbeddingModelUsage

tokens:

number

warnings:

Warning[]

providerMetadata?:

ProviderMetadata | undefined

responses?:

Array<{ headers?: Record<string, string>; body?: unknown } | undefined>