सामान्य प्रश्न
समस्या निवारण
प्रमाणीकरण, मॉडल, स्ट्रीमिंग, टास्क और रेट-लिमिट की समस्याएं लक्षण के आधार पर हल करें।
पहले लक्षण से शुरू करें, फिर समाधान का पालन करें। अधिकतर विफलताएं base URL, key, मॉडल ID या बैलेंस से आती हैं।
लक्षण-आधारित तालिका
| लक्षण | संभावित कारण | समाधान |
|---|---|---|
401 UNAUTHORIZED | Key गुम, गलत, रद्द या नहीं भेजी गई | Authorization: Bearer $FELO_API_KEY भेजें; रद्द होने पर नई key बनाएं |
402 INSUFFICIENT_CREDITS | बैलेंस कॉल को कवर नहीं करता | Console Billing में टॉप अप करें |
| हर अनुरोध पर 404 | Base URL में वह पथ है जो endpoint पहले से जोड़ता है | OpenAI क्लाइंट के लिए https://openapi.felo.ai/api/v1 और Anthropic क्लाइंट के लिए https://openapi.felo.ai/api उपयोग करें |
| एक मॉडल पर 404 | मॉडल ID सार्वजनिक नहीं है, या endpoint उसे सेवा नहीं देता | मॉडल पेज और endpoint के दस्तावेज़ पर मॉडल ID जांचें |
400 model या max_tokens त्रुटि | आवश्यक फ़ील्ड गुम है, या मॉडल अनुरोध स्वरूप स्वीकार नहीं करता | Messages के लिए max_tokens जोड़ें; असमर्थित फ़ील्ड हटाएं |
| 429 | दर सीमा, या upstream प्रदाता की सीमा | Retry-After पढ़ें; Errors, Limits, and Retries देखें |
| 5xx | upstream या सेवा विफलता | backoff के साथ दोबारा प्रयास करें; बने रहने पर request_id शामिल करें |
| स्ट्रीम जुड़ती है लेकिन कुछ नहीं भेजती | कोई proxy प्रतिक्रिया buffer कर रहा है, या event parser गलत फ़ॉर्मेट की अपेक्षा करता है | स्ट्रीम को क्रमशः पढ़ें; अपने proxy में response buffering बंद करें |
| कार्य कभी पूरा नहीं होता | गलत poll endpoint, या टर्मिनल स्थिति संभाली नहीं गई | कार्य के अपने स्थिति endpoint को पोल करें और टर्मिनल मानों पर रुकें |
| Tool calls अनदेखे जाते हैं | मॉडल उस क्षमता का दावा नहीं करता | कैटलॉग में supported_parameters जांचें |
| Data API 404 लौटाता है | /v1/beta prefix दो बार जोड़ा गया | संदर्भ में लिखा पथ ठीक वैसा ही उपयोग करें |
प्रमाणीकरण
रद्द की गई key ऐसा message लौटाती है जिसमें key prefix का नाम होता है:
{
"status": 401,
"code": "UNAUTHORIZED",
"message": "API Key has been revoked (keyPrefix=...)"
}चेकलिस्ट:
- Model API और Felo APIs के लिए हेडर
Authorization: Bearer <key>है। - Data API
X-API-Key: <key>भी स्वीकार करता है। - key उद्धरण चिह्नों में नहीं है, और कॉपी किए गए environment variable से कोई अनुगामी newline नहीं है।
- तैनात वातावरण में वेरिएबल वास्तव में सेट है; जो key स्थानीय रूप से काम करती है वह production में गुम हो सकती है।
- key हटाई या बदली नहीं गई है। हटाई या बदली गई key दोबारा नहीं दिखाई जा सकती; नई बनाएं।
key बनाने और सीमाओं के लिए Authentication देखें।
Base URL के जाल
| क्लाइंट | सही base URL |
|---|---|
| OpenAI SDK | https://openapi.felo.ai/api/v1 |
| Anthropic SDK | https://openapi.felo.ai/api |
| कच्चा मॉडल endpoint | https://openapi.felo.ai/api/v1/chat/completions, /responses या /messages |
| Data API | https://openapi.felo.ai/v1/beta |
Felo /v2 APIs | https://openapi.felo.ai/v2 |
दो सामान्य गलतियां:
- ऐसे base URL में
/chat/completionsजोड़ना जिसे SDK पहले से बढ़ाता है। - Anthropic base URL को
https://openapi.felo.ai/api/v1सेट करना। SDK/v1/messagesजोड़ता है, इसलिए अनुरोध/api/v1/v1/messagesबन जाता है।
मॉडल ID की समस्याएं
मॉडल ID कैटलॉग की सार्वजनिक ID हैं, upstream प्रदाता के आंतरिक नाम या डिस्प्ले नाम नहीं।
- ID को मॉडल पेज पर या
GET /api/v1/modelsमें खोजें। - पुष्टि करें कि मॉडल उस प्रोटोकॉल का समर्थन करता है जिसे आप कॉल कर रहे हैं (
supported_protocols)। - अगर आपने चैनल पिन किया है, तो पुष्टि करें कि वह चैनल उस मॉडल के लिए प्रकाशित और runnable है। अनुपलब्ध चैनल fallback नहीं है।
Channels and Provider Routing देखें।
स्ट्रीमिंग की समस्याएं
stream: trueको query पैरामीटर के रूप में नहीं, request body में सेट करें।- प्रतिक्रिया body को स्ट्रीम के रूप में पढ़ें। पूरी प्रतिक्रिया की प्रतीक्षा करना स्ट्रीमिंग को व्यर्थ कर देता है।
- कुछ proxy और serverless प्लेटफ़ॉर्म प्रतिक्रियाएं buffer करते हैं। जिस रूट से अनुरोध proxy होता है उसके लिए buffering बंद करें।
- Chat Completions
choices[0].deltaस्ट्रीम करता है,choices[0].messageनहीं। अंतिम सामग्री कई chunks में आती है। - कनेक्शन टूटने पर स्ट्रीम बिना साफ़ टर्मिनल इवेंट के समाप्त हो सकती है। टूटे कनेक्शन को अपूर्ण प्रतिक्रिया मानें।
असिंक्रोनस कार्य की समस्याएं
- उसी कार्य परिवार का स्थिति endpoint पोल करें। Felo वर्कफ़्लो
GET /v2/tasks/{task_id}/statusउपयोग करते हैं; मॉडल वीडियो और इमेज कार्य अपने जनरेशन endpoint उपयोग करते हैं। - हर टर्मिनल स्थिति पर रुकें, जिसमें विफलताएं और समाप्तियां भी शामिल हैं, केवल सफलता नहीं।
- वीडियो और इमेज callbacks वर्तमान में अनदेखे जाते हैं। webhook की प्रतीक्षा न करें।
- परिणाम URL अल्पकालिक हो सकता है। डाउनलोड समाप्त होने पर स्थिति endpoint से नया URL मांगें।
- दोबारा सबमिट करने से पहले कार्य जांचें। चल रहे कार्य को दोबारा सबमिट करने से डुप्लिकेट बनता है, और दोनों का बिल लगता है।
Async Tasks देखें।
Data API की समस्याएं
- Data API संदर्भ से सटीक method पथ रखें।
- Request bodies आपूर्तिकर्ता-विशिष्ट हैं। जो फ़ील्ड एक आपूर्तिकर्ता के लिए काम करता है वह दूसरे के लिए काम करने की गारंटी नहीं है।
- प्रदाता त्रुटि 4xx प्रतिक्रिया के अंदर प्रदाता-विशिष्ट message के साथ आ सकती है।
request_idऔर प्रतिक्रिया body लॉग करें।
सुरक्षा अनुस्मारक
- API key कभी ब्राउज़र कोड, मोबाइल ऐप बंडल या सार्वजनिक रेपो में न रखें। इसे सर्वर पर रखें और अनुरोध proxy करें।
- पूरी key लॉग न करें। पहचान के लिए ज़रूरत हो तो prefix लॉग करें।
- अगर key लीक हो सकती है तो तुरंत बदलें।
सहायता से संपर्क करने से पहले
ये एकत्र करें:
- Endpoint और HTTP method।
- HTTP स्टेटस,
codeऔरrequest_id। - मॉडल ID या task ID।
- समयक्षेत्र के साथ टाइमस्टैम्प।
- गोपनीय जानकारी हटाया गया न्यूनतम request body।
इसे खाते के ईमेल के साथ सहायता को भेजें। पूरी API key शामिल न करें।