Introdução
GLM 5.2 é o modelo de chat de contexto longo da Z.ai, disponível aqui como um endpoint compatível com OpenAI em /v1/chat/completions. Ele lê até 1.048.576 tokens em no máximo 256 mensagens e responde com até 131.072: entra um corpus inteiro, sai uma conclusão.
O esforço de raciocínio tem dois ajustes, high e max, com max por padrão. Aceita temperature (de 0 a 1) e top_p, response_format devolve JSON, é possível declarar até 128 tools por requisição, o conteúdo das mensagens é só texto e as respostas chegam por Server-Sent Events.
Recursos e destaques
Oito tokens lidos para cada um escrito
1.048.576 de entrada e 131.072 de saída dão cerca de oito para um, e esse formato diz para que serve o modelo: ler um trimestre de tickets, uma regulação completa ou uma caixa de e-mail inteira e devolver uma conclusão, não uma reescrita. Se a resposta precisar ser tão longa quanto a entrada, divida a entrega antes.
max por padrão, high para o volume
reasoning_effort começa em max e desce para high nas primeiras passadas grandes. Os dois ficam no mesmo corpo de requisição, então uma varredura barata em dez mil documentos e uma segunda olhada cuidadosa em quarenta deles são uma única integração. max gasta mais do orçamento de resposta raciocinando, por isso aqui max_tokens vem com 32.768 por padrão.
JSON e tools na mesma chamada
Defina response_format como json_object e nomeie as chaves na mensagem de sistema, ou declare até 128 funções e deixe o tool_choice decidir quando rodam. Nos dois casos, sua aplicação valida o resultado antes de agir.
Parâmetros da requisição
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
messages | Sim | No máximo 256 turnos ordenados, só conteúdo de texto. Ponha o corpus numa mensagem de user e a pergunta mais o formato de saída na de system. pelo menos 1 itens · no máximo 256 itens |
reasoning_effort | Não | high ou max. max é o padrão, como na API da própria Z.ai, então uma requisição que omite o campo já sai no ajuste mais cuidadoso; desça para high em varreduras em massa. |
stop | Não | Uma sequência, como string ou array de um item: a Z.ai só lê uma. A resposta termina assim que o modelo a escreve, e o texto correspondente não é devolvido. pelo menos 1 caracteres · pelo menos 1 itens · no máximo 1 itens |
max_tokens | Não | Limita a resposta a 131.072 — um oitavo da janela de leitura. Padrão 32.768. |
temperature | Não | De 0 a 1, padrão 1. Segure em 0 sempre que a resposta for lida por código. |
top_p | Não | De 0,01 a 1, padrão 0,95. Ajuste este ou temperature, nunca os dois na mesma comparação. |
tools | Não | Até 128 definições de função por requisição. no máximo 128 itens |
tool_choice | Não | auto, none, required ou um objeto nomeando uma função. |
response_format | Não | Peça um objeto JSON e nomeie todas as chaves na mensagem de system. |
Preços
Entrada $0.98 / Saída $3.08 por 1 milhão de tokens
Casos de uso
Um trimestre de tickets de suporte numa chamada
Carregue todos os tickets de uma janela de release numa requisição e pergunte quais modos de falha se repetem, com os IDs dos tickets como evidência. Nada se perde numa amostragem, então até um padrão que aparece uma vez por semana vem à tona.
Regulação versus comportamento do produto
Coloque o texto completo de uma regulação ao lado da sua documentação de tratamento de dados e peça as obrigações, os controles que as atendem e as lacunas, cada lacuna ligada à cláusula de onde vem.
Backends que chamam suas ferramentas internas
Declare consulta de pedidos, reembolso e verificação de direitos como tools numa requisição e deixe o modelo decidir qual chamar. Os resultados voltam como mensagens com papel tool, então uma resolução em várias etapas fica numa só conversa.
Guia de prompt e dicas práticas
Carregue o corpus inteiro, não uma amostra
A janela costuma ser maior do que o índice de busca que alguém estava prestes a construir. Coloque o material numa mensagem de usuário, do mais antigo ao mais recente, e reserve a mensagem de sistema para a pergunta e o formato de saída.
Peça uma conclusão, não uma transcrição
POST https://api.spicyapi.ai/v1/chat/completions com {"model": "zai/glm-5.2", "messages": [{"role": "system", "content": "Return one JSON object with keys: obligations, controls, gaps. Every gap must cite the clause it comes from."}, {"role": "user", "content": "<the regulation>\n\n<our data-handling policy>"}], "reasoning_effort": "high", "max_tokens": 16000, "response_format": {"type": "json_object"}, "temperature": 0}. temperature 0 mantém as execuções repetidas comparáveis quando você revisa o mesmo corpus de novo.
Escale só as linhas ambíguas
Reenvie em max, com o mesmo corpus, o punhado de lacunas que a primeira passada marcou como incertas. Você paga a leitura longa duas vezes, mas a resposta cuidadosa cai nas linhas que importam. max_tokens acima de 131.072 falha na validação, e partes de imagem e de arquivo são rejeitadas.
Início rápido da API
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "zai/glm-5.2/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
Consulte a referência da API para autenticação, esquema completo, polling e tratamento de erros.







