Endpoints
Embeddings
Förvandla text till vektorer med POST /embeddings för semantisk sökning, klustring och RAG, med parametrar, svar, priser och felkoder.
Testa i playgroundFörvandla text till vektorer för semantisk sökning, klustring, deduplicering och retrieval-augmented generation (RAG). Endpointen har samma form som OpenAI:s POST /embeddings, så client.embeddings.create(...) fungerar oförändrat.
POST https://api14.com/api/v1/embeddings
Anrop
| Parameter | Typ | Obligatorisk | Beskrivning |
|---|---|---|---|
model | string | ja | Ett embeddings-modell-id, t.ex. openai/text-embedding-3-small. |
input | string eller string[] | ja | Text som ska bäddas in. Skicka en array för att bädda in många indata i ett anrop. |
dimensions | integer | nej | Storlek på utdatavektorn, för modeller som stöder förkortning (t.ex. text-embedding-3-*). |
encoding_format | string | nej | float (standard) eller base64. |
user | string | nej | Ditt eget slutanvändar-id, som skickas vidare uppströms. |
provider | object | nej | Inställningar för leverantörsroutning. Se Leverantörsroutning. |
Exempel
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.embeddings.create({
"model": "openai/text-embedding-3-small",
"input": [
"The quick brown fox",
"Lorem ipsum"
]
});
console.log(result.data.map((d) => d.embedding.length));
Svar
{
"object": "list",
"data": [
{ "object": "embedding", "index": 0, "embedding": [0.0023, -0.0091, 0.0154, "..."] }
],
"model": "openai/text-embedding-3-small",
"usage": { "prompt_tokens": 8, "total_tokens": 8, "cost": 0.00000016 }
}
data[i].index motsvarar indatats position i din input-array.
Välja modell
Lista embeddings-modeller med priser, utan API-nyckel:
curl https://api14.com/api/v1/embeddings/models
# or, with categories and our prices:
curl "https://api14.com/api/v1/models?category=embeddings"
Vektorer från olika modeller går inte att jämföra. Spara modell-id:t bredvid varje vektor och bädda in ditt material på nytt när du byter modell.
Priser
Embeddings faktureras per indata-token till modellens listade pris, som visas som "$ / 1M tokens". Kostnaden för varje anrop returneras i usage.cost (USD) och dras från ditt saldo. Se Priser och fakturering.
Tips
- Gruppera indata: ett anrop med 100 strängar går snabbare och räknas som ett anrop mot din hastighetsgräns.
- Håll varje indata under modellens kontextlängd. Längre text avvisas uppströms.
- Normalisera vektorer (de flesta modeller returnerar redan enhetslängd) och använd cosinuslikhet.
Fel
| Status | Kod | När |
|---|---|---|
| 400 | model_required / invalid_json | model saknas eller innehållet är inte ett JSON-objekt. |
| 401 | invalid_api_key | Nyckeln saknas eller är ogiltig. |
| 402 | insufficient_balance | Ditt USD-saldo är 0 USD. |
| 403 | model_not_allowed | Nyckelns tillåtelselista för modeller utesluter den här modellen. |
| 404 | model_not_found | Okänt eller inaktiverat modell-id. |
| 429 | rate_limited | Gränsen för anrop per minut har överskridits. |
Fullständig lista: Fel.