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 सिधै निर्दिष्ट गर्छ। हेडरले क्वेरीलाई प्राथमिकता दिन्छ र मुख्यतः भ्वाइस तथा voice मार्गमा प्रयोग हुन्छ। | भ्वाइस मार्गमा यसलाई छोड्न सकिँदैन। audio/speech र audio/transcriptions ले अनुरोधको मुख्य भागमा रहेको model मार्फत Product चयन गर्छन्। |
| anthropic-version / anthropic-beta | Anthropic-संगत मार्गमा जस्ताको तस्तै पठाइन्छ। | संस्करण 2023-06-01 हो। |
5xx बारम्बार दोहोरिएमा X-Request-Id सहित मद्दत तथा सम्पर्कमार्फत हामीलाई जानकारी दिनुहोस्। तपाईंले सिधै निर्दिष्ट गर्नुभएको मान भएमा, यसलाई क्लाइन्ट रेकर्डसँग तुरुन्त तुलना गर्न सकिन्छ।