text-embedding-3-small · Anfrage senden
Ein Embedding-Modell von OpenAI mit standardmäßig 1536 Dimensionen für semantische Suche und Wissensdatenbanken. Die Ausgabe mit 512 Dimensionen über dimensions wurde in APIMaster ebenfalls getestet.
Ein Embedding-Modell von OpenAI mit standardmäßig 1536 Dimensionen für semantische Suche und Wissensdatenbanken. Die Ausgabe mit 512 Dimensionen über dimensions wurde in APIMaster ebenfalls getestet.
Geprüft am 2026-10-02: aktive Route ab $0.02 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: text-embedding-3-small
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": "text-embedding-3-small", "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="text-embedding-3-small",
input=["Semantic search retrieves related documents.", "猫在窗边休息。"],
encoding_format="float",
)
for item in result.data:
print(item.index, len(item.embedding)) # 1536
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: "text-embedding-3-small",
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.
dimensions wird hier nur für text-embedding-3-small beschrieben: standardmäßig 1536, im getesteten Beispiel 512. Dokumente und Suchanfragen müssen dieselbe Dimension verwenden.
Dimension reduzieren
compact = client.embeddings.create(
model="text-embedding-3-small",
input="Semantic search retrieves related documents.",
encoding_format="float",
dimensions=512,
)
print(len(compact.data[0].embedding)) # 512
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.
