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 if the model
has a limit on how many embeddings can be generated in a single call.
import { openai } from '@ai-sdk/openai';import { embedMany } from 'ai';
const { embeddings } = await embedMany({ model: openai.embedding('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
The embedding model to use. Example: openai.embedding('text-embedding-3-small')
values:
Array<VALUE>
The values to embed. The type depends on the model.
maxRetries?:
number
Maximum number of retries. Set to 0 to disable retries. Default: 2.
abortSignal?:
AbortSignal
An optional abort signal that can be used to cancel the call.
headers?:
Record<string, string>
Additional HTTP headers to be sent with the request. Only applicable for HTTP-based providers.
experimental_telemetry?:
TelemetrySettings
Telemetry configuration. Experimental feature.
TelemetrySettings
isEnabled?:
boolean
Enable or disable telemetry. Disabled by default while experimental.
recordInputs?:
boolean
Enable or disable input recording. Enabled by default.
recordOutputs?:
boolean
Enable or disable output recording. Enabled by default.
functionId?:
string
Identifier for this function. Used to group telemetry data by function.
metadata?:
Record<string, string | number | boolean | Array<null | undefined | string> | Array<null | undefined | number> | Array<null | undefined | boolean>>
Additional information to include in the telemetry data.
Returns
values:
Array<VALUE>
The values that were embedded.
embeddings:
number[][]
The embeddings. They are in the same order as the values.
usage:
EmbeddingTokenUsage
The token usage for generating the embeddings.
EmbeddingTokenUsage
tokens:
number
The total number of input tokens.