Conclusões de chat
Estrutura de requisição/resposta, streaming e os endpoints equivalentes nos protocolos Anthropic e Gemini.
A conclusão de chat é o endpoint mais usado: envie uma lista de mensagens ao modelo e receba de volta a resposta gerada. A entrada principal da plataforma é o protocolo compatível com OpenAI; os protocolos Anthropic e Gemini são equivalentes isomórficos.
Formato da requisição (compatível com OpenAI)
POST {base}/chat/completions — autenticação em Autenticação:
{
"model": "your-model",
"messages": [
{"role": "system", "content": "You are a support assistant."},
{"role": "user", "content": "Where is my order?"},
{"role": "assistant", "content": "Sure, may I have the order number?"},
{"role": "user", "content": "A1024"}
],
"temperature": 0.7,
"max_tokens": 1024,
"stream": false
}
messagesé o histórico ordenado da conversa;roleésystem/user/assistant. Em conversas com vários turnos, o cliente monta o histórico completo e o reenvia a cada chamada;- Um
temperaturemais alto significa saída mais variada (comumente 0–1);max_tokenslimita o tamanho da resposta; - Streaming: com
"stream": truea resposta é enviada incrementalmente via SSE (choices[0].delta) — ideal para exibir o texto conforme é gerado. Nos SDKs oficiais: passestream=Truee itere.
Formato da resposta
Campos principais de uma resposta sem streaming:
{
"choices": [
{
"message": {"role": "assistant", "content": "..."},
"finish_reason": "stop"
}
],
"usage": {"prompt_tokens": 58, "completion_tokens": 132, "total_tokens": 190}
}
choices[0].message.contentcontém a resposta;finish_reasonigual astopsignifica que terminou naturalmente, elengthque foi cortada pormax_tokens;usageé o consumo de tokens desta chamada — tanto a cobrança quanto a página "Uso" se baseiam nele.
Endpoints equivalentes em outros protocolos
- Anthropic:
POST {base}/v1/messages— os nomes dos campos mudam (max_tokensé obrigatório, a resposta fica no arraycontent), mas a semântica é a mesma; - Gemini:
POST {base}/v1beta/models/{model}:generateContent— as mensagens vão no arraycontents.
Os três protocolos são isomórficos; a migração é basicamente renomear campos. Na prática, use o SDK oficial correspondente (openai / @anthropic-ai/sdk / @google/genai) com base_url apontando para a plataforma.

