Usamos cookies. Cookies e o armazenamento do navegador mantêm você conectado e lembram suas preferências. Com sua permissão, também medimos como o site é usado. Você pode a qualquer momento. Veja nossa política de cookies.

Embeddings

Endpoints

Embeddings

Transforme texto em vetores com POST /embeddings para busca semântica, clusterização, deduplicação e RAG, usando o mesmo formato da API de embeddings da OpenAI.

Teste no playground

Transforme texto em vetores para busca semântica, clusterização, deduplicação e geração aumentada por recuperação (RAG). O endpoint tem o mesmo formato do POST /embeddings da OpenAI, então client.embeddings.create(...) funciona sem alterações.

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

Requisição

ParâmetroTipoObrigatórioDescrição
modelstringsimId de um modelo de embeddings, por exemplo openai/text-embedding-3-small.
inputstring ou string[]simTexto a ser vetorizado. Passe um array para vetorizar vários textos em uma única requisição.
dimensionsintegernãoTamanho do vetor de saída, para modelos que permitem reduzi-lo (por exemplo text-embedding-3-*).
encoding_formatstringnãofloat (padrão) ou base64.
userstringnãoO id do seu usuário final, repassado ao provedor.
providerobjectnãoPreferências de roteamento de provedores. Veja Roteamento de provedores.

Exemplo

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

Resposta

{
  "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 corresponde à posição do texto no array input.

Como escolher um modelo

Liste os modelos de embeddings com seus preços, sem precisar de chave de API:

curl https://api14.com/api/v1/embeddings/models
# ou, com categorias e os nossos preços:
curl "https://api14.com/api/v1/models?category=embeddings"

Vetores de modelos diferentes não são comparáveis. Guarde o id do modelo junto de cada vetor e gere os embeddings do seu corpus novamente ao trocar de modelo.

Preços

Os embeddings são cobrados por token de entrada ao preço listado do modelo, exibido como "$ / 1M tokens". O custo de cada requisição é retornado em usage.cost (USD) e debitado do seu saldo. Veja Preços e cobrança.

Dicas

  • Agrupe as entradas: uma requisição com 100 strings é mais rápida e conta como uma única requisição no seu limite de taxa.
  • Mantenha cada entrada abaixo do tamanho de contexto do modelo; textos maiores são rejeitados pelo provedor.
  • Normalize os vetores (a maioria dos modelos já retorna comprimento unitário) e use a similaridade de cosseno.

Erros

StatusCódigoQuando
400model_required / invalid_jsonmodel ausente ou o corpo não é um objeto JSON.
401invalid_api_keyChave ausente ou inválida.
402insufficient_balanceSeu saldo em USD é $0.
403model_not_allowedA lista de modelos permitidos da chave exclui este modelo.
404model_not_foundId de modelo desconhecido ou desativado.
429rate_limitedLimite de requisições por minuto excedido.

Lista completa: Erros.