Skip to main content
GLM (Modelo de Lenguaje General) es la nueva generación de modelos de lenguaje lanzada por Zhipu AI (Zhipu AI / Z.ai), que posee una poderosa capacidad de comprensión y generación en chino e inglés, destacándose en tareas como escenarios en chino, generación de código, razonamiento y diálogos de múltiples turnos. Los nuevos modelos de la generación GLM-5.3, GLM-5.2, GLM-4.7, entre otros, han realizado numerosas optimizaciones en contextos largos, llamadas a herramientas y tareas de código, y pueden aplicarse ampliamente en escenarios como preguntas y respuestas inteligentes, creación de contenido, asistencia de código, y chatbots de servicio al cliente. Este documento describe principalmente el proceso de uso de la API de GLM Chat Completion, que le permite invocar fácilmente los modelos de la serie GLM a través de una interfaz compatible con OpenAI.

Proceso de Solicitud

Para usar la API de GLM Chat Completion, primero dirígete a la consola de Ace Data Cloud para obtener tu Token de API, que debes guardar como respaldo. Si aún no has iniciado sesión o registrado, serás redirigido automáticamente a la página de inicio de sesión que te invitará a registrarte e iniciar sesión; una vez completado, volverás automáticamente a la página actual. Un Token de API es suficiente para acceder a todos los servicios de la plataforma, no es necesario solicitar uno por cada servicio. La primera solicitud incluirá un crédito gratuito, que te permitirá experimentar sin costo; si el crédito es insuficiente, puedes recargar el saldo general en la consola.
📘 Documentación completa: GLM Chat Completion API →

Uso Básico

La dirección de solicitud de la API de GLM Chat Completion es https://api.acedata.cloud/glm/chat/completions, utilizando autenticación Bearer Token, y el cuerpo de la solicitud es compatible con el protocolo de OpenAI Chat Completions. En la primera vez que uses esta interfaz, necesitamos completar al menos tres contenidos:
  • authorization: selecciona directamente Bearer Token en la lista desplegable.
  • model: elige el modelo GLM que deseas invocar, los modelos actualmente soportados incluyen:
    • glm-5.3: el modelo insignia más reciente, soporta 1M de contexto y hasta 128K de salida, adecuado para razonamientos complejos, tareas de código y de Agente. El razonamiento está siempre habilitado, y puedes elegir reasoning_effort como low, high o max.
    • glm-5.2: modelo insignia de la generación anterior, con fuertes capacidades generales.
    • glm-5.1: modelo insignia maduro, adecuado para tareas complejas generales.
    • glm-4.7: destaca en razonamiento, llamadas a herramientas y tareas de código.
    • glm-4.6: modelo de diálogo general, equilibrando efectividad y costo.
    • glm-3-turbo: modelo de diálogo clásico, adecuado para tareas generales de generación de texto.
  • messages: array de mensajes, cada mensaje incluye role y content, donde role admite tres tipos: user, assistant, system.
Parámetros opcionales comunes:
  • max_tokens: limita el número máximo de tokens en una sola respuesta.
  • temperature: aleatoriedad en la generación, entre 0-2, cuanto mayor sea el valor, más dispersa será la respuesta.
  • top_p: parámetro de muestreo nuclear, controla el umbral de probabilidad acumulativa de los tokens candidatos.
  • n: cuántas respuestas candidatas generar en una sola vez.
  • stream: si habilitar o no la respuesta en streaming, por defecto false.
  • stop: secuencia de parada personalizada.
A continuación, se muestra un ejemplo de llamada más simple en Python:
Después de la llamada, encontramos que el resultado devuelto es el siguiente:
La explicación de los principales campos del resultado devuelto es la siguiente:
  • id: ID único de la tarea de diálogo actual.
  • created: hora de creación de la tarea de diálogo actual (marca de tiempo Unix, en segundos).
  • model: nombre del modelo GLM realmente invocado.
  • choices: lista de respuestas generadas por el modelo. choices[i].message.content es el texto específico de la respuesta del modelo, finish_reason indica la razón de finalización (stop, length, tool_calls, content_filter, etc.).
  • usage: estadísticas del uso de tokens en esta solicitud, que incluye prompt_tokens, completion_tokens, total_tokens.

Respuesta en Streaming

Esta interfaz soporta respuestas en streaming (Eventos Enviados por el Servidor), lo cual es muy útil para la integración en páginas web, permitiendo mostrar el contenido palabra por palabra. Si deseas que la respuesta se devuelva en streaming, simplemente establece el parámetro stream en true en el cuerpo de la solicitud. Código de ejemplo en Python para la llamada:
El efecto de salida es el siguiente (extracto):
Se puede ver que hay muchos data en la respuesta, cada data contiene un fragmento incremental. choices[i].delta.content es el fragmento de texto nuevo añadido en el chunk actual, puedes concatenar estos fragmentos para formar una respuesta completa. Cuando el contenido de data es [DONE], indica que la respuesta en streaming ha terminado. El último chunk que lleva usage resumirá el uso de tokens de esta solicitud. Ejemplo en JavaScript (Node.js):
Ejemplo de código en Java:
Otros lenguajes pueden ser reescritos de manera similar, el principio es el mismo.

Diálogo en múltiples turnos

Si deseas implementar la función de diálogo en múltiples turnos, necesitas colocar el historial de conversación en el arreglo messages, manteniendo el orden alternado de user y assistant. Ejemplo de código en Python:
Al subir múltiples preguntas, puedes lograr fácilmente un diálogo en múltiples turnos, obteniendo respuestas como la siguiente:
Se puede ver que la información en choices es consistente con el uso básico, el modelo proporciona una respuesta basada en el historial completo de la conversación, lo que permite la interacción contextual en múltiples turnos.

Mensaje de sistema (System Prompt)

Puedes agregar un mensaje con role de system al principio de messages para restringir el rol, estilo o comportamiento del modelo:

Llamada a funciones (Function Calling)

El modelo GLM soporta llamadas a funciones compatibles con OpenAI, puedes declarar funciones llamables a través del parámetro tools, el modelo devolverá información estructurada de la llamada a la función en choices[i].message.tool_calls cuando sea necesario.
Si el modelo decide llamar a una herramienta, el resultado tendrá finish_reason cambiado a tool_calls, y en message.tool_calls se proporcionará el nombre de la función y los parámetros en forma de cadena JSON. Puedes ejecutar esa función y devolver el resultado como un mensaje con role de tool al modelo, completando así el ciclo de llamada a la herramienta.

Sugerencias para la selección de modelos

Cuando se devuelve api_error y el mensaje es El servicio está temporalmente no disponible, por favor intente de nuevo más tarde., generalmente indica que el servicio GLM upstream está temporalmente no disponible, se sugiere reintentar con retroceso exponencial, o cambiar a otro modelo GLM disponible (por ejemplo, cambiar temporalmente de glm-5.1 a glm-4.7 o glm-4.6).

Conclusión

A través de este documento, ha aprendido cómo utilizar la API de GLM Chat Completion para llamar a los modelos de la serie GLM de Zhiyu AI, incluyendo llamadas básicas, respuestas en streaming, diálogos de múltiples turnos, mensajes del sistema y llamadas a herramientas, entre otros usos típicos. Esperamos que este documento le ayude a integrar y utilizar mejor esta API. Si tiene alguna pregunta, no dude en contactar a nuestro equipo de soporte técnico.