Skip to main content
GLM (General Language Model) est une nouvelle génération de modèles de langage lancée par Zhipu AI (Zhipu AI / Z.ai), dotée de puissantes capacités de compréhension et de génération en chinois et en anglais, avec d’excellentes performances dans des tâches telles que les scénarios en chinois, la génération de code, le raisonnement et les dialogues multi-tours. Les nouveaux modèles de la génération GLM-5.3, GLM-5.2, GLM-4.7, etc., ont été largement optimisés pour les contextes longs, les appels d’outils et les tâches de code, et peuvent être largement appliqués à des scénarios tels que les questions-réponses intelligentes, la création de contenu, l’assistance à la programmation, et les robots de service client. Ce document présente principalement le processus d’utilisation de l’API GLM Chat Completion, qui vous permet d’appeler facilement les modèles de la série GLM via une interface compatible avec OpenAI.

Processus de demande

Pour utiliser l’API GLM Chat Completion, commencez par obtenir votre token API sur le tableau de bord Ace Data Cloud pour le garder en réserve. Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion pour vous inviter à vous inscrire et à vous connecter, après quoi vous serez automatiquement renvoyé à la page actuelle. Un seul token API suffit pour appeler tous les services de la plateforme, sans avoir besoin de demander séparément pour chaque service. La première demande vous donnera un quota gratuit pour une expérience sans frais ; lorsque le quota est insuffisant, vous pouvez recharger le solde général dans le tableau de bord.
📘 Documentation complète : GLM Chat Completion API →

Utilisation de base

L’adresse de requête de l’API GLM Chat Completion est https://api.acedata.cloud/glm/chat/completions, utilisant l’authentification Bearer Token, le corps de la requête étant compatible avec le protocole OpenAI Chat Completions. Lors de la première utilisation de cette interface, nous devons remplir au moins trois contenus :
  • authorization : sélectionnez simplement le Bearer Token dans la liste déroulante.
  • model : choisissez le modèle GLM à appeler, les modèles actuellement pris en charge incluent :
    • glm-5.3 : le modèle phare le plus récent, prenant en charge 1M de contexte et jusqu’à 128K de sortie, adapté aux tâches de raisonnement complexes, de code et d’agent. Le raisonnement est toujours activé, et vous pouvez choisir reasoning_effort comme low, high ou max.
    • glm-5.2 : le modèle phare de la génération précédente, avec de fortes capacités globales.
    • glm-5.1 : modèle phare mature, adapté aux tâches complexes générales.
    • glm-4.7 : excellent dans les tâches de raisonnement, d’appels d’outils et de code.
    • glm-4.6 : modèle de dialogue général, équilibrant efficacité et coût.
    • glm-3-turbo : modèle de dialogue classique, adapté aux tâches de génération de texte général.
  • messages : tableau de messages, chaque message contenant role et content, role prenant en charge trois rôles : user, assistant, system.
Paramètres optionnels courants :
  • max_tokens : limite le nombre maximum de tokens pour une seule réponse.
  • temperature : aléatoire de génération, entre 0 et 2, plus la valeur est élevée, plus elle est dispersée.
  • top_p : paramètre d’échantillonnage nucléaire, contrôlant le seuil de probabilité cumulée des tokens candidats.
  • n : combien de réponses candidates générer à la fois.
  • stream : active ou non la réponse en continu, par défaut false.
  • stop : séquence d’arrêt personnalisée.
Voici un exemple d’appel Python le plus simple :
Après l’appel, nous constatons que le résultat retourné est le suivant :
Les principales explications des champs de retour sont les suivantes :
  • id : l’ID unique de cette tâche de dialogue.
  • created : le temps de création de cette tâche de dialogue (timestamp Unix, en secondes).
  • model : le nom du modèle GLM réellement appelé.
  • choices : liste des réponses générées par le modèle. choices[i].message.content est le texte spécifique de la réponse du modèle, finish_reason indique la raison de la fin (stop, length, tool_calls, content_filter, etc.).
  • usage : statistiques d’utilisation des tokens pour cette demande, incluant prompt_tokens, completion_tokens, total_tokens.

Réponse en continu

Cette interface prend en charge les réponses en continu (Server-Sent Events), ce qui est très utile pour l’intégration web, permettant d’afficher les résultats lettre par lettre. Si vous souhaitez retourner une réponse en continu, il suffit de définir le paramètre stream dans le corps de la requête sur true. Exemple de code d’appel Python :
L’effet de sortie est le suivant (extrait) :
On peut voir que la réponse contient de nombreuses data, chaque data contient un segment incrémental. choices[i].delta.content est le segment de texte nouvellement ajouté dans le chunk actuel, vous pouvez assembler ces segments pour former une réponse complète. Lorsque le contenu de data est [DONE], cela indique que la réponse en streaming est terminée. Le dernier chunk avec usage résumera l’utilisation des tokens pour cette demande. Exemple en JavaScript (Node.js) :
Exemple de code Java :
D’autres langages peuvent être réécrits de la même manière, le principe est le même.

Dialogue multi-tours

Si vous souhaitez réaliser une fonctionnalité de dialogue multi-tours, vous devez placer les dialogues historiques dans le tableau messages et conserver l’ordre alterné entre user et assistant. Exemple d’appel en Python :
En téléchargeant plusieurs questions, vous pouvez facilement réaliser un dialogue multi-tours et obtenir la réponse suivante :
On peut voir que les informations contenues dans choices sont cohérentes avec l’utilisation de base, le modèle répond sur la base de l’historique complet de la conversation, permettant ainsi une interaction contextuelle multi-tours.

Message de système (System Prompt)

Vous pouvez ajouter un message avec un role de system au début de messages pour contraindre le rôle, le style ou le comportement du modèle :

Appel d’outils (Function Calling)

Le modèle GLM prend en charge l’appel de fonctions compatible avec OpenAI, vous pouvez déclarer les fonctions appelables via le paramètre tools, le modèle renverra des informations structurées sur l’appel de fonction dans choices[i].message.tool_calls lorsque cela est nécessaire.
Si le modèle décide d’appeler un outil, la raison de fin dans le résultat changera en tool_calls, et le nom de la fonction ainsi que les paramètres sous forme de chaîne JSON seront fournis dans message.tool_calls. Vous pouvez exécuter cette fonction et renvoyer le résultat en tant que message avec role de tool au modèle, complétant ainsi le cycle d’appel d’outil.

Suggestions de choix de modèle

Lorsque api_error est renvoyé et que le message est Le service est temporairement indisponible, veuillez réessayer plus tard., cela indique généralement que le service GLM en amont est temporairement indisponible, il est conseillé de réessayer avec un backoff exponentiel, ou de passer à un autre modèle GLM disponible (par exemple, passer temporairement de glm-5.1 à glm-4.7 ou glm-4.6).

Conclusion

Grâce à ce document, vous avez compris comment utiliser l’API GLM Chat Completion pour appeler les modèles de la série GLM de Zhiyu AI, y compris les appels de base, les réponses en streaming, les dialogues multi-tours, les invites système et les appels d’outils, etc. Nous espérons que ce document vous aidera à mieux intégrer et utiliser cette API. Si vous avez des questions, n’hésitez pas à contacter notre équipe de support technique.