embed()

Generate an embedding for a single value using an embedding model.

This is ideal for use cases where you need to embed a single value to e.g. retrieve similar items or to use the embedding in a downstream task.

import { embed } from 'ai';
const { embedding } = await embed({
model: 'openai/text-embedding-3-small',
value: 'sunny day at the beach',
});

Import

import { embed } from "ai"

API Signature

Parameters

model:

EmbeddingModel

value:

VALUE

maxRetries?:

number

abortSignal?:

AbortSignal

headers?:

Record<string, string>

providerOptions?:

ProviderOptions

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:

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

Returns

value:

VALUE

embedding:

number[]

usage:

EmbeddingModelUsage
EmbeddingModelUsage

tokens:

number

warnings:

Warning[]

response?:

Response
Response

headers?:

Record<string, string>

body?:

unknown

providerMetadata?:

ProviderMetadata | undefined