529, Claude'da kodunuzun neden olmadığı tek hatadır: Anthropic'in kendisi aşırı yüklenmiştir. Bunu düzeltemezsiniz — yalnızca iyi yönetebilirsiniz. Bu, sabırlı yeniden denemeler, yedek bir model ve olayı anlık denemelerle asla büyütmemek anlamına gelir.
Hata
{
"type": "error",
"error": { "type": "overloaded_error",
"message": "Overloaded" }
}Nedenler ve çözümler özeti
| Neden | Çözüm |
|---|---|
| Sağlayıcı doygunluğu (lansman günleri, bölgesel olaylar) | Jitter içeren üstel geri çekilme kullanın. Yeniden dağıtım yapmak yerine sağlayıcının durum sayfasına bakın. |
| Kısmi bir olay sırasında trafik zirveniz düştü | Toplu işleri dağıtın; on dakika beklemek genellikle sorunu çözer. |
| Döngüde anında yeniden deneme | Hemen tekrar denemek yükü katlar ve olayı sizin de dahil olduğunuz herkes için uzatır. |
İyi bir vatandaş gibi yeniden deneyin
529'u retry-after başlığı olmayan bir 429 gibi ele alın: yaklaşık 2 saniyeden başlayan, jitter içeren, 30–60 saniye üst sınırına sahip üstel geri çekilme kullanın; yaklaşık 5 denemeden sonra vazgeçip işi kuyruğa alın. 429'u işleyen aynı kod dalı 529 için de kullanılabilir.
import time, random
from openai import APIStatusError
def com_retry(fn, tentativas=5):
for i in range(tentativas):
try:
return fn()
except APIStatusError as e:
if e.status_code not in (429, 500, 529):
raise
espera = min(2 ** i + random.random(), 60)
time.sleep(espera)
raise RuntimeError("esgotou as tentativas")Çökme yerine model değiştirin
Gecikmeye duyarlı yollarda bir yedek tanımlayın: aynı aile içinde (Sonnet → Haiku) davranış benzer kalır; sağlayıcılar arasında (Claude → GPT) ise bütün bir olayı atlatabilirsiniz. OpenAI uyumlu bir uç noktada bu, yalnızca bir dizenin değiştirilmesidir.
PREFERIDOS = ["claude-sonnet-5", "claude-haiku-4-5", "gpt-5-6-terra"]
def completar(mensagens):
ultimo = None
for modelo in PREFERIDOS:
try:
return client.chat.completions.create(
model=modelo, messages=mensagens, max_tokens=800)
except APIStatusError as e:
if e.status_code not in (429, 500, 529):
raise
ultimo = e # saturado — tenta o próximo
raise ultimo529'u 429 veya 402 ile karıştırmayın
429, limitlerinizi aştığınız anlamına gelir (sunucu iyi durumdadır). 529, sunucunun aşırı yüklendiği anlamına gelir (kotanız iyi durumdadır). 402, bakiyenin yetersiz olduğu anlamına gelir. Günlükte benzer görünürler, ancak çözümleri tamamen farklıdır: yalnızca 429 ve 529 yeniden denenmelidir.
Kunavo üzerinden çağrı yapıyorsanız
Kunavo'da aynı çok modelli katalog tek bir anahtarın ve tek bir cüzdanın arkasındadır; bu nedenle yukarıdaki örnekte sağlayıcılar arası yük devretme, ikinci hesap veya kayıt gerektirmeden model adının değiştirilmesidir. Başarısız istekler ücretlendirilmez. Kapasite ve fiyat ayrı sorulardır; ikincisi için token başına ücretler şu adrestedir: Claude API fiyatlandırma kılavuzumuzda.
Sık sorulan sorular
529 hatası benim hatam mı?
Hayır. Bu, sağlayıcı tarafındaki kapasite sorunudur. Tek sorumluluğunuz problemi büyütmemek (jitter içeren geri çekilme kullanmak) ve olay gecikme bütçenizden uzun sürerse geçebileceğiniz bir hedefe sahip olmaktır.
529 ile 429 arasındaki fark nedir?
429, limitlerinizi aştığınız anlamına gelir; 529, sunucunun aşırı yüklendiği anlamına gelir. İkisi de yeniden denenebilir, ancak genellikle yalnızca 429 retry-after ipucuyla gelir.
529 ile sonuçlanan bir istek için ücretlendirilir miyim?
Öyle olmamalı — istek token üretmedi. Kunavo'da başarısız istekler bakiyeden düşülmez.
İlgili kılavuzlar
- Claude API'sinde 429 rate_limit_error hatası — anlamı ve çözümü
- 401 authentication_error / invalid x-api-key hatası — kontrol edilmesi gerekenler, sırayla
- Claude API 529 overloaded_error — nedir ve nasıl atlatılır
Hata anlamlarına ilişkin daha fazla bilgi hata referansı bölümünde; anahtar almak kayıt ve kimlik doğrulama kılavuzu üzerinden bir dakika sürer.