Używamy plików cookie. Pliki cookie i pamięć przeglądarki pozwalają utrzymać logowanie i zapamiętać Twoje preferencje. Za Twoją zgodą mierzymy też, jak korzystasz ze strony. W każdej chwili możesz . Zobacz naszą politykę cookie.

Embeddingi

Endpointy

Embeddingi

POST /embeddings: zamień tekst na wektory do wyszukiwania semantycznego, klasteryzacji i RAG, w formacie zgodnym z OpenAI.

Wypróbuj w playground

Zamień tekst na wektory do wyszukiwania semantycznego, klasteryzacji, deduplikacji i generowania wspomaganego wyszukiwaniem (RAG). Endpoint ma taki sam kształt jak POST /embeddings z OpenAI, więc client.embeddings.create(...) działa bez zmian.

POST https://api14.com/api/v1/embeddings

Żądanie

ParametrTypWymaganyOpis
modelstringtakIdentyfikator modelu embeddingów, np. openai/text-embedding-3-small.
inputstring or string[]takTekst do osadzenia. Przekaż tablicę, aby osadzić wiele wejść w jednym żądaniu.
dimensionsintegernieRozmiar wektora wyjściowego, dla modeli obsługujących skracanie (np. text-embedding-3-*).
encoding_formatstringniefloat (domyślnie) lub base64.
userstringnieWłasny identyfikator użytkownika końcowego, przekazywany dalej do dostawcy.
providerobjectniePreferencje routingu dostawców. Zobacz Routing dostawców.

Przykład

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));

Odpowiedź

{
  "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 odpowiada pozycji wejścia w Twojej tablicy input.

Wybór modelu

Wyświetl modele embeddingów wraz z cenami, bez klucza API:

curl https://api14.com/api/v1/embeddings/models
# or, with categories and our prices:
curl "https://api14.com/api/v1/models?category=embeddings"

Wektorów z różnych modeli nie można ze sobą porównywać. Zapisuj identyfikator modelu obok każdego wektora i osadź korpus ponownie, gdy zmieniasz model.

Cennik

Embeddingi są rozliczane za token wejściowy według ceny podanej przy modelu, wyświetlanej jako "$ / 1M tokenów". Koszt każdego żądania jest zwracany w usage.cost (USD) i pobierany z Twojego salda. Zobacz Ceny i rozliczenia.

Wskazówki

  • Grupuj wejścia: jedno żądanie ze 100 ciągami jest szybsze i liczy się jako jedno żądanie względem Twojego limitu zapytań.
  • Utrzymuj każde wejście poniżej długości kontekstu modelu; dłuższy tekst jest odrzucany przez dostawcę.
  • Normalizuj wektory (większość modeli zwraca już wektory jednostkowe) i używaj podobieństwa cosinusowego.

Błędy

StatusKodKiedy
400model_required / invalid_jsonBrak model lub ciało nie jest obiektem JSON.
401invalid_api_keyBrak klucza lub klucz jest nieprawidłowy.
402insufficient_balanceTwoje saldo w USD wynosi 0 USD.
403model_not_allowedLista dozwolonych modeli klucza wyklucza ten model.
404model_not_foundNieznany lub wyłączony identyfikator modelu.
429rate_limitedPrzekroczono limit zapytań na minutę.

Pełna lista: Błędy.