GET /v1/limits एक ही कॉल में पूरी जानकारी देता है।
आपके अपने key की कोई धन सीमा नहीं होती
हम कोई रिक्वेस्ट अलाउंस और कोई मासिक कैप निर्धारित नहीं करते हैं। आपके पास खर्च करने के लिए कोई बैलेंस नहीं होता। मूल्य निर्धारण और बिलिंग देखें। एक सीमा लागू होती है। आपकी संस्था एक समय में निश्चित संख्या में flex race चलाती है। उस संख्या से अधिक होने पर हम रिक्वेस्ट को स्टैंडर्ड टियर पर चलाते हैं। आप छूट खो देते हैं, उत्तर नहीं। रिपोर्ट उस संख्या कोown_keys.flex_race_slots कहती है।
Managed Keys की क्या सीमाएँ हो सकती हैं
एक जोखिम समीक्षा उन चारों के अतिरिक्त मैनेज्ड रिक्वेस्ट को रोक सकती है। यह
account_under_review लौटाता है। आपके अपने key route काम करते रहते हैं।
चार और सीमाएँ हर संस्था को कवर करती हैं। तीन एक संस्था से, एक key से, और एक IP address से प्रति मिनट रिक्वेस्ट गिनते हैं। चौथा एक IP address से विफल प्रमाणीकरण प्रयासों को गिनता है। हम 50,000,000 बाइट्स से अधिक के body को request_too_large के रूप में भी अस्वीकार करते हैं।
रिपोर्ट प्रत्येक प्रति-मिनट सीमा को उसकी विंडो और उसके scope के साथ नाम देती है। यह संख्या को छोड़ देती है, क्योंकि Cloudflare प्रत्येक को हर उस स्थान पर गिनता है जहाँ वह चलता है और एक संख्या ऐसा बजट नहीं होगी जिसके खिलाफ आप योजना बना सकें। इसके बजाय Retry-After में सेकंड के लिए पीछे हटें।
दो रिस्पॉन्स हेडर आपके खर्च की रिपोर्ट करते हैं
एक own-keys रिस्पॉन्स उन्हें तब ले जाता है जब उसके route हल हो जाते हैं, और एक मैनेज्ड रिस्पॉन्स उन्हें बैलेंस होल्ड से ले जाता है। तीन रिस्पॉन्स में कोई हेडर नहीं होता: एक जिसे हमने पहले ही अस्वीकार कर दिया था, मॉडल कैटलॉग, और एक मैनेज्ड रिक्वेस्ट जिसका बैलेंस हम पढ़ नहीं पाए। हम अनुमान लगाने के बजाय हेडर को छोड़ देते हैं।
हमने इस रिक्वेस्ट को स्वीकार करते समय दोनों को पढ़ा। यह संख्या बताती है कि इस रिक्वेस्ट के अपने खर्च को तय करने से पहले आपके पास क्या बचा था।
एक नकारात्मक संख्या का मतलब है कि हम हर मैनेज्ड रिक्वेस्ट को अस्वीकार कर देते हैं। पैसे जोड़ने से नकारात्मक बैलेंस ठीक हो जाता है। एक नकारात्मक दैनिक शेष अगले UTC मध्यरात्रि को या बढ़ी हुई सीमा के साथ ठीक हो जाता है, कभी भी टॉप-अप से नहीं।
आप पहले से भेजे गए ट्रैफिक पर इन हेडर को पढ़ें। हर रिक्वेस्ट से पहले endpoint को पोल करने से एक राउंड ट्रिप का खर्च आता है और यह आपको हेडर से ज्यादा कुछ नहीं बताता।
limits endpoint
GET /v1/limits आपकी FlexInference key लेता है। यह उन सीमाओं की रिपोर्ट करता है जिनके तहत आपकी संस्था चलती है। यह उन रिकॉर्ड्स को पढ़ता है जो आपकी रिक्वेस्ट को स्वीकार करते हैं, इसलिए यह कभी भी ऐसी जगह का दावा नहीं करता जिसे हम अस्वीकार कर देंगे। हम उत्तर को कभी भी कैश नहीं करते हैं।
अंतिम तीन फील्ड बताते हैं कि आपकी concurrency संख्या और आपकी दैनिक सीमा वैसी क्यों दिखती है। एक exempt संस्था के पास समझाने के लिए कोई सीमा नहीं होती, इसलिए तीनों
null पढ़ते हैं।
एक रुका हुआ बैलेंस संख्या के बजाय विराम की रिपोर्ट करता है। तब कोई भी सकारात्मक आंकड़ा भेजने की अनुमति के रूप में नहीं पढ़ा जा सकता।
ये संख्याएँ as_of पर मान्य हैं और आपकी अगली रिक्वेस्ट के बारे में कुछ भी वादा नहीं करती हैं। एक और रिक्वेस्ट उन्हें बदल देती है, और ऐसा ही एक सेटलमेंट, एक टॉप-अप, या एक रिफंड भी करता है।
एक गुम या गलत key invalid_api_key के साथ 401 लौटाती है। जब हम इनमें से किसी एक रिकॉर्ड को पढ़ नहीं पाते हैं, तो endpoint limits_unavailable के साथ 503 लौटाता है। यह आपको एक कैश की गई संख्या देने के बजाय अस्वीकार कर देता है, जो ऐसी जगह का दावा कर सकती है जो आपकी अगली रिक्वेस्ट को नहीं मिलेगी। रिक्वेस्ट किसी भी तरह से काम करती रहती हैं।
स्ट्रीम के अंदर लागत
एक रिस्पॉन्स जिसे आपने स्ट्रीम नहीं किया, उसकी लागत दो बार रिपोर्ट करता है,x-flexinference-cost हेडर में और usage.cost ब्लॉक में। एक स्ट्रीम किया गया रिस्पॉन्स हेडर का उपयोग नहीं कर सकता, क्योंकि हम उत्तर मौजूद होने से पहले हेडर भेजते हैं और तब हमें लागत का पता नहीं होता।
लागत को स्ट्रीम के अंदर ले जाने के लिए include_cost: true भेजें।
usage.routing ब्लॉक इसके बगल में बैठता है और उस route का नाम बताता है जिसने रिक्वेस्ट चलाई।
/v1/chat/completions OpenAI पर usage frame को स्वयं opt-in बनाता है। "stream_options": {"include_usage": true} भी भेजें। इसके बिना लागत के लिए कोई frame नहीं होता।
एक मैनेज्ड रिक्वेस्ट रिपोर्ट करती है कि provider ने हमसे क्या चार्ज किया। एक own-keys रिक्वेस्ट उस tier पर provider की सूची मूल्य रिपोर्ट करती है जिसने इसे चलाया। एक रिक्वेस्ट जिसकी हम कीमत नहीं लगा सकते, वह कोई cost रिपोर्ट नहीं करती। एक गुम ब्लॉक को रिपोर्ट करने के लिए कुछ भी नहीं, शून्य के रूप में नहीं पढ़ें।
दो routing हेडर किसी भी तरह हर रिस्पॉन्स पर आते हैं। वे x-flexinference-served-provider और x-flexinference-routing-reason हैं। एक स्ट्रीमिंग कॉलर जो include_cost को छोड़ देता है, वह अभी भी देखता है कि किस route ने रिक्वेस्ट चलाई और क्यों। परिणाम पढ़ना देखें।
include_cost कभी भी provider तक नहीं पहुँचता। हम रिक्वेस्ट को फॉरवर्ड करने से पहले इसे body से हटा देते हैं।