Erreur 504 : que faire quand doubao-seed-2-0-mini-260428 échoue
Un 504 signifie que la passerelle a expiré en attendant le modèle amont : la requête a été envoyée, mais l'amont n'a pas répondu dans le délai imparti.
504 Gateway Timeout signifie que la passerelle a cessé d’attendre la réponse de l’upstream. La requête a été transmise, mais aucun résultat n’est revenu dans la limite imposée. Raccourcir la sortie, activer le streaming ou baisser max_tokens règle généralement le problème.
doubao-seed-2-0-mini-260428 est fourni par Volcengine Ark. 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 : L'amont a mis plus de temps que le délai autorisé par la passerelle. La première action recommandée : Passez à la sortie en streaming.
Causes fréquentes
- L'amont a mis plus de temps que le délai autorisé par la passerelle
- Un contexte long a augmenté le temps d'inférence
- Un nœud amont est bloqué
- Une requête non diffusée avec une sortie très longue
Comment corriger
- Passez à la sortie en streaming
- Raccourcissez le contexte et réduisez max_tokens
- Réessayez après une courte attente
- Utilisez un modèle à inférence plus rapide
Nouvelle tentative avec backoff exponentiel
Le code ci-dessous réessaie lorsque doubao-seed-2-0-mini-260428 renvoie 504 : 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 = 'doubao-seed-2-0-mini-260428'
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 | Volcengine Ark |
|---|---|
| Contexte | 256K |
| Capacités | Reasoning, Tools, Files, Vision |
| Formats d’API | openai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search |
| Formule de facturation | p * 0.0273973 + cr * 0.00547945 + c * 0.273973) : len <= 128000 ? tier("32k_128k", p * 0.0547945 + cr * 0.00547945 + c * 0.547945) : tier("128k_plus", p * 0.109589 + cr * 0.00547945 + c * 1.09589 |
Questions fréquentes
504 est-il plus probable en appel direct depuis le frontend ou via un backend ?
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 Volcengine Ark dispose de plusieurs nœuds upstream entre lesquels la passerelle peut basculer. Gardez un modèle de repli plus léger, le flux principal ne sera jamais interrompu.
Les retry doivent-ils ajouter du jitter aléatoire ?
Il n’est généralement pas nécessaire de modifier le code, seulement le rythme des appels. Réessayer est la première étape la plus efficace. Avec la facturation p * 0.0273973 + cr * 0.00547945 + c * 0.273973) : len <= 128000 ? tier("32k_128k", p * 0.0547945 + cr * 0.00547945 + c * 0.547945) : tier("128k_plus", p * 0.109589 + cr * 0.00547945 + c * 1.09589, 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.
Faut-il modifier les paramètres quand doubao-seed-2-0-mini-260428 renvoie 504 ?
Les paramètres doivent changer ; réessayer seul ne suffira pas. C’est un problème de configuration côté client ; rien ne change côté serveur. La fenêtre de contexte 256K fixe l’entrée maximale par requête ; au-delà, c’est rejeté immédiatement. Tronquez ou résumez les entrées longues : cela réduit nettement 504.
Les requêtes échouées comptent-elles dans mon quota de débit ?
Aucune facturation : seule la sortie réellement produite compte dans l’usage. La facturation suit p * 0.0273973 + cr * 0.00547945 + c * 0.273973) : len <= 128000 ? tier("32k_128k", p * 0.0547945 + cr * 0.00547945 + c * 0.547945) : tier("128k_plus", p * 0.109589 + cr * 0.00547945 + c * 1.09589 : sans sortie, aucun débit. Vérifiez d’abord le solde et les limites de débit dans la console, ensuite le code. En estimant le coût à partir de p * 0.0273973 + cr * 0.00547945 + c * 0.273973) : len <= 128000 ? tier("32k_128k", p * 0.0547945 + cr * 0.00547945 + c * 0.547945) : tier("128k_plus", p * 0.109589 + cr * 0.00547945 + c * 1.09589, incluez aussi le budget de relances.
Autres erreurs sur ce modèle
- doubao-seed-2-0-mini-260428 : erreur 429 — causes et solutions
- doubao-seed-2-0-mini-260428 : erreur timeout — causes et solutions
- doubao-seed-2-0-mini-260428 : erreur 500 — causes et solutions
- doubao-seed-2-0-mini-260428 : erreur 502 — causes et solutions
- doubao-seed-2-0-mini-260428 : erreur 503 — causes et solutions
- doubao-seed-2-0-mini-260428 : erreur 401 — causes et solutions
- doubao-seed-2-0-mini-260428 : erreur 403 — causes et solutions
- doubao-seed-2-0-mini-260428 : 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 15:50