Mixedbread 프로바이더
Mixedbread 프로바이더
patelvivekdev/mixedbread-ai-provider 는 Mixedbread를 사용해 AI SDK에 임베딩 지원을 제공하는 커뮤니티 프로바이더예요.
출처: 문서
본문
설정 (Setup)
Mixedbread 프로바이더는 mixedbread-ai-provider 모듈에서 사용할 수 있어요. 다음과 같이 설치할 수 있어요:
프로바이더 인스턴스 (Provider Instance)
mixedbread-ai-provider에서 기본 프로바이더 인스턴스 mixedbread를 임포트할 수 있어요:
import { mixedbread } from 'mixedbread-ai-provider';
커스터마이즈가 필요하면 mixedbread-ai-provider에서 createMixedbread를 임포트하고 나만의 설정으로 프로바이더 인스턴스를 만들 수 있어요:
import { createMixedbread } from 'mixedbread-ai-provider';
const mixedbread = createMixedbread({
// 커스텀 설정
});
다음의 선택적 설정으로 Mixedbread 프로바이더 인스턴스를 커스터마이즈할 수 있어요:
-
baseURL string
Mixedbread API의 기본 URL이에요. 기본 프리픽스는
https://api.mixedbread.com/v1이에요. -
apiKey string
Authorization헤더로 보내지는 API 키예요. 기본값은MIXEDBREAD_API_KEY환경 변수예요. -
headers Record<string,string>
요청에 포함할 커스텀 헤더예요.
-
fetch (input: RequestInfo, init?: RequestInit) => Promise<Response>
커스텀 fetch 구현이에요. 기본값은 전역
fetch함수예요. 요청을 가로채는 미들웨어로 사용하거나, 예를 들어 테스트용 커스텀 fetch 구현을 제공할 수 있어요.
텍스트 임베딩 모델 (Text Embedding Models)
.embeddingModel() 팩토리 메서드로 Mixedbread 임베딩 API를 호출하는 모델을 만들 수 있어요.
import { mixedbread } from 'mixedbread-ai-provider';
const embeddingModel = mixedbread.embeddingModel(
'mixedbread-ai/mxbai-embed-large-v1',
);
Mixedbread 임베딩 모델을 사용해 embed 함수로 임베딩을 생성할 수 있어요:
import { mixedbread } from 'mixedbread-ai-provider';
import { embed } from 'ai';
const { embedding } = await embed({
model: mixedbread.embeddingModel('mixedbread-ai/mxbai-embed-large-v1'),
value: 'sunny day at the beach',
});
Mixedbread 임베딩 모델은 providerOptions.mixedbread로 전달할 수 있는 추가 프로바이더 옵션을 지원해요:
import { mixedbread } from 'mixedbread-ai-provider';
import { embed } from 'ai';
const { embedding } = await embed({
model: mixedbread.embeddingModel('mixedbread-ai/mxbai-embed-large-v1'),
value: 'sunny day at the beach',
providerOptions: {
mixedbread: {
prompt: 'Generate embeddings for text',
normalized: true,
dimensions: 512,
encodingFormat: 'float16',
},
},
});
다음 프로바이더 옵션이 사용 가능해요:
-
prompt string
모델에 컨텍스트를 제공하는 선택적 프롬프트예요. 자세한 내용은 모델 문서를 참고하세요. 1~256자 사이의 문자열이에요.
-
normalized boolean
임베딩을 정규화할지 여부예요.
-
dimensions number
출력 벡터에서 원하는 차원 수예요. 기본값은 모델의 최대값이에요. 1부터 모델의 최대 출력 차원 사이의 숫자예요. Matryoshka 기반 모델에만 적용돼요.
-
encodingFormat 'float' | 'float16' | 'binary' | 'ubinary' | 'int8' | 'uint8' | 'base64'
모델 기능 (Model Capabilities)
| 모델 | 컨텍스트 길이 | 차원 | 커스텀 차원 |
|---|---|---|---|
mxbai-embed-large-v1 |
512 | 1024 | |
mxbai-embed-2d-large-v1 |
512 | 1024 | |
deepset-mxbai-embed-de-large-v1 |
512 | 1024 | |
mxbai-embed-xsmall-v1 |
4096 | 384 |
참고: 위 표는 인기 모델을 나열한 거예요. 사용 가능한 전체 모델 목록은 Mixedbread 문서를 참고하세요.