Z.ai: GLM 5.3 (batch)
Z.ai GLM 5.3 é um modelo de raciocínio textual para engenharia de software complexa, trabalho em terminal e agentes de longa duração. Suporta um contexto de 1M tokens documentado pelo fabricante, até 128K tokens de saída, chamada de funções e esforço de raciocínio low/high/max, mantendo o raciocínio sempre ativado.
Sobre o modelo
Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.
Z.ai GLM 5.3 é um modelo de raciocínio textual de grande escala concebido para engenharia de software complexa e trabalho de agentes de longa duração. O fabricante afirma que utiliza o mesmo modelo de base de GLM 5.2, sendo os novos ganhos provenientes do pós-treino. A versão centra-se numa programação mais capaz, em operações de terminal e em tarefas mais amplas que envolvem várias etapas dependentes. Aceita texto e produz texto, incluindo código, explicações, planos e pedidos de chamada de ferramentas numa aplicação ligada a ferramentas.
O modo de raciocínio documentado está sempre ativado. GLM 5.3 oferece três níveis de esforço: low, high e max, sendo max o valor predefinido. O fabricante recomenda max para trabalho de programação complexo; low oferece uma opção de raciocínio mais leve para etapas mais simples. Utilize o nível selecionado juntamente com um resultado final claro e critérios de conclusão. Por exemplo: «Inspecione estes ficheiros e os resultados das verificações que falharam, identifique a causa nos módulos afetados, proponha uma correção que preserve a interface pública e explique quais as verificações que demonstram que a regressão foi resolvida.»
O fabricante especifica uma janela de contexto de 1M tokens e um comprimento máximo de saída de 128K tokens. Organize o material longo em torno da relação que o modelo precisa de investigar. Preserve nomes de ficheiros, definições relevantes, identificações das fontes e a ordem das observações, deixando espaço para o raciocínio e a resposta final dentro do contexto de trabalho aplicável. Uma janela grande é útil para dependências entre módulos ou para uma longa sequência de observações de agentes; não transforma um arquivo indiscriminado de material sem relação numa tarefa bem definida.
Para trabalho num repositório, forneça o comportamento esperado, o texto-fonte relevante, as versões das dependências e a saída efetiva do erro. Peça ao modelo que identifique o comportamento afetado antes de propor uma correção. Para uma refatorização, indique a interface e os invariantes que devem permanecer intactos. Uma resposta útil contém o código revisto, a razão pela qual a alteração resolve o problema observado e os casos necessários para verificar o resultado. Devolva os resultados efetivos ao fluxo de trabalho ligado a ferramentas para que a etapa seguinte se baseie no estado alterado e não na proposta anterior.
Para trabalho de desempenho, forneça uma carga de trabalho, uma referência inicial e medições, como tempos, perfis ou registos de alocação. A Z.ai descreve tarefas de treino que envolvem diagnóstico de estrangulamentos, otimização, experiências e resultados que preservam a correção. Um pedido prático é: «Utilize este perfil para identificar o estrangulamento com maior impacto, proponha uma alteração mensurável e explique que resultado justificaria mantê-la.» Distinga uma hipótese sobre desempenho de uma melhoria registada. Preserve a mesma carga de trabalho e as condições relevantes ao inspecionar um resultado.
A versão também desenvolve a capacidade de análise de vulnerabilidades. Para uma revisão defensiva do código-fonte, forneça o código relevante, os limites de confiança previstos e as condições em que é executado. Peça uma conclusão que ligue um problema suspeito à entrada e ao comportamento afetados e a uma correção específica. Separe uma potencial fragilidade de uma falha reproduzida e conserve a observação utilizada para a validar. Um relatório é mais útil quando dá prioridade a elementos de prova concretos e a correções propostas, em vez de tratar todos os padrões suspeitos como vulnerabilidades confirmadas.
A chamada de funções permite que uma aplicação envolvente disponibilize operações externas ao modelo. Defina a finalidade, os argumentos e o resultado esperado de cada ferramenta e devolva depois a observação efetiva da ferramenta para a etapa seguinte. O modelo pode raciocinar sobre esse resultado e decidir de que forma altera a tarefa. Mantenha distinguíveis as ações propostas, as operações executadas e as verificações por resolver. O fabricante também documenta respostas em fluxo contínuo, que devolvem separadamente fragmentos de raciocínio e de resposta; reúna a resposta concluída antes de a tratar como relatório final ou explicação de código.
A ficha local do modelo apresenta um pormenor específico sobre as definições do histórico: o seu template de conversação conserva o raciocínio por predefinição, enquanto o fabricante recomenda a remoção explícita do raciocínio antigo em cenários de conversação comuns. Aplique a estrutura de conversa adequada ao caso de utilização, preservando as respostas efetivamente concluídas e os resultados de ferramentas necessários à continuação. Evite tratar as definições de controlo de raciocínio de GLM 5.2 ou das edições separadas GLM 5.3 Flash como intercambiáveis com os controlos low/high/max deste modelo.
Para resultados estruturados, especifique os campos, os tipos e as regras de origem esperados. Um produto útil pode ser uma tabela de defeitos, um plano de alterações ou um objeto JSON que resuma observações. Valide tanto a estrutura como os valores antes de uma aplicação os utilizar. O resultado final deve identificar a resposta ou o produto revisto, os elementos de prova que o sustentam e os pressupostos restantes. Um maior esforço de raciocínio não demonstra que uma ferramenta foi executada, que uma correção proposta passou nas verificações ou que uma afirmação factual tem apoio para além do material fornecido.
Ailoot Ultra · Processamento em lote POST /v1/batches z-ai/glm-5.3:batch
z-ai/glm-5.3:batchIntrodução
Z.ai GLM 5.3 é um modelo de raciocínio textual para engenharia de software complexa, trabalho em terminal e agentes de longa duração. Suporta um contexto de 1M tokens documentado pelo fabricante, até 128K tokens de saída, chamada de funções e esforço de raciocínio low/high/max, mantendo o raciocínio sempre ativado.
- Entradas aceites
- Texto
- Resultados
- Texto
Disponível no Ailoot · entradas e métodos
Ailoot Ultra · Processamento em lote POST /v1/batches
- Entrada
text- Saída
text- Formato de saída
- JSON em linha de results[].response.body
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campoendpoint | Tipostring | RequisitoObrigatório | Valores e limites /v1/chat/completions | Predefinição— |
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites z-ai/glm-5.3:batch | Predefinição— |
Camporequests | Tipobatch_item[] | RequisitoObrigatório | Valores e limites Número mínimo de elementos: 1 | Predefinição— |
Camporequests[].custom_id | Tipostring | RequisitoObrigatório | Valores e limites | Predefinição— |
Camporequests[].body.messages | Tipomessage[] | RequisitoObrigatório | Valores e limites | Predefinição— |
Campocompletion_window | Tipostring | RequisitoOpcional | Valores e limites 24h | Predefinição— |
Campoprovider | Tipoobject|null | RequisitoOpcional | Valores e limites | Predefinição— |
Camporequests[].body.model | Tipostring | RequisitoOpcional | Valores e limites z-ai/glm-5.3:batch, z-ai/glm-5.3 | Predefinição— |
Campoprovider.only | Tipostring[] | RequisitoOpcional | Valores e limites deepinfra/fp4 | Predefinição— |
Campoprovider.allow_fallbacks | Tipoboolean|null | RequisitoOpcional | Valores e limites false, null | Predefinição— |
Parâmetros e ciclo de vida do método
| Parâmetro | Contrato |
|---|---|
Parâmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratoendpoint, model, requests |
Parâmetromaterial_types | Contratotext |
Parâmetrorepresentation | Contratorequests[] em linha; cada item tem custom_id e body |
Parâmetrorequest_endpoint_profile | Contrato/v1/chat/completions |
Parâmetrofile_material | ContratoQuem faz a chamada pode ler localmente o conteúdo JSONL UTF-8 efetivo para requests[]. Não é utilizada qualquer finalidade de carregamento, input_file_id ou referência a ficheiro. Se o material do cliente estiver em falta ou vazio, a preparação é interrompida antes do POST. |
Parâmetroserialization_order | Contratoendpoint, model, provider (se fornecido), completion_window (se fornecido), requests em último lugar |
Parâmetrooptional_controls | Contratoprovider.only, provider.allow_fallbacks, completion_window |
Parâmetroschema_scope | ContratoCorpos de pedidos de texto de Chat Completions na estrutura de lote em linha documentada. |
Ciclo de vida: asynchronous
GET /v1/batches/{operation_id} · response.id efetivo da resposta original de criação; mesmo utilizador/chave/grupo
Tarifários
As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.
- Modo rápido
- Não especificado Quando o modo rápido está selecionado
- Modo flex
- Não especificado Quando o modo flex está selecionado
- Esforço máximo de raciocínio
- Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
- Preços da cache explícita
- Não ativado Quando é pedida cache explícita
Tarifas Ailoot
Preços por configuração
Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.
| Configuração | Tabela de tarifas | Tokens de contexto, mais de | Tokens de contexto, até ao limite inclusive | Custo |
|---|---|---|---|---|
| ConfiguraçãoTarifas base dos tokens | Tabela de tarifasTarifa base | Tokens de contexto, mais de— | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada $0.0009 / 1K tokens Saída · Tokens de saída $0.004 / 1K tokens Entrada · Leitura da cache $0.0002 / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
| ConfiguraçãoEscalão 1 por comprimento do pedido | Tabela de tarifas— | Tokens de contexto, mais de0 | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada $0.0009 / 1K tokens Saída · Tokens de saída $0.004 / 1K tokens Entrada · Leitura da cache $0.0002 / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →
Exemplos de pedidos
Ailoot Ultra · Processamento em lote
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"z-ai/glm-5.3:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen
def prepare_requests(customer_path):
path = Path(customer_path)
if not path.is_file(): raise ValueError("Customer JSONL file is missing")
items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
if not items: raise ValueError("Customer JSONL contains no requests")
ids = set()
for item in items:
if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
cid = item["custom_id"]
if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
ids.add(cid)
if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
supplied_model = item["body"].get("model")
if supplied_model is not None and supplied_model not in ['z-ai/glm-5.3:batch', 'z-ai/glm-5.3']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"z-ai/glm-5.3:batch", "requests":items}
if __name__ == "__main__":
material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
body = prepare_requests(material)
key = os.environ.get("AILOOT_API_KEY", "")
if not key: raise SystemExit("Set AILOOT_API_KEY")
request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
with urlopen(request) as response:
raw = response.read()
Path("batch-create-response.json").write_bytes(raw)
print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
Receber e guardar os resultados
Ailoot Ultra · Processamento em lote
JSON em linha de results[].response.body
GET /v1/batches/{operation_id}
Verificar o estado da tarefa
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
Guardar todos os resultados concluídos
Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.
Conserve o JSON completo do estado original, todos os resultados/custom_id e o corpo completo da resposta ou do erro. Guarde os results[] concluídos em formato JSONL, sem filtrar.
Se for necessário verificar a resposta original
Preserve o ID original da operação. A resposta 503 result_pending_check inclui X-Should-Retry:false; nunca volte a enviar um lote original de estado desconhecido.
Campos da resposta
| Campo | Tipo |
|---|---|
Camporesults[].custom_id | Tipostring |
Camporesults[].response.body.choices[].message.content | Tipostring|null |
Camporesults[].error | Tipoobject|null |
Campousage | Tipoobject|null |
Campoid | Tipostring |
Campomodel | Tipostring |
Campoendpoint | Tipostring |
Campostatus | Tipostring |
Camporequest_counts | Tipoobject |
Camporesults[].id | Tipostring |
Camporesults[].response.status_code | Tipointeger |
Camporesults[].response.request_id | Tipostring |
Erros e passos seguintes
| Resposta | Condição | Passo seguinte |
|---|---|---|
Resposta400 · invalid_request_error | CondiçãoEstrutura em linha documentada inválida, chaves duplicadas, identidade do item inválida ou conflito com as capacidades configuradas do modelo. | Passo seguinteCorrija os campos indicados antes de qualquer novo envio. |
Resposta401 · authentication_error | CondiçãoChave de API inválida. | Passo seguinteUse a chave Ailoot autorizada. |
Resposta403 · permission_error | CondiçãoGrupo de processamento em lote indisponível. | Passo seguinteVerifique os direitos de acesso da chave/do grupo. |
Resposta422 · invalid_request_error | CondiçãoO processamento em lote usa faturação por débito do saldo; a criação com subscrição é rejeitada. | Passo seguinteUse o grupo autorizado com faturação por débito do saldo. |
Resposta422 · price_unavailable | CondiçãoNão é possível calcular uma estimativa de preço para os dados de entrada do lote. | Passo seguinteConserve a resposta; use os dados de entrada documentados para a família. |
Resposta402 · billing_error | CondiçãoReserva para processamento em lote indisponível. | Passo seguinteResolva a questão da admissão antes de um novo pedido. |
Resposta503 · price_unavailable | CondiçãoPreço do método de processamento em lote/tarifas nativas indisponíveis. | Passo seguinteConserve a resposta; não substitua os preços. |
Resposta503 · api_error | CondiçãoA rota exata do fornecedor está indisponível. | Passo seguinteConserve a resposta para corrigir a rota. |
Resposta503 · result_pending_check | CondiçãoO resultado original requer verificação; X-Should-Retry:false. | Passo seguinteGuarde o operation_id/id original e consulte o respetivo estado; nunca repita o POST original. |
Resposta404 · not_found | CondiçãoA operação de consulta do estado do lote não existe ou pertence a outra identidade. | Passo seguinteUse o id original exato e o mesmo utilizador/chave/grupo. |
Aliases
Aliases do modelo
Ailoot Ultra z-ai/glm-5.3:batch
Aliases dos caminhos dos métodos
Use os caminhos dos métodos indicados acima.
IDs de chamada relacionados
FAQ · Z.ai: GLM 5.3 (batch)
- Que entradas e resultados estão disponíveis?
POST /v1/batches·z-ai/glm-5.3:batch:text→text- Que campos utiliza o pedido?
POST /v1/batches·z-ai/glm-5.3:batch:endpoint,model,requests,completion_window,provider- Que limites se aplicam?
POST /v1/batches·z-ai/glm-5.3:batch:requests.min_items:1