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

experimental_telemetry?:

TelemetrySettings
TelemetrySettings

isEnabled?:

boolean

recordInputs?:

boolean

recordOutputs?:

boolean

functionId?:

string

metadata?:

Record<string, string | number | boolean | Array<null | undefined | string> | Array<null | undefined | number> | Array<null | undefined | boolean>>

tracer?:

Tracer

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>