त्रुटि प्रतिक्रिया का उदाहरण
वे फ़ील्ड जो हमेशा मिलेंगे
generation_id: स्थिर request ID जिसे आप support के साथ साझा कर सकते हैं।status_code: HTTP स्थिति कोड से मेल खाता है।error: मशीन-पठनीय त्रुटि कोड, जैसेvalidation_error।error_type: उच्च-स्तरीय वर्ग, आम तौर परuserयाsystem।error_origin: बताता है कि समस्या मुख्य रूप से अनुरोध भेजने वाले, Phaseo या अपस्ट्रीम प्रदाता की वजह से हुई।description: क्या हुआ इसका सरल विवरण।details(वैकल्पिक): अनुरोध सत्यापन में समस्या होने पर उससे जुड़ी संरचित जानकारी।
अन्य फ़ील्ड जो दिख सकते हैं
कुछ त्रुटियाँ समस्या जल्दी ठीक करने में मदद के लिए अतिरिक्त विवरण देती हैं:reason: अधिक विशिष्ट कारण, जैसेall_candidates_failedयाpricing_not_configured।provider_candidate_diagnosticsऔरprovider_enablement: बताते हैं कि माँगे गए एंडपॉइंट पर मॉडल का उपयोग क्यों नहीं हो सका।routing_diagnostics: बताता है कि रूटिंग या उपलब्धता-जाँच ने विकल्पों को कैसे सीमित किया।provider_failure_diagnostics: क्रेडेंशियल अनुपलब्ध होने, पहुँच न मिलने, क्षेत्रीय प्रतिबंधों, दर सीमाओं और प्रदाता की ओर से हुई अन्य विफलताओं के संकेत देता है।upstream_errorऔरfailure_sample: यदि अनुरोध किसी प्रदाता तक पहुँचा हो, तो पहली प्रदाता विफलता का उपलब्ध जानकारी पर आधारित सारांश।failed_providers,failed_statusesऔरattempt_count: दोबारा प्रयास और विफलता के बाद दूसरे प्रदाता पर जाने का अतिरिक्त संदर्भ।
स्थिति श्रेणी संबंधी मार्गदर्शन
आम त्रुटि कोड
प्रदाता विफल होने पर
यदि Phaseo किसी प्रदाता तक पहुँचा, लेकिन अनुरोध फिर भी विफल हुआ, तो आपको ये फ़ील्ड दिख सकते हैं:provider_failure_diagnostics.categoryprovider_failure_diagnostics.hintprovider_failure_diagnostics.provider
credentials_not_configuredcredentials_invalid_or_forbiddenprovider_access_missingregion_or_project_restrictionmodel_unavailable_for_endpointrate_limitedserver_error
मॉडल या एंडपॉइंट उपलब्ध न हो
unsupported_model_or_endpoint response में Phaseo ये दे सकता है:
provider_candidate_diagnosticsprovider_enablementmissing_pricing_providersrouting_diagnostics
- ज्ञात मॉडल जो अभी सक्रिय नहीं है
- ऐसा मॉडल जो माँगे गए एंडपॉइंट का समर्थन नहीं करता
- कीमत का डेटा मौजूद नहीं
- क्रमिक रिलीज़ या आंतरिक उपलब्धता की पाबंदी
provider_candidate_diagnostics.totalProviders: एंडपॉइंट फ़िल्टरिंग से पहले मॉडल के लिए ज्ञात प्रदाताओं की संख्या।provider_candidate_diagnostics.supportsEndpointCount: माँगे गए एंडपॉइंट का समर्थन करने वाले प्रदाताओं की संख्या।provider_candidate_diagnostics.candidateCount: अडैप्टर-जाँच के बाद बचे प्रदाताओं की संख्या।provider_candidate_diagnostics.droppedUnsupportedEndpoint: एंडपॉइंट का समर्थन न होने के कारण हटाए गए प्रदाता।provider_candidate_diagnostics.droppedMissingAdapter: उस एंडपॉइंट के लिए Gateway अडैप्टर उपलब्ध न होने के कारण हटाए गए प्रदाता/एंडपॉइंट जोड़े।provider_enablement.capability: लागू की जा रही क्षमता-पाबंदी, जैसेvideo_generation।provider_enablement.providersBefore/provider_enablement.providersAfter: क्षमता या सुविधा सक्रिय करने के आधार पर फ़िल्टर करने से पहले और बाद के प्रदाता।provider_enablement.dropped[].reason: मशीन-पठनीय कारण, जैसेpricing_missing।routing_diagnostics.filterStages[].stage: रूटिंग चरण, जैसे क्षमता, क्रमिक रिलीज़ या रूटिंग-स्थिति के आधार पर फ़िल्टर करना।routing_diagnostics.filterStages[].beforeCount/routing_diagnostics.filterStages[].afterCount: हर चरण से पहले और बाद में प्रदाताओं की संख्या।routing_diagnostics.filterStages[].droppedProviders[].reason: मशीन-पठनीय कारण, जैसे क्रमिक रिलीज़ या रूटिंग प्रतिबंध।
उदाहरण
वैकल्पिक डीबग मोड
समस्या की जाँच को नियंत्रित रखने के लिए अधिकांश अनुरोध स्कीमाdebug ऑब्जेक्ट का समर्थन करते हैं:
enabledreturn_upstream_requestreturn_upstream_responsetracetrace_level(summaryयाfull)
पुनः प्रयास की रणनीति
- 429 को छोड़कर 400-श्रेणी की त्रुटियाँ: पुनः प्रयास से पहले अनुरोध, क्रेडेंशियल या पहुँच नीति ठीक करें।
- 429: Exponential backoff लागू करें और
Retry-Afterheader का पालन करें। - 500-श्रेणी की त्रुटियाँ: सीमित पुनः प्रयास केवल तभी करें जब ऑपरेशन दोहराना सुरक्षित हो। अनिश्चित परिणाम वाले सबमिशन से जॉब बन चुका हो सकता है या शुल्क लग चुका हो सकता है; स्वीकार किए गए जॉब को दोबारा भेजने के बजाय उसकी जानकारी प्राप्त करें।
स्ट्रीमिंग के लिए खास बातें
- Streaming शुरू होने से पहले request विफल हो, तो standard JSON error payload मिलता है।
- Stream के बीच में विफलता हो, तो partial stream को अधूरा मानें और retry का विकल्प दें।
- हमेशा
generation_idऔर endpoint/model metadata रिकॉर्ड करें।
समस्या हल करने के सुझाव
- चल रही घटनाओं के लिए Gateway status page देखें।
- Request payload को endpoint docs से मिलाकर देखें।
- Support से संपर्क करते समय
generation_idसाझा करें।
संबंधित संसाधन
प्रमाणीकरण
Bearer API keys से authenticate करें।
सीमाएँ
Provider की throttling और retries संभालें।
स्ट्रीमिंग
Production flows में SSE को सुरक्षित रूप से उपयोग करें।