Developer guide
API कुंजी से प्रमाणित करना
API कुंजी डालने वाला हेडर और SDK में सेट किया जाने वाला base URL
CLEVI गेटवे OpenAI संगत पथ और Anthropic संगत पथ को एक API कुंजी से प्रमाणित करता है।
क्लाइंट में सेट किए जाने वाले दो मान हैं: कुंजी रखने वाला प्रमाणीकरण हेडर और SDK का base URL। अनुमत हेडर प्रारूप और base URL प्रत्येक विनिर्देश के अनुसार अलग-अलग होते हैं।
सेटअप पूरा करने के बाद मॉडल सूची प्राप्त करके तुरंत जांच सकते हैं कि प्रमाणीकरण हुआ है या नहीं।
प्रमाणीकरण विफल होने पर 401 लौटाया जाता है, और प्रमाणीकरण सफल होने के बाद अनुमति या सीमा संबंधी शर्तें पूरी न होने पर 403 लौटाया जाता है।
API कुंजी कंसोल के API कुंजी पृष्ठ से जारी करें। इसी पृष्ठ पर आप कुंजी को रद्द करने और उसके उपयोग का दायरा प्रबंधित कर सकते हैं।
प्रमाणीकरण हेडर
दोनों विनिर्देशों में अनुरोध हेडर में API कुंजी रखी जाती है। X-API-Key हेडर या Authorization हेडर में से किसी एक का उपयोग करें; अनुमत प्रारूप विनिर्देश के अनुसार अलग-अलग होते हैं।
| हेडर | OpenAI संगत | Anthropic संगत |
|---|---|---|
| X-API-Key: <키> | उपलब्ध | उपलब्ध |
| Authorization: Bearer <키> | उपलब्ध | उपलब्ध |
| Authorization: <키> (Bearer के बिना) | अस्वीकृत | उपलब्ध |
OpenAI संगत पथ में Authorization हेडर का उपयोग करते समय Bearer उपसर्ग आवश्यक है। उपसर्ग के बिना केवल कुंजी भेजने पर गेटवे अनुरोध अस्वीकार कर देता है।
हेडर नामों में बड़े और छोटे अक्षरों का अंतर नहीं किया जाता, इसलिए Anthropic SDK द्वारा भेजा गया x-api-key हेडर भी वैसे ही काम करता है। यदि दोनों हेडर निर्दिष्ट किए जाते हैं, तो X-API-Key मान को प्राथमिकता दी जाती है।
base URL
पहले से उपयोग किए जा रहे SDK को base URL को केवल नीचे दिए गए पते पर बदलकर वैसे ही उपयोग किया जा सकता है। दोनों पतों में यह अलग है कि /v1 शामिल है या नहीं, इसलिए विनिर्देश के अनुसार सही पता 그대로 निर्दिष्ट करें।
| विनिर्देश | base URL | पथ नियम |
|---|---|---|
| OpenAI संगत | https://platform.clevi.net/api/v2/aiservice/openai/v1 | /v1 तक base URL में शामिल करें। |
| Anthropic संगत | https://platform.clevi.net/api/v2/aiservice/anthropic | Anthropic SDK अनुरोध पथ में /v1 सीधे जोड़ता है, इसलिए यह /v1 से पहले समाप्त होता है। |
प्रमाणीकरण की पुष्टि
कुंजी और base URL सेट करने के बाद मॉडल सूची प्राप्त करके प्रमाणीकरण की पुष्टि की जा सकती है। नीचे दिए गए उदाहरण में यही अनुरोध curl, OpenAI SDK और Anthropic SDK से किया गया है। sk-... की जगह API कुंजी स्क्रीन से जारी की गई कुंजी डालें।
curl से अनुरोध करते समय, दोनों प्रारूपों के लिए /v1/models तक का पूरा पथ निर्दिष्ट करें। पहला कमांड OpenAI-संगत पथ पर X-API-Key हेडर का और दूसरा कमांड Anthropic-संगत पथ पर Authorization हेडर का उपयोग करता है।
curl https://platform.clevi.net/api/v2/aiservice/openai/v1/models \
-H "X-API-Key: sk-..."
curl https://platform.clevi.net/api/v2/aiservice/anthropic/v1/models \
-H "Authorization: Bearer sk-..." \
-H "anthropic-version: 2023-06-01"OpenAI SDK में base_url के लिए /v1 सहित पता निर्दिष्ट करें।
from openai import OpenAI
client = OpenAI(
api_key="sk-...",
base_url="https://platform.clevi.net/api/v2/aiservice/openai/v1",
)
for model in client.models.list():
print(model.id)Anthropic SDK में base_url के लिए ऐसा पता निर्दिष्ट करें जो /v1 से पहले समाप्त होता हो।
प्रमाणीकरण के लिए SDK द्वारा भेजे जाने वाले x-api-key हेडर का 그대로 उपयोग करें।
from anthropic import Anthropic
client = Anthropic(
api_key="sk-...",
base_url="https://platform.clevi.net/api/v2/aiservice/anthropic",
)
for model in client.models.list(limit=20).data:
print(model.id)किसी भी उदाहरण में यदि प्रतिक्रिया 200 है, तो प्रमाणीकरण सफल हुआ है और प्रतिक्रिया के data में इस कुंजी से कॉल किए जा सकने वाले मॉडलों की सूची शामिल होती है। यदि 401 मिले, तो अगले अनुभाग में दिए गए क्रम से कारण की जाँच करें।
प्रमाणीकरण विफलता
यदि कुंजी नहीं है या समाप्त हो चुकी अथवा निरस्त की गई कुंजी भेजी जाती है, तो 401 लौटाया जाता है। OpenAI-संगत पथ पर बिना कुंजी के अनुरोध करने पर नीचे दिया गया निकाय लौटाया जाता है, जबकि Anthropic-संगत पथ पर error.type authentication_error होता है।
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}यदि 401 मिले, तो निम्नलिखित क्रम से जाँच करें।
- API कुंजी स्क्रीन पर कुंजी की स्थिति जाँचें। यदि कुंजी समाप्त हो चुकी या निरस्त की गई है, तो नई कुंजी जारी करें।
- जाँचें कि हेडर का नाम X-API-Key या Authorization है।
- यदि OpenAI-संगत पथ पर Authorization हेडर का उपयोग कर रहे हैं, तो जाँचें कि उसमें Bearer उपसर्ग है।
सुधार करने के बाद, प्रमाणीकरण की पुष्टि वाले अनुभाग में मॉडल सूची प्राप्त करने का अनुरोध फिर से चलाएँ और जाँचें कि 200 प्राप्त हो रहा है।
साथ में उपयोग किए जाने वाले हेडर
निम्नलिखित सभी हेडर वैकल्पिक हैं। समस्याओं का पता लगाने के लिए X-Request-Id निर्दिष्ट रखने की अनुशंसा की जाती है।
| हेडर | उपयोग | यदि छोड़ दिया जाए |
|---|---|---|
| X-Request-Id | अनुरोध ट्रैक करने के लिए पहचानकर्ता। Anthropic-संगत पथ, प्रतिक्रिया के request-id हेडर में यही मान लौटाता है। | सर्वर इसे जारी करता है। |
| X-Region-Code | कॉल किए जाने वाले रीजन को निर्दिष्ट करता है। | global है। |
| X-Product-Sku (क्वेरी product_sku के रूप में भी निर्दिष्ट किया जा सकता है) | बिलिंग के लिए उपयोग किया जाने वाला Product SKU सीधे निर्दिष्ट करता है। हेडर को क्वेरी पर प्राथमिकता प्राप्त है और इसका उपयोग मुख्य रूप से वॉइस·वॉइस पथों में किया जाता है। | वॉइस पथ में इसे छोड़ा नहीं जा सकता। audio/speech और audio/transcriptions, अनुरोध के मुख्य भाग में दिए गए model से Product चुनते हैं। |
| anthropic-version / anthropic-beta | Anthropic-संगत पथ में इसे यथावत पास किया जाता है। | संस्करण 2023-06-01 है। |
यदि 5xx बार-बार आता है, तो सहायता और संपर्क के माध्यम से X-Request-Id के साथ हमें सूचित करें। यदि मान सीधे निर्दिष्ट किया गया है, तो इसकी तुलना क्लाइंट रिकॉर्ड से तुरंत की जा सकती है।