प्लैटफ़ॉर्म
गड़बड़ियाँ
गड़बड़ियाँ आपके कॉल किए गए एंडपॉइंट के फ़ॉर्मैट में JSON के रूप में लौटाई जाती हैं। इनमें लोगों के समझने लायक मैसेज होता है और OpenAI-शैली के एंडपॉइंट पर प्रोग्राम के लिए एक स्थिर कोड भी होता है।
फ़ॉर्मैट
{ "error": { "message": "This API key can't use `gpt-6-astra`. It's limited to gpt-6-sol. Change that at https://zurelay.com/app/keys.", "type": "permission_error", "param": "model", "code": "model_not_allowed" }}/v1/messages पर यही गड़बड़ियाँ Anthropic के फ़ॉर्मैट में आती हैं, जिसमें कोड नहीं होता: HTTP स्टेटस और error.type इस्तेमाल करें: { "type": "error", "error": { "type": "...", "message": "..." } }। हर चैट, इमेज और वीडियो के जवाब में, गड़बड़ी हो या न हो, x-request-id हेडर होता है।
कोड
दोबारा कोशिश करना
429और503पर फिर कोशिश करें,retry-afterहेडर में दिए गए सेकंड तक इंतज़ार करके (या हर कोशिश के बीच इंतज़ार का समय कई गुना बढ़ाकर), जब तक जवाब मेंx-should-retry: falseन लिखा हो।- अन्य
4xxगड़बड़ियों पर बिना बदलाव किए फिर कोशिश न करें: वे उसी तरह विफल होंगी। - विफल अनुरोधों पर कोई शुल्क नहीं लगता, इसलिए जब तक कोई अनुरोध सफल न हो, दोबारा कोशिश करने का कोई खर्च नहीं है। बीच में बंद हुई स्ट्रीम में जितना आप तक पहुँचा, उसका शुल्क लगता है। दुर्लभ स्थिति में
x-should-retry: falseवाले503के इनपुट का भी शुल्क लगता है (बिलिंग देखें)। - OpenAI और Anthropic के आधिकारिक SDK सही गड़बड़ियों पर आपकी ओर से पहले ही दोबारा कोशिश करते हैं।
स्ट्रीम के बीच में गड़बड़ियाँ
आपके अनुरोध से जुड़ी जिन गड़बड़ियों की जानकारी मॉडल देता है (ऐसा पैरामीटर जो वह स्वीकार नहीं करता, या उसके लिए बहुत लंबा प्रॉम्प्ट), वे मॉडल के अपने मैसेज और कोड के साथ 400 या 422 के तौर पर आती हैं।
स्ट्रीम के बीच में गड़बड़ियाँ
स्ट्रीम शुरू होने के बाद किसी विफलता को HTTP स्टेटस के तौर पर नहीं भेजा जा सकता। इसके बजाय आपको आखिरी इवेंट के रूप में गड़बड़ी की जानकारी मिलती है (एंडपॉइंट के फ़ॉर्मैट में) और स्ट्रीम खत्म हो जाती है। आपसे इनपुट और उससे पहले आप तक पहुँचे आउटपुट का शुल्क लिया जाता है, उसके बाद का नहीं। ऐसा बहुत कम होता है: ज़्यादातर समस्याएँ पहले टोकन से पहले ही पकड़ ली जाती हैं और दोबारा कोशिश कर ली जाती है।
बीच में बैलेंस या की का बजट खत्म होने पर भी इसी तरह का इवेंट insufficient_quota, key_budget_exceeded या key_daily_budget_exceeded के साथ स्ट्रीम खत्म करता है। बीच में बैलेंस या बजट खत्म होने पर नॉन-स्ट्रीमिंग अनुरोध जितना लिखा जा चुका है, उतना लौटा देता है। यह max_tokens तक पहुँचे जवाब की तरह अधूरा होता है (finish_reason: "length", या /v1/messages पर stop_reason: "max_tokens"), और x-zurelay-stopped हेडर में कोड दिया होता है।
कोई सवाल है, या कुछ छूट गया है? हमारी सहायता टीम से पूछें और हम ईमेल से जवाब देंगे, आम तौर पर एक मिनट के भीतर.