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 براہِ راست شامل کرتا ہے، اس لیے URL /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 کے موافق راستے پر کلید کے بغیر کال کرنے پر درج ذیل body واپس آتی ہے، جبکہ 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 کے ساتھ مدد اور استفسار کے ذریعے ہمیں اطلاع دیں۔ اگر قدر براہِ راست متعین کی گئی ہو تو کلائنٹ کے ریکارڈ سے فوراً موازنہ کیا جا سکتا ہے۔