Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
OpenAI API'sinde hesabınızın kredisi bittiğinde veya harcama ya da kullanım limiti aşıldığında 429 hata türüyle insufficient_quota döndürülür. Hız sınırıyla aynı durum kodudur, ancak birkaç saniye beklemek sorunu düzeltmez. Erişim yalnızca birisi kredi ekledikten, bir limit yükselttiğinde veya aylık dönem yenilendiğinde geri gelir. OpenAI, faturalama, harcama veya kota hatalarını yeniden denemenin API erişimini geri yüklemeyeceğini ve tam nedenini bulmak için error.code incelemeniz gerektiğini söylüyor. Daha fazla bilgi için bkz. Hata kodları.
OpenAI'nin kota hataları nasıl görünür?
Bu hataların her biri 429 döndürür.
error.type yine de insufficient_quota olabilir, bu nedenle hangisini aldığınızı anlamak için error.code kontrol edin.
error.code |
Ne anlama gelir? | Erişim nasıl geri kazanılır |
|---|---|---|
credit_balance_exhausted |
Kuruluşunuzun ön ödemeli kredisi kalmadı. | Kredi ekleyin. |
organization_spend_limit_exceeded |
Kuruluşunuz tüm projeler genelinde aylık harcama sınırına ulaştı. | Sınırı yükseltin veya kaldırın ya da aylık sıfırlamayı bekleyin. |
project_spend_limit_exceeded |
Proje aylık harcama sınırına ulaştı. Diğer projeler çalışmaya devam ediyor. | Projenin sınırını yükseltin veya kaldırın ya da aylık sıfırlamayı bekleyin. |
organization_usage_limit_exceeded |
Kuruluşunuz, OpenAI'nin kendisine atadığı aylık kullanım sınırına ulaştı. Belirlediğiniz harcama limitlerinden ayrıdır. | Daha yüksek bir onay sınırı isteyin veya OpenAI desteğine başvurun. |
Bunları, slow_down ve rate_limit_exceeded gibi "Hız sınırına ulaşıldı" hatalarıyla karşılaştırın. Bunlar geçicidir ve kısa bir süre bekledikten sonra yeniden denemek genellikle işe yarar. Daha fazla bilgi için bkz. OpenAI 'Hız sınırına ulaşıldı' hataları.
OpenAI kota hatalarıyla başa çıkma
- Yalnızca durumu değil,
error.codeöğesini de okuyun.429tek başına, yeniden denemeniz gerekip gerekmediğini size söylemez. Tablodaki 4 kodu "dur" olarak, hız sınırı kodlarını ise "bekle ve yeniden dene" olarak değerlendirin. - Yeniden denemeyi bırakın. İsteği bir daha göndermeyin ve yeniden deneme döngüsünün API'yi çağırmaya devam etmesine izin vermeyin. Birisi faturalama sorununu çözene kadar her istek aynı şekilde başarısız olur.
- Başarısız olacak aramaları durdurun. Bir kota hatası, aynı kuruluştan veya projeden gelen sonraki isteklerin de başarısız olacağı anlamına gelir. Her birini gönderip hatayı beklemek yerine atlayın.
- Kullanıcıya söyleyin. Yapay zeka özelliğinin şimdilik kullanılamadığını açıklayın ve uygulamanızın geri kalanını çalışır durumda tutun.
- Uyarı oluşturun. Kodu yüksek önem derecesiyle günlüğe kaydedin veya faturalamadan sorumlu kişiyi çağırın. Düzeltme kodunuzun dışında olduğundan, birinin bilmesi gerekir.
OpenAI Python SDK429 yanıtlarını varsayılan olarak 2 kez yeniden dener. Kaç kez yeniden denerse denesin, kodunuz sonunda faturalama koduyla birlikte RateLimitError alır ve burada durursunuz:
import logging
import openai
from openai import OpenAI
client = OpenAI()
logger = logging.getLogger(__name__)
BILLING_CODES = {
"credit_balance_exhausted",
"organization_spend_limit_exceeded",
"project_spend_limit_exceeded",
"organization_usage_limit_exceeded",
}
billing_error: str | None = None
def ask(prompt: str) -> str:
global billing_error
if billing_error:
raise RuntimeError("AI features are paused until billing is fixed.")
try:
response = client.responses.create(model="gpt-4.1", input=prompt)
return response.output_text
except openai.RateLimitError as error:
if error.code in BILLING_CODES:
billing_error = error.code
logger.critical("OpenAI billing error: %s", error.code)
raise
Uygulamanız yeniden başlatılana kadar bayrak ayarlanmış olarak kalır. Uygulamanız uzun süre çalışıyorsa, örneğin birisi faturalamayı düzeltdikten sonra bir yönetici eylemiyle bunu başka bir şekilde temizleyin.
Uygulamanızın OpenAI kota hatalarını işlediğini test etme
Geliştirme sırasında nadiren bir kota hatası görürsünüz. Test hesabınızda krediniz var ve kullanımınız düşük. Dolayısıyla kota işlemeyi test etme yönteminiz, hataları kullanıcılarınızdan önce bulup bulmayacağınızı belirler.
| Approach | Bulduklarınız | Kaçırdığınız şeyler |
|---|---|---|
| Üretim için bekleyin | Gerçek arızalar | Bir kullanıcı ona basana kadar her şey yolundadır ve yapay zeka özelliği, biri fark edene kadar devre dışı kalır |
| Testlerinizde API'yi mock’layın veya kodlama ajanınızın mock’u yazmasına izin verin | Stop branch'inizin çalışıp çalışmadığı | OpenAI'nin gerçek hata gövdesi ve kodları ile SDK'nızın yeniden deneme ilkesi. Uygulamanızın mock nesneye erişmek için de yalnızca test amaçlı bir anahtara ihtiyacı vardır. |
| Gerçek kredilerinizin tamamını kullanın veya çok düşük bir harcama limiti belirleyin | Gerçek davranış | Ücretlidir ve kuruluşu veya projeyi paylaşan diğer tüm uygulamaları engeller |
| Uygulamanızın gerçek trafiğini yakalayın ve isteğe bağlı olarak kota hataları döndürün | Gerçek URL'ler, gerçek SDK'nız ve yeniden deneme ilkeniz ve OpenAI'nin kendi hata biçimi | Uygulamanızda hiçbir şey değişmez, bu yüzden kodunuzu yalıtılmış olarak test etmez. Bunu birim testlerinize bırakın. |
Uygulamanızda deneyin
Dev Proxy, uygulamanızın api.openai.com adresine yaptığı istekleri yakalar ve OpenAI hatalarını döndürürken uygulamanız gerçek URL'leri çağırmaya devam eder.
openai-throttling ön ayar, bir credit_balance_exhausted hatayı hız sınırı hatalarına karıştırır. Tür insufficient_quota ve üst bilgi olmadan Retry-After döndürür429, böylece uygulamanızın yeniden denemek yerine durup durmadığını de kontrol edebilirsiniz.
ön ayarı indirin ve Dev Proxy’yi bu ön ayarla başlatın:
devproxy config get openai-throttling
devproxy --config-file "~dataFolder/configs/openai-throttling/.devproxy/devproxyrc.json"
Yalnızca kota hatalarını test etmek için ön ayarın openai-errors.json dosyasını düzenleyin ve yalnızca credit_balance_exhausted yanıtı koruyun. Harcama ve kullanım sınırı kodlarını test etmek için, aynı yapıda ve farklı bir code içeren yanıtlar ekleyin.
Ardından uygulamanızı her zamanki gibi çalıştırın ve ne yaptığını izleyin. Geliştirme Proxy'sini yüklemek için bkz. Dev Proxy'yi ayarlama.