APIMaster.ai

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.

Passi successivi e fonti