Nous utilisons des cookies. Les cookies et le stockage du navigateur vous gardent connecté et mémorisent vos préférences. Avec votre accord, nous mesurons aussi l’utilisation du site. Vous pouvez à tout moment. Consultez notre politique relative aux cookies.

Embeddings

Endpoints

Embeddings

POST /embeddings : transformez du texte en vecteurs pour la recherche sémantique, le clustering et le RAG, avec le même format que l'API OpenAI.

Essayer dans le playground

Transformez du texte en vecteurs pour la recherche sémantique, le clustering, la déduplication et la génération augmentée par récupération (RAG). L'endpoint a la même forme que le POST /embeddings d'OpenAI, donc client.embeddings.create(...) fonctionne sans modification.

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

Requête

ParamètreTypeObligatoireDescription
modelstringouiUn identifiant de modèle d'embeddings, par ex. openai/text-embedding-3-small.
inputstring ou string[]ouiTexte à vectoriser. Passez un tableau pour vectoriser plusieurs entrées en une seule requête.
dimensionsintegernonTaille du vecteur de sortie, pour les modèles qui permettent de le raccourcir (par ex. text-embedding-3-*).
encoding_formatstringnonfloat (par défaut) ou base64.
userstringnonVotre propre identifiant d'utilisateur final, transmis au fournisseur.
providerobjectnonPréférences de routage des fournisseurs. Voir Routage des fournisseurs.

Exemple

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

Réponse

{
  "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 correspond à la position de l'entrée dans votre tableau input.

Choisir un modèle

Listez les modèles d'embeddings avec leurs prix, sans clé d'API :

curl https://api14.com/api/v1/embeddings/models
# ou, avec les catégories et nos prix :
curl "https://api14.com/api/v1/models?category=embeddings"

Les vecteurs de modèles différents ne sont pas comparables. Stockez l'identifiant du modèle à côté de chaque vecteur et revectorisez votre corpus quand vous changez de modèle.

Tarifs

Les embeddings sont facturés par token d'entrée au prix indiqué du modèle, affiché en « $ / 1M tokens ». Le coût de chaque requête est renvoyé dans usage.cost (USD) et débité de votre solde. Voir Tarifs et facturation.

Conseils

  • Regroupez les entrées : une requête de 100 chaînes est plus rapide et compte pour une seule requête dans votre limite de débit.
  • Gardez chaque entrée sous la longueur de contexte du modèle ; un texte plus long est rejeté en amont.
  • Normalisez les vecteurs (la plupart des modèles renvoient déjà une longueur unitaire) et utilisez la similarité cosinus.

Erreurs

StatutCodeQuand
400model_required / invalid_jsonmodel manquant ou corps qui n'est pas un objet JSON.
401invalid_api_keyClé manquante ou invalide.
402insufficient_balanceVotre solde en USD est à 0 $.
403model_not_allowedLa liste de modèles autorisés de la clé exclut ce modèle.
404model_not_foundIdentifiant de modèle inconnu ou désactivé.
429rate_limitedRequêtes par minute dépassées.

Liste complète : Erreurs.