कतार समापन बिंदु
आप निम्नलिखित समापन बिंदुओं के माध्यम से सभी कतार सुविधाओं तक पहुंच सकते हैं:| समापन बिंदु | विधि | विवरण |
|---|---|---|
| api.sunra.ai/v1/queue/{model-id} | पोस्ट | कतार में एक अनुरोध जोड़ता है |
| api.sunra.ai/v1/queue/requests/{request_id}/status | पाना | एक अनुरोध की स्थिति प्राप्त करता है |
| api.sunra.ai/v1/queue/requests/{request_id}/status/stream | पाना | पूरा होने तक स्थिति को स्ट्रीम करता है |
| api.sunra.ai/v1/queue/requests/{request_id} | पाना | एक अनुरोध की प्रतिक्रिया प्राप्त करता है |
| api.sunra.ai/v1/queue/requests/{request_id}/cancel | डालना | एक अनुरोध रद्द करता है |
request_id सहित एक नमूना प्रतिक्रिया है:
request_id शामिल है और स्थिति की जाँच, रद्द करने या प्रतिक्रिया प्राप्त करने के लिए URL प्रदान करता है, जिससे अतिरिक्त समापन बिंदु विकास के बिना आपके वर्कफ़्लो को सुव्यवस्थित किया जा सके।
अनुरोध की स्थिति
अपने अनुरोध की प्रगति की निगरानी के लिए, अपने अद्वितीय अनुरोध आईडी के साथ प्रदान किए गए समापन बिंदु का उपयोग करें। यह आपको स्थिति, कतार की स्थिति को ट्रैक करने या प्रतिक्रिया तैयार होने पर उसे प्राप्त करने की अनुमति देता है।समापन बिंदु उपयोग
उदाहरण प्रतिक्रिया
जब आपका अनुरोध कतार में होता है, तो आपको इस तरह की प्रतिक्रिया मिलेगी:संभावित स्थितियाँ
आपका अनुरोध तीन में से एक स्थिति में हो सकता है:-
IN_QUEUE: इंगित करता है कि अनुरोध संसाधित होने की प्रतीक्षा कर रहा है।
queue_position: कतार में आपका स्थान दिखाता है।response_url: प्रसंस्करण पूरा होने पर प्रतिक्रिया प्राप्त करने के लिए URL।
-
IN_PROGRESS: अनुरोध वर्तमान में संसाधित किया जा रहा है।
logs: प्रसंस्करण चरणों को दर्शाने वाले विस्तृत लॉग (यदि सक्षम हो)।response_url: जहां अंतिम प्रतिक्रिया उपलब्ध होगी।
-
COMPLETED: प्रसंस्करण समाप्त हो गया है।
logs: पूरी प्रक्रिया का विवरण देने वाले लॉग।response_url: आपकी पूरी की गई प्रतिक्रिया का सीधा लिंक।
लॉग सक्षम करना
लॉग अनुरोध प्रसंस्करण में अंतर्दृष्टि प्रदान करते हैं। वे डिफ़ॉल्ट रूप से अक्षम होते हैं लेकिन एक क्वेरी पैरामीटर के साथ सक्षम किए जा सकते हैं:message: घटना का विवरण।level: गंभीरता (जैसे, INFO, ERROR)।source: लॉग की उत्पत्ति।timestamp: लॉग उत्पन्न होने का समय।
रीयल-टाइम निगरानी
निरंतर अपडेट के लिए, स्ट्रीमिंग एंडपॉइंट का उपयोग करें:text/event-stream प्रारूप में रीयल-टाइम स्थिति अपडेट प्रदान करता है।
Webhooks
यदि आप पोलिंग के बजाय सूचित किया जाना पसंद करते हैं, तो अनुरोध सबमिट करते समय एकwebhook क्वेरी पैरामीटर पास करें। जैसे ही अनुरोध अंतिम स्थिति में पहुंचता है, Sunra उस URL पर अंतिम परिणाम POST करेगा, इसलिए आपको कोई कनेक्शन खुला रखने या पोलिंग शेड्यूल करने की आवश्यकता नहीं है।
Webhooks सक्षम करना
सबमिट एंडपॉइंट में URL-एन्कोडेडwebhook क्वेरी पैरामीटर जोड़ें:
https%3A%2F%2F...) करें और सुनिश्चित करें कि Sunra उस तक पहुँच सके; HTTPS की पुरज़ोर सिफारिश की जाती है। सबमिट प्रतिक्रिया अपरिवर्तित रहती है — आपको अभी भी request_id और वही status/cancel/response URL प्राप्त होते हैं।
Webhook कब फायर होता है
Sunra आपके webhook को केवल अंतिम घटनाओं पर कॉल करता है:succeeded— अनुरोध समाप्त हुआ और आउटपुट पेलोड में शामिल है।failed— अनुरोध त्रुटिग्रस्त हुआ और त्रुटि विवरण पेलोड में शामिल हैं।
IN_QUEUE, IN_PROGRESS) webhook को ट्रिगर नहीं करतीं। यदि आपको प्रगति अपडेट की भी आवश्यकता है, तो ऊपर वर्णित स्ट्रीमिंग या पोलिंग एंडपॉइंट के साथ webhook का उपयोग करें।
अनुरोध प्रारूप
Sunra आपके webhook URL परPOST अनुरोध भेजता है, जिसमें ये हेडर होते हैं:
| Header | Value |
|---|---|
Content-Type | application/json |
User-Agent | Sunra-AI-Webhook/1.0 |
2xx स्टेटस कोड के साथ प्रतिक्रिया देनी चाहिए। तेज़ी से स्वीकार करें और किसी भी भारी कार्य को बैकग्राउंड जॉब में स्थानांतरित करें — धीमी प्रतिक्रियाओं को विफलता माना जाता है और पुनः प्रयास ट्रिगर करते हैं।
पेलोड
सफल इवेंट:output को error से बदल देता है। error की सटीक सामग्री विफलता के प्रकार के अनुसार बदलती है — नीचे दिया गया उदाहरण एक सामान्य रूप दर्शाता है:
| फ़ील्ड | विवरण |
|---|---|
id | सबमिट के समय लौटाया गया request_id। इसका उपयोग पुनः प्रयासों को डीडुप्लिकेट करने के लिए करें। |
object | हमेशा "prediction"। |
model | मॉडल का स्वामी और नाम (जैसे black-forest-labs/flux-1.1-pro)। |
model_endpoint | एंडपॉइंट स्लग (जैसे text-to-image)। |
status | "succeeded" या "failed"। |
input | आपके द्वारा सबमिट किया गया मूल अनुरोध बॉडी। |
output | succeeded पर मौजूद। परिणाम एंडपॉइंट द्वारा लौटाया गया वही प्रतिक्रिया बॉडी। |
error | failed पर मौजूद। विफलता का वर्णन करने वाला एक ऑब्जेक्ट; इसकी संरचना विफलता के प्रकार पर निर्भर करती है। |
created_at | अनुरोध बनाए जाने का ISO 8601 टाइमस्टैम्प। |
completed_at | अनुरोध के अंतिम स्थिति में पहुँचने का ISO 8601 टाइमस्टैम्प। |
पुनः प्रयास व्यवहार
Webhook डिलीवरी कम-से-कम-एक-बार होती है। यदि आपका एंडपॉइंट टाइमआउट (5 सेकंड) करता है या गैर-2xx स्टेटस लौटाता है, तो Sunra एक्सपोनेंशियल बैकऑफ़ के साथ पुनः प्रयास करता है — 3 पुनः प्रयासों तक 10 सेकंड से शुरू और 30 सेकंड पर सीमित विलंब के साथ। अंतिम पुनः प्रयास के बाद, विफलता को लॉग किया जाता है और कोई और प्रयास नहीं किए जाते।
चूँकि पुनः प्रयास एक ही इवेंट को एक से अधिक बार वितरित कर सकते हैं, आपका हैंडलर idempotent होना चाहिए — डीडुप कुंजी के रूप में id फ़ील्ड का उपयोग करें।
सर्वोत्तम अभ्यास
- HTTPS का उपयोग करें और सत्यापित करें कि ट्रैफ़िक उस एंडपॉइंट तक पहुंच रहा है जिसकी आप अपेक्षा करते हैं।
- तुरंत
2xxके साथ प्रतिक्रिया दें और पेलोड को असिंक्रोनस रूप से प्रोसेस करें। - डिलीवरी को कम-से-कम-एक-बार के रूप में मानें और
idके अनुसार डीडुप करें। - यदि आपको अंतिम घटना से पहले प्रगति अपडेट की आवश्यकता है, तो webhook को पोलिंग या स्ट्रीमिंग एंडपॉइंट के साथ संयोजित करें।
अनुरोध रद्द करना
यदि आपका अनुरोध अभी भी कतार में है, तो आप इसे रद्द कर सकते हैं:प्रतिक्रियाएं प्राप्त करना
एक बार जब आपका अनुरोधCOMPLETED हो जाए, तो प्रतिक्रिया प्राप्त करें:
Sunra क्लाइंट के साथ सरलीकृत एकीकरण
Sunra क्लाइंट स्थिति ट्रैकिंग को स्वचालित करता है, जिससे Sunra कार्यों के साथ ऐप विकास सरल हो जाता है।दर सीमाएं
उचित उपयोग और सिस्टम स्थिरता सुनिश्चित करने के लिए, हमारे API समापन बिंदु निम्नलिखित दर सीमाओं के अधीन हैं:| समापन बिंदु प्रकार | दर सीमा | बर्स्ट सीमा |
|---|---|---|
| कतार में सबमिट करें | 10 अनुरोध/सेकंड | 100 अनुरोध/मिनट |
| अन्य सभी समापन बिंदु | 100 अनुरोध/सेकंड | 1,800 अनुरोध/मिनट |
403 निषिद्ध प्रतिक्रिया प्राप्त होगी। हम इन मामलों को संभालने के लिए घातीय बैकऑफ़ के साथ एक पुनर्प्रयास तंत्र को लागू करने की सलाह देते हैं।