रेट लिमिट
डेवलपर API प्रति organization, प्रति मिनट रेट-लिमिटेड है, बजट आपके प्लान द्वारा निर्धारित। हर key-प्रमाणित प्रतिक्रिया आपको ठीक-ठीक बताती है कि आप कहाँ खड़े हैं, ताकि आप सीमा तक पहुँचने से पहले ही अपने ट्रैफ़िक को नियंत्रित कर सकें।
रेट-लिमिट हेडर
हर key-प्रमाणित प्रतिक्रिया तीन हेडर ले जाती है:
| हेडर | अर्थ |
|---|---|
RateLimit-Limit | वर्तमान विंडो के लिए आपके organization का अनुरोध कोटा। |
RateLimit-Remaining | वर्तमान विंडो में शेष अनुरोध। |
RateLimit-Reset | वर्तमान विंडो रीसेट होने तक सेकंड। |
विंडो एक 60-सेकंड की स्लाइडिंग विंडो है — प्रति-प्लान बजट प्रति मिनट व्यक्त होता है। RateLimit-Remaining पढ़ें और जैसे-जैसे यह शून्य के करीब आए, गति धीमी करें।
HTTP/1.1 200 OK
RateLimit-Limit: 120
RateLimit-Remaining: 117
RateLimit-Reset: 41
Content-Type: application/jsonजब आप सीमा पार करते हैं
एक बजट-अधिक अनुरोध मानक त्रुटि एनवेलप और एक Retry-After हेडर के साथ 429 लौटाता है, जो आपको बताता है कि कितने सेकंड प्रतीक्षा करनी है:
HTTP/1.1 429 Too Many Requests
Retry-After: 41
RateLimit-Limit: 120
RateLimit-Remaining: 0
RateLimit-Reset: 41
Content-Type: application/json{
"error": {
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "You have exceeded your plan's request allowance."
}
}429 को संभालना
Retry-Afterका सम्मान करें — पुनः प्रयास करने से पहले इंगित सेकंड की संख्या प्रतीक्षा करें।- यदि आप
429प्राप्त करते रहते हैं तो एक्सपोनेंशियल रूप से बैक ऑफ़ करें। - बर्स्ट को अस्वीकृत होने से पहले थ्रॉटल करने के लिए
RateLimit-Remainingका सक्रिय रूप से उपयोग करें।
फ़ेल-ओपन
रेट लिमिटर को फ़ेल ओपन करने के लिए डिज़ाइन किया गया है: यदि लिमिटर स्वयं अनुपलब्ध है, तो अनुरोध अवरुद्ध होने के बजाय पास हो जाते हैं। आपको लिमिटर डाउनटाइम के कारण कभी झूठे 429 नहीं दिखने चाहिए — लेकिन आपको अपने स्वयं के क्लाइंट में शुद्धता लागू करने के लिए लिमिटर पर निर्भर भी नहीं रहना चाहिए। RateLimit-* हेडर का उपयोग करके अपने ट्रैफ़िक को नियंत्रित करें।
क्वेरी भत्ता
एक agent चलाना (POST /agents/{id}/query) अतिरिक्त रूप से सर्वर-साइड पर आपके प्लान के क्वेरी भत्ते के विरुद्ध मापा जाता है। इसे पार करने पर ब्लॉकिंग पाथ पर 429, या स्ट्रीमिंग पाथ पर एक एकल error इवेंट लौटाता है। विवरण के लिए Agent क्वेरी पृष्ठ देखें।