embedMany()
Embed several values using an embedding model. The type of the value is defined by the embedding model.
embedMany automatically splits large requests into smaller chunks when the
model has a limit on either the number of embeddings or the UTF-8 input bytes
that can be processed in a single call. Providers can use a conservative byte
budget to keep requests below aggregate token limits without adding a tokenizer
to the AI SDK core package. An individual value larger than the byte budget is
sent in its own call because splitting it would change the resulting embedding.
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<VALUE>
maxRetries?:
number
abortSignal?:
AbortSignal
headers?:
Record<string, string>
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<VALUE>
embeddings:
number[][]
usage:
EmbeddingModelUsage
EmbeddingModelUsage
tokens:
number
body?:
unknown
providerMetadata?:
ProviderMetadata | undefined