본문으로 건너뛰기

포함시키다

Mastra는 AI SDK를 사용합니다.embed그리고embedMany텍스트 입력에 대한 벡터 임베딩을 생성하는 기능을 통해 유사성 검색 및 RAG Workflow를 활성화합니다.

단일 임베딩
단일 임베딩에 대한 직접 링크

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
사용할 임베딩 Model입니다(예: 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 function:

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
사용할 임베딩 Model입니다(예: 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의 임베딩에 대한 자세한 내용은 다음을 참조하세요.