نسخه بتا · دانا به‌زودی عرضه می‌شود
مستندات

محدودیت‌ها

محدودیت‌های نرخ درخواست و نحوه مدیریت خطای 429 در API دانا

API دانا برای هر کلید محدودیت نرخ درخواست دارد تا پایداری سرویس برای همه کاربران تضمین شود.

محدودیت پیش‌فرض

بازهحداکثر درخواست
در دقیقه۶۰ درخواست

این مقدار برای کلیدهای live اعمال می‌شود. کلیدهای test محدودیت‌های کمتری دارند.

خطای 429

وقتی از حد مجاز بیشتر شوید، API با کد 429 پاسخ می‌دهد:

{
  "error": {
    "message": "Rate limit exceeded.",
    "type": "rate_limit_error",
    "param": null,
    "code": "rate_limit_exceeded"
  }
}

مدیریت خطا

با exponential backoff تلاش مجدد کنید:

import time
import httpx

def call_with_retry(payload, max_retries=3):
    for attempt in range(max_retries):
        response = httpx.post(
            "https://api.dana.expert/v1/chat/completions",
            headers={"Authorization": f"Bearer {DANA_API_KEY}"},
            json=payload,
        )
        if response.status_code == 429:
            wait = 2 ** attempt  # 1s, 2s, 4s
            time.sleep(wait)
            continue
        response.raise_for_status()
        return response.json()
    raise Exception("Rate limit exceeded after retries")

تنظیم محدودیت

از کنسول دانا می‌توانید برای هر کلید حد سقف جداگانه تعریف کنید.

نکته‌ها

  • درخواست‌های ناموفق (4xx/5xx) هم در شمارش محدودیت محاسبه می‌شوند.
  • streaming و non-streaming هر کدام یک درخواست حساب می‌شوند.
  • برای حجم بالا با پشتیبانی دانا تماس بگیرید.