APIMaster.ai

text-embedding-3-small · Inviare una richiesta

Modello di embedding OpenAI con 1536 dimensioni predefinite, adatto alla ricerca semantica e agli indici delle basi di conoscenza. APIMaster ha verificato anche l'uscita a 512 dimensioni tramite dimensions.

Modello di embedding OpenAI con 1536 dimensioni predefinite, adatto alla ricerca semantica e agli indici delle basi di conoscenza. APIMaster ha verificato anche l'uscita a 512 dimensioni tramite dimensions.

Verificato il 2026-10-02: rotta attiva da $0.02 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: 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);

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.

dimensions è descritto qui solo per text-embedding-3-small: 1536 predefinite oppure 512 nell'esempio verificato. Documenti e query devono usare la stessa dimensione.

Ridurre le dimensioni

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

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