BGE-M3 · Inviare una richiesta
Modello multilingue BAAI con 1024 dimensioni per il recupero di documenti. Questa API restituisce vettori densi, senza pesi sparsi o vettori ColBERT. Non richiede un prefisso speciale di istruzioni per le query.
Modello multilingue BAAI con 1024 dimensioni per il recupero di documenti. Questa API restituisce vettori densi, senza pesi sparsi o vettori ColBERT. Non richiede un prefisso speciale di istruzioni per le query.
Verificato il 2026-10-02: rotta attiva da $0.01 per milione di token di input. È il prezzo della rotta APIMaster, non un prezzo ufficiale universale; prevale la scheda attuale del modello. Scheda aggiornata del modello
Inviare una richiesta
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);
Parametri e limiti
input deve essere una stringa non vuota o un array di stringhe non vuote. encoding_format: float restituisce un array numerico. Non inviare messages, max_tokens o stream. Il limite di riferimento è 8192 token per testo; suddividi i documenti lunghi e usa piccoli batch. Limiti e tokenizzazione possono variare in base alla rotta.
Per bge-m3 usa il vettore denso completo a 1024 dimensioni e ometti dimensions. Usa bge-m3 nella richiesta; response.model può contenere un alias del provider.
Leggere la risposta
Leggi data[i].embedding e associa ogni vettore all'input tramite data[i].index. usage.prompt_tokens e usage.total_tokens indicano i token di input. I vettori non sono fatturati come token di testo generato. Anche base64 è stato verificato, ma float è più semplice da ispezionare.
Test reali superati per testi singoli, batch cinesi/inglesi, dimensioni e coerenza degli input ripetuti. I test verificano l'API, non la qualità di recupero su ogni insieme di dati.
Ricerca semantica e RAG
Dividi i documenti in passaggi, genera e salva i vettori. Genera il vettore della query con lo stesso modello e dimensione, ordina per similarità coseno e passa i testi recuperati a un modello di chat separato. Non mescolare modelli o dimensioni nello stesso indice; ricostruiscilo quando cambi modello.
Risoluzione dei problemi
Per 401 controlla la chiave API. Per 400 controlla ID, input non vuoto e parametri. Per 429 o timeout a monte riduci la concorrenza e riprova con attesa progressiva. Il marketplace mostra disponibilità e prezzi attuali.
