BGE-M3 · 요청 보내기
다국어 문서 검색에 적합한 BAAI의 1024차원 임베딩 모델입니다. 이 API는 밀집 벡터를 반환하며 희소 가중치나 ColBERT 벡터는 제공하지 않습니다. 검색 질의에 별도 지시문 접두사는 필요하지 않습니다.
다국어 문서 검색에 적합한 BAAI의 1024차원 임베딩 모델입니다. 이 API는 밀집 벡터를 반환하며 희소 가중치나 ColBERT 벡터는 제공하지 않습니다. 검색 질의에 별도 지시문 접두사는 필요하지 않습니다.
2026-10-02 확인: 활성 경로는 입력 백만 tokens당 $0.01부터입니다. APIMaster 경로 가격이며 공급자의 보편적 공식 가격이 아닙니다. 실시간 모델 카드가 우선합니다. 실시간 모델 카드
요청 보내기
POST /v1/embeddings · model: bge-m3
cURL
export APIMASTER_API_KEY="YOUR_APIMASTER_API_KEY"
curl --fail-with-body "https://apimaster.ai/v1/embeddings" \
-H "Authorization: Bearer $APIMASTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "bge-m3", "input": "Semantic search retrieves related documents.", "encoding_format": "float"}'
Python · OpenAI SDK
pip install openai
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["APIMASTER_API_KEY"],
base_url="https://apimaster.ai/v1",
)
result = client.embeddings.create(
model="bge-m3",
input=["Semantic search retrieves related documents.", "猫在窗边休息。"],
encoding_format="float",
)
for item in result.data:
print(item.index, len(item.embedding)) # 1024
print(result.usage.prompt_tokens)
JavaScript · Node.js
const response = await fetch("https://apimaster.ai/v1/embeddings", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.APIMASTER_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "bge-m3",
input: ["Semantic search retrieves related documents.", "猫在窗边休息。"],
encoding_format: "float",
}),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const result = await response.json();
console.log(result.data.map((item) => [item.index, item.embedding.length]));
console.log(result.usage.prompt_tokens);
매개변수와 제한
input에는 비어 있지 않은 문자열 또는 문자열 배열을 넣습니다. encoding_format: float를 사용하면 숫자 배열을 얻습니다. messages, max_tokens, stream은 보내지 않습니다. 모델 참고 한도는 텍스트당 8192 tokens입니다. 긴 문서는 나누고 배치 크기는 작게 유지하세요. 한도와 토큰화는 경로에 따라 다를 수 있습니다.
bge-m3는 전체 1024차원 밀집 벡터를 사용하며 dimensions는 생략합니다. 요청 모델 ID는 bge-m3이고 response.model에는 공급자 별칭이 표시될 수 있습니다.
응답 읽기
data[i].embedding을 읽고 data[i].index로 입력과 연결합니다. usage.prompt_tokens와 usage.total_tokens는 입력 사용량입니다. 벡터는 생성 텍스트가 아니므로 출력 tokens로 과금되지 않습니다. base64도 테스트했지만 float가 확인하기 쉽습니다.
단일 텍스트, 중국어·영어 배치, 벡터 길이 및 반복 입력 일관성을 실제 API로 확인했습니다. API 동작 검증이며 모든 데이터셋의 검색 품질을 보장하지는 않습니다.
의미 검색과 RAG
문서를 조각으로 나누어 벡터를 생성하고 저장합니다. 같은 모델과 차원으로 질의를 벡터화한 뒤 코사인 유사도로 정렬하고 검색된 텍스트를 별도의 채팅 모델에 전달합니다. 다른 모델이나 차원의 벡터를 같은 인덱스에 혼합하지 마세요. 모델 변경 시 인덱스를 다시 생성해야 합니다.
문제 해결
401은 API 키를, 400은 모델 ID와 비어 있지 않은 input 및 매개변수를 확인합니다. 429나 업스트림 시간 초과에는 동시 요청 수를 줄이고 대기 시간을 늘려 재시도합니다. 경로 상태와 최신 가격은 모델 마켓플레이스를 확인하세요.
