# Hatalar, rate limit'ler ve yeniden denemeler

> LLM API'nin her hatası: HTTP durum kodu, kod ve neden, hangilerinin yeniden denenmesi gerektiği ve neler yapılacağı. Hatalar ücretsizdir.

- URL: https://llmwithcrypto.com/tr/docs/errors/
- Son güncelleme: 2026-10-23
- Yayıncı: LLMwithCrypto (https://llmwithcrypto.com)

Hatalar OpenAI biçiminde döner, böylece SDK'lar bunları her zamanki gibi istisna olarak fırlatır. Bu sayfa her durum kodunu ve kodu listeler, hangilerinin yeniden denenmeye değer olduğunu söyler ve rate limit'e uyan bir yeniden deneme döngüsü gösterir.

**Kısa yanıt — LLMwithCrypto API'si hangi hataları döndürebilir ve bunlar ücretlendirilir mi?**

API, hatalara bir HTTP durum kodu ve OpenAI tarzı bir gövdeyle yanıt verir: `{"error": {"message", "type", "param", "code"}}`. **LLMwithCrypto** kötü bir istek için 400, yanlış anahtar için 401, kredinin ödemeye yetmediği durumda 402, bilinmeyen model için 404, rate limit için 429 ve bizim tarafımızdaki sorunlarda 500 veya 503 kullanır. Hata ile sonuçlanan bir çağrı ücretsizdir; 23 Ekim 2026 tarihinde belgelendiği üzere.

## Hangi hatalar var?

Hiçbir hata kredi kullanmaz. `code` kodunuzda test etmek için kararlı değerdir; `message` insanlar içindir ve değişebilir.

| HTTP | `code` | Neden | Yeniden denemeli mi? |
| --- | --- | --- | --- |
| 400 | `invalid_parameter` | Zorunlu bir alan eksik ya da bir değer aralık dışında veya yanlış türde | Hayır: isteği düzeltin |
| 400 | `context_length_exceeded` | Mesajlar artı `max_tokens` modelin bağlam penceresine sığmıyor | Hayır: girdiyi kısaltın veya `max_tokens` değerini düşürün |
| 400 | `unsupported_parameter` | Bu modelin desteklemediği bir alan, örneğin JSON modu olmayan bir modelde `response_format` | Hayır: kaldırın veya modeli değiştirin |
| 401 | `invalid_api_key` | Anahtar eksik, yanlış yazılmış veya iptal edilmiş | Hayır: anahtarı kontrol edin |
| 402 | `insufficient_balance` | Kalan bakiye bu çağrıyı karşılayamaz | Hayır: kredi paketi satın alın |
| 404 | `model_not_found` | `model` kimliği listemizde yok | Hayır: `GET /api/v1/models` içinden bir kimlik kullanın |
| 429 | `rate_limit_exceeded` | Hesabın izin verdiğinden dakikada daha fazla istek veya token | Evet, bir bekleyişten sonra |
| 500 | `server_error` | Bizim tarafımızda bir şeyler ters gitti | Evet, geri çekilmeyle |
| 503 | `model_overloaded` | Model bir süreliğine kapasite sınırında | Evet, geri çekilmeyle ya da başka bir modeli deneyin |

*Hata gövdesi: bilinmeyen model*

```json
{
  "error": {
    "message": "The model `gpt-4o` does not exist or is not available to your key.",
    "type": "invalid_request_error",
    "param": "model",
    "code": "model_not_found"
  }
}

```

## gpt-4o veya claude için neden 404 alıyorum?

Çünkü o modeller burada satılmıyor. GPT, Claude, Gemini veya Grok'a erişim satmıyoruz: üreticileri, onayları olmadan API erişiminin yeniden satılmasını yasaklıyor ve bizde bu onay yok. OpenAI API'si için yazılmış kod genellikle modeli birkaç yerde adlandırır; projenizde eski adı arayın ve [modeller sayfasındaki](https://llmwithcrypto.com/tr/models/), örneğin `deepseek-v4-pro` veya `gpt-oss-120b` gibi bir kimlikle değiştirin.

## Kodum ne zaman yeniden denemeli?

`429`, `500` ve `503` ile ağ hatalarını (timeout ya da bağlantı sıfırlanması gibi) yeniden deneyin. `400`, `401`, `402` veya `404` asla yeniden denemeyin: aynı istek aynı şekilde başarısız olur.

Her yeni denemeden önce bekleyin. Yanıtta `Retry-After` header'ı olduğunda o kadar saniye bekleyin; yoksa bekleyişi her seferinde ikiye katlayın (1, 2, 4, 8 saniye…) ve biraz rastgele süre ekleyin, böylece birçok worker aynı anda yeniden denemez. Birkaç denemeden sonra vazgeçin ve hatayı log'a yazın. OpenAI SDK'ları zaten kendi kendine yeniden dener; aşağıdaki örnek, mantığı bütünüyle göstersin diye bunu kapatıyor.

*Python: 429, 500 ve 503 için üstel geri çekilmeyle yeniden deneme*

```python
import os
import random
import time

from openai import APIConnectionError, APIStatusError, OpenAI

client = OpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
    max_retries=0,
)
RETRY = {429, 500, 503}


def chat(messages, model="deepseek-v4-pro", attempts=5):
    for attempt in range(attempts):
        try:
            return client.chat.completions.create(model=model, messages=messages, max_tokens=500)
        except APIStatusError as err:
            if err.status_code not in RETRY or attempt == attempts - 1:
                raise
            wait = err.response.headers.get("retry-after")
            delay = float(wait) if wait else min(30, 2**attempt) + random.random()
        except APIConnectionError:
            if attempt == attempts - 1:
                raise
            delay = min(30, 2**attempt) + random.random()
        time.sleep(delay)

```

## 402 insufficient_balance alınca ne yapmalıyım?

Bakiye yükleyin. Çağrı ücrete tabi tutulmadı ve hesaptaki başka hiçbir şey değişmez: tekrar kredi olduğunda anahtarlarınız çalışmaya devam eder. Kripto ile yaptığınız bakiye yüklemesi onaylandığında ve bir kredi paketi satın alındığında, API anahtarınız dashboard'da sizi bekliyor olur.

Üretimde sürprizleri önlemek için `GET https://llmwithcrypto.com/api/v1/credits` zaman zaman okuyun ve kendi seçtiğiniz bir alt sınırın altına düşünce uyarı verin; [modeller ve krediler sayfası](https://llmwithcrypto.com/tr/docs/models/) çağrıyı gösterir. Kredinin son kullanma tarihi yoktur: bu ay harcamadığınız kredi gelecek yıl da durur, yani erken alınan daha büyük bir paket ek bir maliyete yol açmaz.

## Rate limit'in altında nasıl kalabilirim?

Her hesabın dashboard'da gösterilen bir dakika başına istek ve token limiti vardır; destek ekibine sorun, yükseltilebilir.

- **Eşzamanlılığı sınırlayın.** Tüm partiyi birden göndermek yerine sabit sayıda isteği paralel çalıştırın.
- **Çıktıyı sınırlayın.** Token limitleri modelin yazdıklarını da sayar, bu yüzden makul bir `max_tokens` limite daha fazla isteğin sığmasını sağlar.
- **Partileri yayın.** Büyük çevrimdışı işler için istekleri patlamalar halinde göndermek yerine dakikaya yayın.

## Hatalar: sık sorulan sorular

### Başarısız bir çağrı için ücret alınıyor mu?

Hayır. Token başına bakiyenizden ödersiniz: girdi ve çıktı token'ları modelin kendi tokenizer'ı ile sayılır ve o modelin 1M token başına fiyatından ücretlendirilir. Hata ile sonuçlanan bir çağrı ücretsizdir.

### Kesinti olup olmadığını nereden görebilirim?

[Durum sayfasında](https://llmwithcrypto.com/tr/status/). Birden fazla modelde art arda `500` veya `503` hatası almak genellikle bizim tarafımızda bir olay olduğu anlamına gelir; sürerse support@llmwithcrypto.com adresine yazın.

### Başarısız olan isteği görebilir miyim?

Bizim tarafımızda göremezsiniz. Prompt'larınızı veya modelin yanıtlarını saklamayız: bir yanıt gönderildiğinde metni kaybolur. Her çağrı, zaman, hesap, model ve token sayılarını içeren tek bir log satırı bırakır; bu satırlar 30 gün sonra silinir. Uygulamanızda `code` hatasını ve kendi istek id'nizi log'a yazın.

---

LLMwithCrypto: LLMwithCrypto, açık ağırlıklı modeller için OpenAI uyumlu bir LLM API'sidir — DeepSeek V4 Pro, DeepSeek V4.1 Flash, DeepSeek R1, Qwen3.5 397B A17B, Qwen3 235B A22B Instruct, gpt-oss-120b, gpt-oss-20b, GLM-4.7, Llama 3.3 70B Instruct, Gemma 4 31B, Mistral Large 3, Mistral Small 4 — ön ödemeli kripto bakiyesinden token başına ödenir ve genel barındırıcıların medyan fiyatının %5 altındadır. KYC yok: kimlik yok, selfie yok, belge yok. İstemler ve çıktılar saklanmaz.
