Erreur 502 : que faire quand glm-4.6 échoue
Un 502 signifie que la passerelle a reçu une réponse invalide du service de modèle amont : la requête a atteint la passerelle, mais le saut vers l'amont a échoué.
502 Bad Gateway signifie que la passerelle a reçu une réponse invalide du service upstream du modèle. La requête a atteint la passerelle ; l’échec s’est produit sur le saut vers l’upstream, généralement à cause d’un redémarrage de nœud ou d’une connexion coupée.
glm-4.6 est fourni par Z.AI. Tout sur cette page — causes, correctifs et données mesurées — est établi à partir du comportement réel de ce modèle au niveau de la passerelle.
Sur cette passerelle, le déclencheur le plus courant est : Le service de modèle amont est indisponible ou a renvoyé une réponse mal formée. La première action recommandée : Réessayez une fois : les 502 sont généralement passagères.
Causes fréquentes
- Le service de modèle amont est indisponible ou a renvoyé une réponse mal formée
- Un nœud amont redémarre
- La connexion entre la passerelle et l'amont a été interrompue
- Le modèle a été temporairement retiré
Comment corriger
- Réessayez une fois : les 502 sont généralement passagères
- Passez à un modèle équivalent d'un autre fournisseur
- Si un seul modèle renvoie 502, son amont est en panne
- Réessayez plus tard ou contactez-nous
Nouvelle tentative avec backoff exponentiel
Le code ci-dessous réessaie lorsque glm-4.6 renvoie 502 : jusqu’à 5 tentatives, avec une attente croissante et un jitter aléatoire pour éviter que les appels concurrents ne réessaient simultanément. Lisez l’URL de base et la clé API depuis les variables d’environnement, ne les écrivez jamais en dur.
import os, time, random
import requests
BASE = os.getenv("OPENAI_BASE_URL") # e.g. https://<your-gateway>/v1
KEY = os.getenv("OPENAI_API_KEY")
MODEL = 'glm-4.6'
def chat(messages, retries=5):
"""Retry with exponential backoff + jitter."""
for i in range(retries):
try:
r = requests.post(
BASE + "/chat/completions",
headers={"Authorization": "Bearer " + KEY},
json={"model": MODEL, "messages": messages, "stream": True},
timeout=60,
)
if r.status_code == 429 or r.status_code >= 500:
time.sleep(min(2 ** i + random.uniform(0, 1), 30))
continue
r.raise_for_status()
return r.json()
except requests.exceptions.Timeout:
time.sleep(min(2 ** i + random.uniform(0, 1), 30))
raise RuntimeError("gave up after " + str(retries) + " retries")
print(chat([{"role": "user", "content": "hello"}]))Données clés de ce modèle
| Point de terminaison API | https://api.airai.cc/v1 |
|---|---|
| Compatible OpenAI | OpenAI-compatible |
| Fournisseur | Z.AI |
|---|---|
| Contexte | 204.8K |
| Capacités | Reasoning, Tools, Open Weights |
| Formats d’API | openai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search |
| Formule de facturation | p * 0.6 + cr * 0.11 + cc * 0 + c * 2.2 |
Questions fréquentes
Un modèle équivalent d’un autre fournisseur corrige-t-il 502 ?
Gardez aussi un modèle de repli prêt. Un repli intégré à l’architecture est plus fiable que de corriger chaque erreur séparément. Ce modèle de Z.AI dispose de plusieurs nœuds upstream entre lesquels la passerelle peut basculer. Mettez le nom du modèle en configuration : changer d’amont ne demande alors aucune modification de code.
Une sortie incomplète de glm-4.6 est-elle la même chose que 502 ?
Conservez l’identifiant de requête et le corps brut de la réponse, sinon rien ne peut être retracé. Si cela n’arrive qu’en production, c’est généralement une différence d’environnement, pas le modèle. Ce modèle est servi par Z.AI, l’état en amont dépend donc des annonces du fournisseur. Enregistrez l’identifiant de requête à chaque échec : c’est plus utile que le code d’état.
Quel niveau de concurrence est sûr ?
Baissez d’abord la concurrence : la plupart des problèmes de débit disparaissent ensuite. Ce modèle dispose d’une fenêtre de contexte de 204.8K et vient de Z.AI. Pour les longues sorties, portez le délai d’attente à 60 secondes ou plus.
Comment utiliser l’en-tête Retry-After de la réponse ?
Réessayer est la première étape la plus efficace. Avec la facturation p * 0.6 + cr * 0.11 + cc * 0 + c * 2.2, les requêtes échouées ne sont pas comptées dans l’usage. Fixez la limite de relances à 3–5 et ajoutez du jitter. Utilisez un backoff exponentiel pour les erreurs relançables et renvoyez l’erreur immédiatement pour les autres.
Autres erreurs sur ce modèle
- glm-4.6 : erreur 429 — causes et solutions
- glm-4.6 : erreur timeout — causes et solutions
- glm-4.6 : erreur 500 — causes et solutions
- glm-4.6 : erreur 503 — causes et solutions
- glm-4.6 : erreur 504 — causes et solutions
- glm-4.6 : erreur 401 — causes et solutions
- glm-4.6 : erreur 403 — causes et solutions
- glm-4.6 : erreur 400 — causes et solutions
Autres modèles avec la même erreur
- gpt-5
- claude-opus-5
- gemini-2.5-pro
- deepseek-v4-pro
- grok-4.3
- llama-3.3-70b-instruct
- qvq-max
- qwq-32b
- glm-5
- MiniMax-M3
- kimi-k3
- hy3
- doubao-seed-evolving
- mimo-v2.5
- gpt-4o
- claude-opus-4-6
Données mises à jour: 2026-10-10 18:35