Skip to main content
GLM (General Language Model) é uma nova geração da série de modelos de linguagem desenvolvida pela Zhipu AI (Zhipu AI / Z.ai), que possui uma forte capacidade de compreensão e geração em chinês e inglês, apresentando um desempenho excepcional em tarefas como cenários em chinês, geração de código, raciocínio e diálogos de múltiplas rodadas. Modelos de nova geração como GLM-5.3, GLM-5.2, GLM-4.7, entre outros, foram amplamente otimizados para contextos longos, chamadas de ferramentas e tarefas de código, podendo ser amplamente aplicados em cenários como perguntas e respostas inteligentes, criação de conteúdo, assistência de código, robôs de atendimento ao cliente, entre outros. Este documento apresenta principalmente o processo de uso da API GLM Chat Completion, permitindo que você chame facilmente os modelos da série GLM através de uma interface compatível com OpenAI.

Processo de Solicitação

Para usar a API GLM Chat Completion, primeiro acesse o console da Ace Data Cloud para obter seu Token de API, que deve ser guardado para uso futuro. Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login, onde será convidado a se registrar e fazer login. Após a conclusão, você será redirecionado de volta para a página atual. Um Token de API é suficiente para acessar todos os serviços da plataforma, não sendo necessário solicitar um para cada serviço. A primeira solicitação oferece um crédito gratuito, permitindo uma experiência sem custo; quando o crédito estiver baixo, você pode recarregar o saldo geral no console.
📘 Documentação Completa: GLM Chat Completion API →

Uso Básico

O endereço de solicitação da API GLM Chat Completion é https://api.acedata.cloud/glm/chat/completions, utilizando autenticação Bearer Token, e o corpo da solicitação é compatível com o protocolo OpenAI Chat Completions. Na primeira utilização dessa interface, precisamos preencher pelo menos três conteúdos:
  • authorization: selecione diretamente o Bearer Token na lista suspensa.
  • model: escolha o modelo GLM a ser chamado, atualmente os modelos suportados incluem:
    • glm-5.3: modelo mais recente e de ponta, suporta 1M de contexto e até 128K de saída, adequado para raciocínio complexo, tarefas de código e de agente. O raciocínio está sempre ativado, podendo ser selecionado através de reasoning_effort como low, high ou max.
    • glm-5.2: modelo de ponta da geração anterior, com forte capacidade geral.
    • glm-5.1: modelo de ponta maduro, adequado para tarefas complexas gerais.
    • glm-4.7: apresenta excelente desempenho em raciocínio, chamadas de ferramentas e tarefas de código.
    • glm-4.6: modelo de diálogo geral, equilibrando eficácia e custo.
    • glm-3-turbo: modelo de diálogo clássico, adequado para tarefas gerais de geração de texto.
  • messages: array de mensagens, cada mensagem contém role e content, onde role suporta três tipos: user, assistant, system.
Parâmetros opcionais comuns:
  • max_tokens: limita o número máximo de tokens na resposta única.
  • temperature: aleatoriedade na geração, entre 0-2, quanto maior o valor, mais disperso.
  • top_p: parâmetro de amostragem nuclear, controla o limite de probabilidade acumulada dos tokens candidatos.
  • n: quantas respostas candidatas gerar de uma vez.
  • stream: se habilitar a resposta em fluxo, padrão false.
  • stop: sequência de parada personalizada.
Abaixo está um exemplo mais simples de chamada em Python:
Após a chamada, encontramos o resultado retornado como segue:
Abaixo estão as principais explicações dos campos retornados:
  • id: ID único da tarefa de diálogo atual.
  • created: hora de criação da tarefa de diálogo atual (timestamp Unix, em segundos).
  • model: nome do modelo GLM realmente chamado.
  • choices: lista de respostas geradas pelo modelo. choices[i].message.content é o texto específico da resposta do modelo, e finish_reason indica a razão do término (stop, length, tool_calls, content_filter, etc.).
  • usage: estatísticas de uso de tokens para esta solicitação, incluindo prompt_tokens, completion_tokens, total_tokens.

Resposta em Fluxo

Esta interface suporta resposta em fluxo (Server-Sent Events), o que é muito útil para integração em páginas da web, permitindo que a página exiba o efeito de exibição palavra por palavra. Se você deseja retornar a resposta em fluxo, basta definir o parâmetro stream no corpo da solicitação como true. Código de exemplo de chamada em Python:
O efeito de saída é como segue (trecho):
Pode-se ver que a resposta contém muitos data, cada data inclui um fragmento incremental. choices[i].delta.content é o fragmento de texto adicionado atualmente, você pode concatenar esses fragmentos para formar uma resposta completa. Quando o conteúdo de data é [DONE], isso indica que a resposta em fluxo terminou. O último fragmento com usage resumirá o uso de tokens desta solicitação. Exemplo em JavaScript (Node.js):
Exemplo de código em Java:
Outras linguagens podem ser reescritas de forma semelhante, o princípio é o mesmo.

Diálogo em várias rodadas

Se você deseja implementar a funcionalidade de diálogo em várias rodadas, deve colocar o histórico de conversas no array messages, mantendo a ordem alternada entre user e assistant. Exemplo de código em Python:
Ao enviar várias perguntas, você pode facilmente realizar diálogos em várias rodadas e obter a seguinte resposta:
Pode-se ver que as informações contidas em choices são consistentes com o uso básico, o modelo fornece uma resposta com base no histórico completo da conversa, suportando assim a interação contextual em várias rodadas.

Mensagem de sistema (System Prompt)

Você pode adicionar uma mensagem com role como system no início de messages para restringir o papel, estilo ou comportamento do modelo:

Chamada de função (Function Calling)

O modelo GLM suporta chamadas de função compatíveis com OpenAI, você pode declarar funções chamáveis através do parâmetro tools, o modelo retornará informações estruturadas de chamada de função em choices[i].message.tool_calls quando necessário.
Se o modelo decidir chamar a ferramenta, o resultado retornado terá finish_reason alterado para tool_calls, e fornecerá o nome da função e os parâmetros em forma de string JSON em message.tool_calls. Você pode executar essa função e retornar o resultado como uma mensagem com role como tool para o modelo, completando assim o ciclo de chamada de ferramenta.

Sugestões de escolha de modelo

Tratamento de Erros

Ao chamar a API, se encontrar um erro, a API retornará o código de erro e a mensagem correspondente. Por exemplo:
  • 400 token_mismatched: Parâmetros de solicitação ausentes ou inválidos.
  • 400 api_not_implemented: Parâmetros ou modelos não suportados foram utilizados.
  • 401 invalid_token: Não autorizado, Bearer Token ausente ou inválido.
  • 429 too_many_requests: Limite de frequência acionado, por favor, tente novamente mais tarde.
  • 500 api_error: Erro interno do servidor ou upstream temporariamente indisponível.

Exemplo de Resposta de Erro

Quando retornar api_error e a mensagem for Serviço temporariamente indisponível, por favor, tente novamente mais tarde., geralmente indica que o serviço GLM upstream está temporariamente indisponível, recomenda-se tentar novamente com um backoff exponencial ou mudar para outro modelo GLM disponível (por exemplo, mudar temporariamente de glm-5.1 para glm-4.7 ou glm-4.6).

Conclusão

Através deste documento, você já entendeu como usar a API de Conclusão de Chat GLM para chamar os modelos da série GLM da Zhiyu AI, incluindo chamadas básicas, respostas em fluxo, diálogos de múltiplas rodadas, prompts de sistema e chamadas de ferramentas, entre outros usos típicos. Esperamos que este documento possa ajudá-lo a integrar e usar melhor essa API. Se tiver alguma dúvida, entre em contato com nossa equipe de suporte técnico.