BGE-M3 · Anfrage senden
Ein mehrsprachiges Embedding-Modell von BAAI mit 1024 Dimensionen für die Dokumentensuche. Diese API liefert dichte Vektoren, keine dünnbesetzten Gewichte oder ColBERT-Vektoren. Ein spezielles Anweisungspräfix für Suchanfragen ist nicht erforderlich.
Ein mehrsprachiges Embedding-Modell von BAAI mit 1024 Dimensionen für die Dokumentensuche. Diese API liefert dichte Vektoren, keine dünnbesetzten Gewichte oder ColBERT-Vektoren. Ein spezielles Anweisungspräfix für Suchanfragen ist nicht erforderlich.
Geprüft am 2026-10-02: aktive Route ab $0.01 pro Million Eingabe-Tokens. Dies ist der APIMaster-Routenpreis, kein allgemeiner offizieller Anbieterpreis; die aktuelle Modellkarte ist maßgeblich. Aktuelle Modellkarte
Anfrage senden
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);
Parameter und Grenzen
Übergeben Sie in input eine nicht leere Zeichenfolge oder ein Array nicht leerer Zeichenfolgen. encoding_format: float liefert Zahlenarrays. Verwenden Sie keine messages, max_tokens oder stream. Die Modellreferenz nennt 8192 Tokens pro Text; teilen Sie lange Dokumente auf und halten Sie Batches klein. Grenzen und Tokenisierung können je nach Route variieren.
Verwenden Sie für bge-m3 den vollständigen dichten Vektor mit 1024 Dimensionen und lassen Sie dimensions weg. Nutzen Sie bge-m3 als Modell-ID; response.model kann einen Provider-Alias enthalten.
Antwort auslesen
Lesen Sie data[i].embedding und ordnen Sie die Vektoren über data[i].index den Eingaben zu. usage.prompt_tokens und usage.total_tokens geben die Eingabenutzung an. Vektoren werden nicht als generierte Ausgabe-Tokens berechnet. base64 wurde ebenfalls getestet; float ist leichter zu prüfen.
Einzeltexte, chinesische/englische Batches, Vektorlängen und identische Ergebnisse bei wiederholter Eingabe wurden live getestet. Dies prüft das API-Verhalten, nicht die Suchqualität für jeden Datensatz.
Semantische Suche und RAG
Teilen Sie Dokumente in Abschnitte, erzeugen und speichern Sie deren Vektoren. Erzeugen Sie Suchvektoren mit demselben Modell und derselben Dimension, sortieren Sie nach Kosinusähnlichkeit und geben Sie die gefundenen Texte an ein separates Chatmodell weiter. Mischen Sie keine unterschiedlichen Modelle oder Dimensionen in einem Index; bauen Sie ihn bei Modellwechsel neu auf.
Fehlerbehebung
Bei 401 den API-Schlüssel prüfen. Bei 400 Modell-ID, nicht leeres input und Parameter prüfen. Bei 429 oder Upstream-Timeouts Parallelität reduzieren und mit Backoff wiederholen. Verfügbarkeit und aktuelle Preise stehen im Modellmarktplatz.
