APIMaster.ai

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나 업스트림 시간 초과에는 동시 요청 수를 줄이고 대기 시간을 늘려 재시도합니다. 경로 상태와 최신 가격은 모델 마켓플레이스를 확인하세요.

다음 단계와 참고 자료