PT ▾
Obter chave de API

O que é uma API LLM? Como funciona e quando usar

Uma API LLM é um serviço web que executa um modelo de linguagem grande para você. Seu código envia texto via HTTP, o modelo envia texto de volta e você paga pelo que usa.

Atualizado

Ilustração isométrica de um laptop enviando pacotes de dados para um cubo brilhante que representa uma API LLM

Pontos principais

  • Uma API LLM é um endpoint HTTP: você envia mensagens por POST e recebe uma conclusão.
  • A cobrança é por token, contada separadamente para entrada e saída.
  • APIs compatíveis com OpenAI compartilham um formato de requisição, então trocar de provedor é principalmente uma mudança de base URL.
  • Streaming, chamada de funções e modo JSON transformam um endpoint de chat simples em um bloco de construção para software real.

A versão curta

Então, o que é uma API LLM? É um serviço que expõe um modelo de linguagem através de um endereço web. Você não baixa o modelo, não possui uma GPU e não gerencia o software de inferência. Você envia uma requisição que contém uma conversa, e o serviço retorna a próxima mensagem dessa conversa.

Pense nisso como pensa numa API de pagamentos ou numa API de mapas. Alguém executa a infraestrutura complexa, e você a chama do seu próprio programa com uma chave que o identifica. O modelo é o produto, e a API é a porta de acesso a ele.

Essa porta é HTTP simples com corpos JSON, o que significa que funciona com Python, Node, Go, script de shell, macro de planilha ou extensão do VS Code. Nada sobre isso está ligado a uma linguagem ou framework específico.

Como uma requisição e resposta se parecem

A maioria das APIs LLM hoje copia o formato que a OpenAI introduziu para chat. Você chama um endpoint, POST /v1/chat/completions, e envia uma lista de mensagens. Cada mensagem tem um role e algum content.

  • system define as regras e a persona para toda a conversa.
  • user é o que a pessoa (ou seu programa) diz.
  • assistant é o que o modelo disse antes, que você envia de volta para que ele lembre do fio da conversa.
  • tool carrega o resultado de uma função que o modelo pediu para você executar.

O detalhe importante é que o modelo não tem memória entre chamadas. Cada requisição deve carregar toda a conversa que você quer que ele considere. Se você quer um chatbot que lembre das últimas dez rodadas, seu código armazena essas dez rodadas e as envia cada vez.

Aqui está a chamada útil mínima com curl. Usa o endpoint deste site, o ID do modelo uncensored e um token bearer.

curl https://api.codingllmapi.com/v1/chat/completions \
  -H "Authorization: Bearer $LLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [
      {"role": "system", "content": "You are a concise assistant."},
      {"role": "user", "content": "Explain what a mutex is in two sentences."}
    ]
  }'

A resposta é JSON. O texto que você quer está em choices[0].message.content. Ao lado, você recebe um objeto usage que relata quantos tokens entraram e quantos saíram, que é a base da conta.

Tokens: a unidade de medida de tudo

Um modelo não lê caracteres ou palavras. Ele lê tokens, que são pedaços de texto que muitas vezes são uma palavra curta ou parte de uma mais longa. A prosa em inglês tem em média um pouco menos de um token por palavra, e o código tende a usar mais tokens por linha devido à pontuação e indentação. Trate qualquer conversão exata como uma estimativa e leia o campo usage para a contagem real.

Tokens importam por três razões.

  1. Preço. Você paga por milhão de tokens, com uma taxa para entrada (seu prompt) e uma taxa mais alta para saída (a resposta do modelo).
  2. Janela de contexto. O prompt e a resposta compartilham um limite. Nesta API, a janela é de 100.000 tokens no total.
  3. Velocidade. A saída é produzida um token após o outro, então uma resposta longa leva mais tempo que uma curta.

Com as taxas deste site, $0,15 por 1M de tokens de entrada e $0,50 por 1M de tokens de saída, uma requisição com 2.000 tokens de entrada e 500 tokens de saída custa 2.000 x $0,15 / 1.000.000 = $0,0003 para entrada mais 500 x $0,50 / 1.000.000 = $0,00025 para saída. Isso é $0,00055 no total, então mil requisições assim custam $0,55. As taxas atuais estão sempre na página de preços.

Chamando uma API LLM do código

Você pode escrever a chamada HTTP à mão, mas um SDK economiza esforço. Como esta API é compatível com OpenAI, as bibliotecas oficiais da OpenAI funcionam após você alterar dois valores: a base URL e a chave.

Python

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.codingllmapi.com/v1",
    api_key=os.environ["LLM_API_KEY"],
)

resp = client.chat.completions.create(
    model="uncensored",
    messages=[
        {"role": "system", "content": "You are a careful code reviewer."},
        {"role": "user", "content": "What is wrong with: for i in range(len(x)): print(x[i])"},
    ],
    temperature=0.3,
)

print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, resp.usage.completion_tokens)

Node

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.codingllmapi.com/v1",
  apiKey: process.env.LLM_API_KEY,
});

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Give me three names for a CLI that renames files." }],
});

console.log(resp.choices[0].message.content);

Mantenha a chave em uma variável de ambiente ou em um repositório de segredos. Uma chave colada no código front-end ou em um repositório público pode ser usada por qualquer um que a encontre, e os custos recaem sobre você.

Recursos que transformam uma caixa de chat em um bloco de construção

Uma conclusão simples é útil, mas a maioria dos programas reais usa pelo menos uma das seguintes opções.

Streaming

Defina stream: true e o servidor envia a resposta como eventos enviados pelo servidor, token por token. Os usuários veem o texto aparecer imediatamente em vez de esperar pela resposta completa. As figuras de uso chegam ao final do streaming.

Modo JSON

Passe response_format: {"type": "json_object"} e o modelo será direcionado a retornar JSON válido. É assim que você extrai campos de texto desordenado, classifica chamados ou gera dados estruturados para a próxima etapa de um pipeline. Ainda assim, valide o resultado no seu código e informe ao modelo, no prompt, quais chaves você espera.

Chamada de funções

Você descreve as funções no array tools. O modelo pode responder com uma solicitação para chamar uma função, com os argumentos preenchidos. Seu código executa a função e envia o resultado de volta como uma mensagem com role: "tool". O modelo nunca executa nada por conta própria. Ele apenas solicita, e você decide o que realmente é executado. Este é o mecanismo por trás de agentes de programação que leem arquivos e executam testes.

Controles de amostragem

temperature, top_p, stop, seed e as penalidades de repetição são passadas. Temperatura baixa dá respostas mais estáveis para código e extração. Valores mais altos dão prosa mais variada.

API hospedada ou executar um modelo você mesmo

A alternativa a uma API é executar um modelo de pesos abertos em seu próprio hardware. Essa é uma escolha válida, e vale a pena ser honesto sobre quando ela vence.

PerguntaAPI HospedadaAuto-hospedado
Custo inicialNenhum, você paga por tokenCompra ou aluguel de GPU
Tempo de configuraçãoMinutosHoras a dias
EscalabilidadeLimitado pelos limites de taxa da sua chaveLimitado pelo seu hardware
Os dados saem da sua máquinaSim, para o provedorNão
Custo ociosoZeroVocê paga mesmo quando nada está rodando

Se você enviar algumas milhares de requisições por dia ou seu uso for em picos, o preço por token costuma ser o caminho mais fácil. Se você tem carga pesada constante e regras rígidas que proíbem enviar texto para terceiros, hospedar localmente pode fazer mais sentido. Muitas equipes começam com uma API para validar a ideia e revisitam a questão mais tarde.

Limites, erros e boas práticas

Toda API tem limites, e conhecê-los antecipadamente economiza tempo de depuração. Neste serviço, uma chave completa permite 8 requisições simultâneas e 300 requisições por minuto. Uma chave de teste permite 2 e 60. O corpo máximo da requisição é de 8 MB. Uma requisição de streaming mantém seu slot de concorrência até que o streaming termine, o que pega quem abre muitos streams e esquece de fechá-los.

Ultrapassar um limite retorna HTTP 429. O código de erro rate_limited significa muitas requisições por minuto, e concurrency significa muitas de uma vez. Um 429 com o cabeçalho Retry-After: 5 sinaliza sobrecarga temporária. Em todos os três casos, a resposta correta é esperar e tentar novamente com backoff, não bombardear o endpoint.

  • Leia X-RateLimit-Limit-Requests e X-RateLimit-Limit-Concurrency dos cabeçalhos de resposta para ver seus limites, e X-Balance-USD para acompanhar seu crédito.
  • Registre X-Request-Id com cada chamada. Isso torna as perguntas de suporte muito mais rápidas de responder.
  • Defina um tempo limite sensível e um limite no tamanho da conversa para que um loop descontrolado não gaste seu saldo.
  • Remova turnos antigos de um chat antes que eles preencham a janela de contexto.

Requisições falhas ou recusadas não são cobradas nesta API, e o crédito nunca expira, então um erro nos testes custa pouco.

Começando com esta API

Este serviço é uma API de texto hospedada e compatível com OpenAI para um único modelo de pesos abertos, executada por um provedor independente e ajustada para responder sem recusas de conteúdo para uso adulto lícito. É apenas texto: sem imagens, áudio, embeddings ou fine-tuning. Não é a API oficial de nenhum fornecedor de modelo. Os prompts não são usados para treinamento.

Novos usuários podem resgatar $0,50 de crédito de teste com um clique na página da chave de API após entrar com Google ou com e-mail e senha. Não precisa de cartão e dura 7 dias. Depois disso, você recarrega com qualquer valor inteiro de $20 a $500, com bônus de 5% a partir de $50, 10% a partir de $100 e 15% a partir de $200. Você pode pagar com cartão (Visa, Mastercard, Apple Pay, Google Pay) ou com cripto (USDT na TRC20, USDC na Base).

Os passos são curtos: crie sua chave de API, siga o início rápido na documentação e execute o snippet Python acima. Se o seu principal uso for ajuda com programação, a página sobre um modelo sem censura para agentes de programação cobre esse caso com mais detalhes.

Perguntas e respostas

Uma API LLM é a mesma coisa que um chatbot?

Não. Um chatbot é uma aplicação com uma interface. Uma API LLM é o serviço por trás de tal aplicação, e você a chama do seu próprio código para construir a interface ou fluxo de trabalho que deseja.

Preciso saber machine learning para usar um?

Não. Se você consegue enviar uma requisição HTTP ou usar um SDK, você pode usar uma API LLM. Você precisa entender prompts e tokens, mas não como o modelo foi treinado.

O que significa compatível com OpenAI?

Isso significa que a API aceita o mesmo formato de requisição do endpoint de chat da OpenAI. SDKs e ferramentas existentes da OpenAI funcionam após você alterar a base URL e a chave.

Quanto custa uma API LLM?

Os provedores geralmente cobram por milhão de tokens, com taxas separadas para entrada e saída. Aqui é $0,15 por 1M de tokens de entrada e $0,50 por 1M de tokens de saída, descontados do crédito pré-pago sem assinatura.

Meus dados são usados para treinar o modelo?

Neste serviço, os prompts não são usados para treinamento. Para qualquer outro provedor, leia a política de dados antes de enviar texto sensível.

Sua chave está a um formulário de distância

Crie uma conta, copie a chave e altere a base URL. Essa é toda a configuração.

Obter chave de API