Developer guide

API کال کرنا

API کے موافق راستے اور اسٹریمنگ و آواز کے قواعد

CLEVI گیٹ وے کے کال راستے OpenAI کے موافق معیار اور Anthropic کے موافق معیار میں تقسیم ہیں۔
دونوں معیارات ایک ہی API key استعمال کرتے ہیں، اور مکالماتی استدلال کے ماڈلز کو کسی بھی معیار کے ذریعے کال کیا جا سکتا ہے۔
ایمبیڈنگ اور آڈیو و وائس کے راستے صرف OpenAI کے موافق معیار میں موجود ہیں،
جبکہ Anthropic کے موافق معیار میں messages، count_tokens اور models کے تین راستے فراہم کیے جاتے ہیں۔

اسٹریمنگ کو درخواست کے باڈی میں stream کے ذریعے فعال کیا جاتا ہے، اور ایمبیڈنگز اور کچھ ماڈلز و راستے اسے سپورٹ نہیں کرتے۔ آڈیو و وائس کے راستے آڈیو براہِ راست واپس کرتے ہیں اور آؤٹ پٹس کو CleviDrive میں 3 دن تک محفوظ رکھتے ہیں، اس لیے ان کے قواعد عام استدلال سے مختلف ہیں۔

ماڈل ID اور ہر ماڈل کے لیے قابلِ اجازت کالز ماڈل صفحے پر موجود ہیں، جبکہ توثیقی ہیڈر اور base URL، API key کے ذریعے توثیق کرنے کے صفحے پر موجود ہیں۔

راستے کا انتخاب

آپ جو کام کرنا چاہتے ہیں اور جو SDK استعمال کر رہے ہیں، اس کے مطابق راستہ منتخب کریں۔ جدول میں دیے گئے راستے ہر معیار کے base URL کے بعد آنے والے نسبتی راستے ہیں۔

مطلوبہ کاممعیارراستہ
مکالماتی استدلال، OpenAI SDK استعمال کرناOpenAI کے موافقPOST /chat/completions یا POST /responses
مکالماتی استدلال، Anthropic SDK استعمال کرناAnthropic کے موافقPOST /v1/messages
ایمبیڈنگز بناناOpenAI کے موافقPOST /embeddings
آواز کی ترکیب و نقل، وائس کا انتظامOpenAI کے موافق/audio اور /voices کے تحت راستے
کال کیے جا سکنے والے ماڈلز دیکھنادونوںGET /models

OpenAI کے موافق راستہ

OpenAI کے موافق معیار کا base URL https://platform.clevi.net/api/v2/aiservice/openai/v1 ہے۔ درخواست اور جواب کے باڈیز OpenAI کے معیار کی پیروی کرتے ہیں۔ نیچے دیے گئے جدول میں استدلال اور ماڈل کے راستے میزبان کی بنیاد پر مکمل راستوں کے طور پر درج ہیں، جبکہ آڈیو و وائس کے راستے بعد کے آڈیو اور وائس کے راستوں والے حصے میں بیان کیے گئے ہیں۔

طریقہراستہوضاحت
POST/api/v2/aiservice/openai/v1/chat/completionsمکالماتی استدلال کی درخواست کرتا ہے۔ stream آن کرنے پر SSE کے ذریعے جواب دیتا ہے۔
POST/api/v2/aiservice/openai/v1/responsesResponses کے فارمیٹ میں کال کرتا ہے۔ stream کو سپورٹ کرتا ہے۔
GET/api/v2/aiservice/openai/v1/responses/{responseId}محفوظ کردہ ایک جواب حاصل کرتا ہے۔
GET/api/v2/aiservice/openai/v1/responses/{responseId}/input_itemsمحفوظ کردہ جواب کے ان پٹ آئٹمز کی فہرست حاصل کرتا ہے۔
POST/api/v2/aiservice/openai/v1/responses/{responseId}/cancelپس منظر میں جاری جواب کو منسوخ کرتا ہے۔
DELETE/api/v2/aiservice/openai/v1/responses/{responseId}محفوظ کردہ جواب حذف کرتا ہے۔
POST/api/v2/aiservice/openai/v1/completionsلیگیسی ٹیکسٹ تکمیل کی درخواست کرتا ہے۔ stream کو سپورٹ کرتا ہے۔
POST/api/v2/aiservice/openai/v1/embeddingsایمبیڈنگ تیار کرتا ہے۔ اسٹریمنگ کو سپورٹ نہیں کرتا۔
GET/api/v2/aiservice/openai/v1/modelsاس کلید کے ذریعے کال کیے جا سکنے والے ماڈلز کی فہرست واپس کرتا ہے۔
GET/api/v2/aiservice/openai/v1/models/{modelId}ایک ماڈل حاصل کرتا ہے۔ اگر ماڈل تک رسائی نہ ہو تو 404 واپس کرتا ہے۔

chat/completions کو کال کرنے کی کم سے کم مثال ہے۔ sk-... کی جگہ API کلید کے صفحے سے جاری کردہ کلید درج کریں، اور model میں ماڈل صفحے کی ID درج کریں۔

curl https://platform.clevi.net/api/v2/aiservice/openai/v1/chat/completions \
  -H "X-API-Key: sk-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "cip-5.5-im",
    "messages": [{"role": "user", "content": "안녕하세요"}]
  }'

دیگر راستے

درج ذیل راستے تشخیص، لیگیسی مطابقت اور ریلے کے لیے ہیں۔

راستہوضاحت
GET /api/v2/aiservice/openai/v1/healthzوائس provider کی حیثیت چیک کرتا ہے۔
/api/v2/aiservice/openai/v1/api/status · /api/options · /api/generate · /outputs/{filename}لیگیسی Cosa کی حیثیت اور اختیارات دیکھنے، تخلیق کی کال (multipart)، اور آؤٹ پٹ ڈاؤن لوڈ کرنے کے راستے ہیں۔
/api/v2/aiservice/openai/v1/{routeKey} (GET · POST · PUT · PATCH · DELETE)اوپر دیے گئے جدول میں شامل نہ ہونے والے provider کے راستوں کو قواعد کے مطابق ریلے کرتا ہے۔ چونکہ chat/completions، completions، embeddings اور responses کو مخصوص راستہ ہینڈل کرتا ہے، اس لیے انہیں POST ریلے کے ذریعے کال کرنے پر 404 واپس کیا جاتا ہے۔

درخواست اور جواب کے تمام فیلڈز OpenAPI 3.0 دستاویز https://platform.clevi.net/api/v2/console/openapi/cloud-inference-v1 میں دیکھے جا سکتے ہیں۔ راستوں کی فہرست اسی دستاویز سے تیار کی جاتی ہے، اور دستاویز صرف کنسول میں لاگ اِن سیشن کے ذریعے کھولی جا سکتی ہے۔ اسی دستاویز سے کلائنٹ تیار کیا جا سکتا ہے۔

Anthropic سے ہم آہنگ راستے

Anthropic سے ہم آہنگ معیار کا base URL https://platform.clevi.net/api/v2/aiservice/anthropic ہے، اور Anthropic SDK درخواست کے راستے میں /v1 براہِ راست شامل کرتا ہے۔ درخواست اور جواب کے باڈیز Anthropic Messages کے معیار کے مطابق ہیں۔

طریقہراستہتفصیل
POST/api/v2/aiservice/anthropic/v1/messagesMessages کے معیار کے مطابق کال کرتا ہے۔ model، messages اور max_tokens درکار ہیں، اور stream کو سپورٹ کرتا ہے۔
POST/api/v2/aiservice/anthropic/v1/messages/count_tokensبغیر معاوضے کے صرف ان پٹ ٹوکنز کی تعداد کا تخمینہ لگاتا ہے۔ max_tokens درکار نہیں ہے۔
GET/api/v2/aiservice/anthropic/v1/modelsکرسر پیجینیشن کے طریقے سے ماڈلز کی فہرست واپس کرتا ہے۔ limit کی حد 1 سے 1000 تک ہے؛ حد سے باہر ہونے پر 400 واپس کیا جاتا ہے۔
GET/api/v2/aiservice/anthropic/v1/models/{modelId}ایک ماڈل کی تفصیلات حاصل کرتا ہے۔ اگر ماڈل تک رسائی نہ ہو تو 404 واپس کیا جاتا ہے۔

messages کو کال کرنے کی کم سے کم مثال ہے۔

curl https://platform.clevi.net/api/v2/aiservice/anthropic/v1/messages \
  -H "X-API-Key: sk-..." \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "cip-5.5-im",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "안녕하세요"}]
  }'

اگر anthropic-version ہیڈر شامل نہ کیا جائے تو اسے 2023-06-01 تصور کیا جاتا ہے۔ گیٹ وے anthropic-version اور anthropic-beta ہیڈرز کو جوں کا توں آگے بھیجتا ہے۔

اسٹریمنگ (SSE)

اگر درخواست کے باڈی میں stream کو true پر سیٹ کیا جائے تو سرور Server-Sent Events کے ذریعے جواب دیتا ہے۔ معاونت دستیاب ہونے یا نہ ہونے کی صورتِ حال پاتھ اور ماڈل کے لحاظ سے درج ذیل ہے۔

ہدفعمل
OpenAI کے موافق POST /chat/completions · POST /completions · POST /responsesstream کو سپورٹ کرتا ہے۔
Anthropic کے موافق POST /v1/messagesstream کو سپورٹ کرتا ہے۔
POST /embeddingsاسٹریمنگ کو سپورٹ نہیں کرتا۔
Ivy سرچ سیریز کے ماڈلز (ivy-4-mm-search وغیرہ)stream کو فعال کرنے کے باوجود سرور اسے غیر فعال کر کے ایک ہی بار میں جواب دیتا ہے۔
GET /responses/{responseId}?stream=true400 واپس کرتا ہے۔ یہ پاتھ اس وقت تک بند رکھا گیا ہے جب تک بیک گراؤنڈ جواب کے استعمال کی درست طور پر صرف ایک بار پیمائش ممکن نہ ہو جائے۔

پہلے چنک کے ساتھ درج ذیل تین ہیڈرز بھیجے جاتے ہیں۔ اس کے بعد ہر چنک کے ساتھ data: لائن بھیجی جاتی ہے اور فوراً flush کیا جاتا ہے، جبکہ اپ اسٹریم ایونٹ کا نام فراہم کرے تو ہی event: لائن بھیجی جاتی ہے۔

  • Content-Type: text/event-stream
  • Cache-Control: no-cache
  • X-Accel-Buffering: no

Anthropic کے موافق پاتھ کے چنکس میں event لائن اور data لائن ایک جوڑے کی صورت میں ہوتی ہیں۔

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"안"}}

chat/completions کے چنکس data لائن کے طور پر آتے ہیں، اور آخر میں data: [DONE] کو جوں کا توں آگے بھیجا جاتا ہے۔

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[...]}

data: [DONE]

اسٹریمنگ کے دوران خرابی پیش آنے پر عام کال کی طرح خرابی کا JSON data: کی ایک لائن کے طور پر بھیجا جاتا ہے، اور HTTP اسٹیٹس کوڈ بھی تبدیل ہو جاتا ہے۔

آواز اور وائس پاتھ

TTS·STT اور Cosa وائس مینجمنٹ پاتھ OpenAI کے موافق معیار پر ہیں، اور عام استنباط سے مختلف چند قواعد لاگو ہوتے ہیں۔ کون سا ماڈل کس پاتھ کی اجازت دیتا ہے، یہ ماڈل کے صفحے پر موجود Cosa جدول میں دیکھیں۔

طریقہپاتھتفصیل
POST/api/v2/aiservice/openai/v1/audio/speechمتن کو آواز میں ترکیب دے کر آڈیو کو جوں کا توں واپس کرتا ہے۔
POST/api/v2/aiservice/openai/v1/audio/transcriptionsآڈیو کو متن میں نقل کرتا ہے (multipart)۔
POST/api/v2/aiservice/openai/v1/audio/speech/cloneکلون شدہ وائس کے ذریعے آواز کو ترکیب دیتا ہے (multipart)۔
GET/api/v2/aiservice/openai/v1/voicesکالر کے لیے قابلِ استعمال وائسز کی فہرست واپس کرتا ہے۔
POST/api/v2/aiservice/openai/v1/voicesآڈیو نمونے کے ذریعے وائس رجسٹر کرتا ہے (multipart)۔
POST/api/v2/aiservice/openai/v1/voices/designوضاحتی متن کے ذریعے ترکیبی وائس بناتا ہے۔
DELETE/api/v2/aiservice/openai/v1/voices/{voiceId}وائس حذف کرتا ہے۔ صرف مالک اسے حذف کر سکتا ہے۔

درج ذیل قواعد صرف آواز اور وائس کے راستوں پر لاگو ہوتے ہیں۔

قاعدہمضمون
بائنری کی ترسیلaudio/speech, audio/speech/clone, outputs/{filename} کے کامیاب جوابات آڈیو کو براہِ راست منتقل کرتے ہوئے اسے بیک وقت CleviDrive میں محفوظ کرتے ہیں۔
رسید کے ہیڈرزX-Clevi-Drive-File-Id, X-Clevi-Drive-File-Version-Id, X-Clevi-Drive-Download-Url, X-Clevi-Drive-Expires-At, X-Clevi-Drive-Retention-Days: 3 ہیڈرز کو جواب میں شامل کرتے ہیں۔
Product کا انتخابaudio/speech اور audio/transcriptions درخواست کے متن میں موجود model کے ذریعے Product کا انتخاب کرتے ہیں۔ وائس اور تشخیصی راستوں کے لیے X-Product-Sku ہیڈر یا product_sku کوئری درکار ہے۔
وائس کی ملکیتکلون یا رجسٹر کی گئی وائس اسے بنانے والے فریق کی ملکیت ہوتی ہے۔ کسی دوسرے مالک کی وائس سے ترکیب کرنے یا اسے حذف کرنے کی کوشش پر 403 واپس کیا جاتا ہے، اور GET /voices کی فہرست میں بھی صرف آپ کی ملکیت والی وائسز شامل ہوتی ہیں۔
حجم اور وقتدرخواست کی بالائی حد 28 MiB ہے، جبکہ اپ اسٹریم کال کا وقت 5 منٹ تک محدود ہے۔
provider کا ازدحاماگر اپ اسٹریم پر ازدحام ہو تو 409 کو جوں کا توں منتقل کیا جاتا ہے، اور اگر Retry-After موجود ہو تو اس کی قدر بھی ساتھ منتقل کی جاتی ہے۔ گیٹ وے دوبارہ کوشش نہیں کرتا اور نہ ہی درخواست کو قطار میں ڈالتا ہے۔

زبان اور علاقہ

مشینی طور پر ترجمہ کی گئی زبانوں کا ترجمہ clevi/cip-5.5-im کے ذریعے کیا جاتا ہے اور انہیں اسی طور پر نشان زد کیا جاتا ہے۔ یہ ان زبانوں پر لاگو ہوتا ہے جن کی سائٹ بنڈل شائع کی گئی ہے۔

137 زبانیں

تجویز کردہ

1

مشرقی ایشیا

7

جنوب مشرقی ایشیا

11

جنوبی ایشیا

18

وسطی ایشیا

5

مشرق وسطیٰ اور قفقاز

10

مغربی یورپ اور جنوبی یورپ

17

سلطنت متحدہ اور آئرلینڈ

4

شمالی یورپ

10

وسطی یورپ اور بلقان

14

مشرقی یورپ

5

مشرقی افریقہ

8

مغربی افریقہ اور وسطی افریقہ

9

جنوبی افریقہ کا علاقہ

8

امیریکاز

5

اوشیانیا

5