Ana içeriğe atla

Genel Bakış

LemonData, adil kullanım ve platform kararlılığını sağlamak için hız limitleri uygular. Limitler hesap katmanına göre değişiklik gösterir.

Hız Limiti Katmanları

Katmanİstek/dakAçıklama
User60Tüm hesaplar için varsayılan katman
Partner300Entegrasyon ortakları için
VIP1,000Yüksek hacimli kullanıcılar
Hız limitleri değişikliğe tabidir. Özel limitler için [email protected] ile iletişime geçin.

Hız Limiti Başlıkları

Her API yanıtı hız limiti bilgilerini içerir:
X-RateLimit-Limit: 60          # Dakika başına limitiniz
X-RateLimit-Remaining: 55      # Kalan istek sayısı
X-RateLimit-Reset: 1234567890  # Limitin sıfırlanacağı Unix zaman damgası

Hız Limiti Aşıldı

Limiti aştığınızda bir 429 yanıtı alırsınız:
{
  "error": {
    "message": "Rate limit exceeded. Please slow down.",
    "type": "rate_limit_exceeded"
  }
}
Ek başlık ile:
Retry-After: 60  # Yeniden denemeden önce beklenecek saniye

Hız Limitlerini Yönetme

Üstel Geri Çekilme (Exponential Backoff)

Otomatik yeniden denemeler için üstel geri çekilme uygulayın:
import time
from openai import OpenAI, RateLimitError

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://api.lemondata.cc/v1"
)

def make_request_with_backoff(messages, max_retries=5):
    for attempt in range(max_retries):
        try:
            return client.chat.completions.create(
                model="gpt-4o",
                messages=messages
            )
        except RateLimitError as e:
            if attempt == max_retries - 1:
                raise

            wait_time = 2 ** attempt  # 1, 2, 4, 8, 16 saniye
            print(f"Rate limited. Waiting {wait_time}s...")
            time.sleep(wait_time)

İstek Kuyruğa Alma

Yüksek hacimli uygulamalar için bir istek kuyruğu uygulayın:
import asyncio
from collections import deque

class RateLimitedClient:
    def __init__(self, requests_per_minute=60):
        self.rpm = requests_per_minute
        self.interval = 60 / requests_per_minute
        self.last_request = 0

    async def request(self, messages):
        # Hız limitine uymak için gerekirse bekle
        now = asyncio.get_event_loop().time()
        wait_time = max(0, self.last_request + self.interval - now)
        if wait_time > 0:
            await asyncio.sleep(wait_time)

        self.last_request = asyncio.get_event_loop().time()
        return await self.client.chat.completions.create(
            model="gpt-4o",
            messages=messages
        )

Toplu İşleme (Batch Processing)

Toplu işlemler için, gecikmelerle birlikte gruplar halinde işleyin:
def process_batch(items, batch_size=50, delay=1):
    results = []
    for i in range(0, len(items), batch_size):
        batch = items[i:i + batch_size]
        for item in batch:
            result = client.chat.completions.create(
                model="gpt-4o",
                messages=[{"role": "user", "content": item}]
            )
            results.append(result)
        time.sleep(delay)  # Gruplar arasında duraklat
    return results

En İyi Uygulamalar

Limitlerin altında kalmak için hız limiti başlıklarını proaktif olarak takip edin.
API çağrılarını azaltmak için aynı isteklerin yanıtlarını önbelleğe alın.
Daha hızlı modeller (gpt-4o-mini gibi) daha fazla işleme kapasitesi sağlar.
Daha yüksek limitlere ihtiyacınız varsa [email protected] ile iletişime geçin.

Katmanınızı Yükseltme

Katman yükseltme talebinde bulunmak için:
  1. Panelinize giriş yapın
  2. Ayarlar → Hesap bölümüne gidin
  3. Kullanım durumunuzla birlikte destek ekibiyle iletişime geçin
Veya şu bilgileri içeren bir e-postayı [email protected] adresine gönderin:
  • Hesap e-postanız
  • Beklenen istek hacmi
  • Kullanım durumu açıklaması