هر API برای محافظت از زیرساخت و منصفانه نگه داشتن دسترسی، تعداد درخواست در دقیقه (RPM) و گاهی توکن در دقیقه را محدود میکند. وقتی از سقف بگذرید، پاسخ با کد 429 (Too Many Requests) برمیگردد.
راه درست مواجهه، تلاش مجدد با تأخیر فزاینده (exponential backoff) و کمی تصادفی بودن (jitter) است. درخواستهای همزمان را با یک صف یا semaphore کنترل کنید و کارهای غیرفوری را پخش کنید.
محدودیت نرخ با محدودیت مصرف مالی فرق دارد: اولی تعداد در زمان را میسنجد و دومی مجموع هزینه را. هر دو را میتوان برای هر کلید جدا تنظیم کرد.
import time, random
for attempt in range(5):
try:
return call_api()
except RateLimitError:
time.sleep((2 ** attempt) + random.random())مثال کاربردی
اسکریپتی ۱۰ هزار نظر مشتری را دستهبندی میکند. اگر همه را همزمان بفرستید، سریع به 429 میخورید. با یک صف با همزمانی ۵ و تلاش مجدد با backoff، کار کمی کندتر ولی بدون خطا تمام میشود.
چطور در عمل بررسی کنیم؟
بهترین راه یادگرفتن این مفهوم، دیدن آن در یک درخواست واقعی است. یک کلید بسازید، فهرست مدلها را با /v1/models بگیرید، یک درخواست کوچک بفرستید و فیلدهای پاسخ (از جمله usage و finish_reason) را بخوانید. سپس همان درخواست را با پارامتر یا مدل دیگر تکرار و در داشبورد مصرف و هزینه را مقایسه کنید. نمونههای آماده در راهنمای cURL و راهنمای پایتون هست.
اصطلاحات نزدیک
- کلید API: کلید API رشتهی محرمانهای است که هویت شما را در برابر یک API ثابت میکند و مصرف را به حساب شما نسبت میدهد.
- جایگزینی خودکار مسیر: Failover یعنی وقتی مسیر یا ارائهدهندهی اصلی خطا میدهد یا کند است، درخواست بهطور خودکار به مسیر پشتیبان فرستاده شود.
- تأخیر: Latency زمان بین ارسال درخواست و دریافت پاسخ است؛ در مدلهای زبانی معمولاً با «زمان تا اولین توکن» و «سرعت تولید» سنجیده میشود.
- استریم: استریم یعنی مدل پاسخ را تکهتکه و همزمان با تولید ارسال کند و نیاز نباشد تا پایان تولید منتظر بمانید.
در پیکو هوش
هر کلید پیکو هوش محدودیت درخواست در دقیقه و سقف ماهانهی جداگانه دارد که در داشبورد دیده میشود. در صورت عبور از سقف، خطای 429 با پیام فارسی دریافت میکنید.
اشتباهات رایج
- تلاش مجدد فوری و پیدرپی که وضع را بدتر میکند.
- اعمال نکردن محدودیت در سمت خودتان و مصرف کل سقف توسط یک کاربر.
پرسشهای متداول
آیا درخواست 429 هزینه دارد؟
درخواست ناموفق بدون کسر هزینه است.
چطور سقف را بالاتر ببرم؟
سقف کلید را در داشبورد ببینید و در صورت نیاز از صفحهی تماس درخواست دهید.
محدودیت نرخ در پیکو هوش چه نقشی دارد؟
هر کلید پیکو هوش محدودیت درخواست در دقیقه و سقف ماهانهی جداگانه دارد که در داشبورد دیده میشود. در صورت عبور از سقف، خطای 429 با پیام فارسی دریافت میکنید.
از تعریف تا عمل
ثبتنام کنید، یک کلید بسازید و مفهوم را روی مدل واقعی امتحان کنید.