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 の埋め込みの詳細については、以下を参照してください。