BGE-M3 · Enviar uma solicitação
Modelo multilíngue da BAAI com 1024 dimensões para recuperação de documentos. Esta API retorna vetores densos, sem pesos esparsos ou vetores ColBERT. Não exige um prefixo especial de instruções na consulta.
Modelo multilíngue da BAAI com 1024 dimensões para recuperação de documentos. Esta API retorna vetores densos, sem pesos esparsos ou vetores ColBERT. Não exige um prefixo especial de instruções na consulta.
Verificado em 2026-10-02: rota ativa a partir de $0.01 por milhão de tokens de entrada. É o preço da rota APIMaster, não um preço oficial universal; o cartão atual do modelo prevalece. Cartão atual do modelo
Enviar uma solicitação
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);
Parâmetros e limites
Envie em input uma string não vazia ou um array de strings não vazias. encoding_format: float retorna um array numérico. Não envie messages, max_tokens ou stream. O limite de referência é de 8192 tokens por texto; divida documentos longos e use lotes pequenos. Limites e tokenização podem variar por rota.
Para bge-m3, use o vetor denso completo de 1024 dimensões e omita dimensions. Use bge-m3 na solicitação; response.model pode conter um alias do provedor.
Ler a resposta
Leia data[i].embedding e associe cada vetor à entrada por data[i].index. usage.prompt_tokens e usage.total_tokens indicam o uso de entrada. Vetores não são cobrados como tokens de texto gerado. base64 também foi testado, mas float facilita a inspeção.
Testes reais aprovados para texto único, lotes em chinês/inglês, dimensões e consistência de entradas repetidas. Validam o comportamento da API, não a qualidade de busca em todos os dados.
Busca semântica e RAG
Divida os documentos em trechos, gere e armazene seus vetores. Vetorize a consulta com o mesmo modelo e dimensão, classifique por similaridade de cosseno e envie os textos recuperados a um modelo de chat separado. Não misture modelos nem dimensões no mesmo índice; reconstrua-o ao trocar de modelo.
Solução de problemas
Para 401, confira a chave API. Para 400, confira o ID, input não vazio e os parâmetros. Para 429 ou timeout do provedor, reduza a concorrência e repita com espera progressiva. Consulte o marketplace para disponibilidade e preços atuais.
