メインコンテンツへ移動

Embed

Mastra は AI SDK の embed 関数と embedMany 関数を使用して、テキスト入力のベクトル埋め込みを生成し、類似度検索や RAG ワークフローを実現します。

単一の埋め込み
単一の埋め込みへの直接リンク

embed 関数は、単一のテキスト入力に対するベクトル埋め込みを生成します。

import { embed } from 'ai'
import { ModelRouterEmbeddingModel } from '@mastra/core/llm'

const result = await embed({
model: new ModelRouterEmbeddingModel('openai/text-embedding-3-small'),
value: 'Your text to embed',
maxRetries: 2, // optional, defaults to 2
})

パラメーター
パラメーターへの直接リンク

model:

EmbeddingModel
使用する埋め込みモデル(例: openai.embedding('text-embedding-3-small'))

value:

string | Record<string, any>
埋め込むテキストコンテンツまたはオブジェクト

maxRetries?:

number
= 2
埋め込み呼び出しごとの最大再試行回数。再試行を無効にするには 0 を設定します。

abortSignal?:

AbortSignal
リクエストをキャンセルするためのオプションの中断シグナル

headers?:

Record<string, string>
リクエストに追加する HTTP ヘッダー(HTTP ベースの Provider のみ)

戻り値
戻り値への直接リンク

embedding:

number[]
入力に対する埋め込みベクトル

複数の埋め込み
複数の埋め込みへの直接リンク

複数のテキストを一度に埋め込むには、embedMany 関数を使用します。

import { embedMany } from 'ai'

const result = await embedMany({
model: new ModelRouterEmbeddingModel('openai/text-embedding-3-small'),
values: ['First text', 'Second text', 'Third text'],
maxRetries: 2, // optional, defaults to 2
})

パラメーター
パラメーターへの直接リンク

model:

EmbeddingModel
使用する埋め込みモデル(例: openai.embedding('text-embedding-3-small'))

values:

string[] | Record<string, any>[]
埋め込むテキストコンテンツまたはオブジェクトの配列

maxRetries?:

number
= 2
埋め込み呼び出しごとの最大再試行回数。再試行を無効にするには 0 を設定します。

abortSignal?:

AbortSignal
リクエストをキャンセルするためのオプションの中断シグナル

headers?:

Record<string, string>
リクエストに追加する HTTP ヘッダー(HTTP ベースの Provider のみ)

戻り値
戻り値への直接リンク

embeddings:

number[][]
入力値に対応する埋め込みベクトルの配列

使用例
使用例への直接リンク

import { embed, embedMany } from 'ai'

// Single embedding
const singleResult = await embed({
model: new ModelRouterEmbeddingModel('openai/text-embedding-3-small'),
value: 'What is the meaning of life?',
})

// Multiple embeddings
const multipleResult = await embedMany({
model: new ModelRouterEmbeddingModel('openai/text-embedding-3-small'),
values: [
'First question about life',
'Second question about universe',
'Third question about everything',
],
})

Vercel AI SDK の埋め込みの詳細については、以下を参照してください。