Developer guide

بانگکردنی API

ڕێڕەوی هاوشێوەی API و یاساکانی stream و دەنگ

ڕێڕەوی بانگکردنی گەیتوەی CLEVI بە دوو ستاندارد دابەش دەبێت: ستانداردی گونجاو لەگەڵ OpenAI و ستانداردی گونجاو لەگەڵ Anthropic.
هەردوو ستانداردەکە هەمان کلیلەی API بەکاردێنن، و مۆدێلەکانی بیرکردنەوەی گفتوگۆیی بە هەر یەکێک لەو دوو ستانداردە بانگ دەکرێن.
ڕێڕەوی embedding و دەنگ و voice تەنها لە ستانداردی گونجاو لەگەڵ OpenAI هەیە،
و ستانداردی گونجاو لەگەڵ Anthropic سێ ڕێڕەوی messages، count_tokens و models پێشکەش دەکات.

پەخشکردن لە ڕێگەی stream لە ناوەڕۆکی داواکارییەکە چالاک دەکرێت، و embedding و هەندێک مۆدێل و ڕێڕەو پشتگیری ناکرێن. ڕێڕەوی دەنگ و voice یاسای جیاواز لە بیرکردنەوەی ئاسایی پەیڕەو دەکات، لەوانە گەڕاندنەوەی ڕاستەوخۆی دەنگ و هەڵگرتنی بەرهەمەکان لە CleviDrive بۆ ماوەی 3 ڕۆژ.

ناسنامەی مۆدێل و بانگکردنی ڕێگەپێدراو بۆ هەر مۆدێلێک لە پەڕەی مۆدێلەکان، و هێدەرەکانی authentication و base URL لە پەڕەی authentication بە کلیلەی API هەن.

هەڵبژاردنی ڕێڕەو

بەپێی ئەوەی دەتەوێت بیکەیت و ئەو SDK ـەی بەکاری دەهێنیت، ڕێڕەو هەڵبژێرە. ڕێڕەوەکانی خشتەکە ئەو ڕێڕەوی ڕێژەیینەن کە دوای base URL ـی هەر ستانداردێک دێن.

ئەرکی مەبەستستانداردڕێڕەو
بیرکردنەوەی گفتوگۆیی، بەکارهێنانی OpenAI SDKگونجاو لەگەڵ OpenAIPOST /chat/completions یان POST /responses
بیرکردنەوەی گفتوگۆیی، بەکارهێنانی Anthropic SDKگونجاو لەگەڵ AnthropicPOST /v1/messages
دروستکردنی embeddingگونجاو لەگەڵ OpenAIPOST /embeddings
دروستکردن و نووسینەوەی دەنگ، بەڕێوەبردنی voiceگونجاو لەگەڵ OpenAIڕێڕەوەکان لە ژێر /audio و /voices
پشکنینی مۆدێلەکانی بانگکردنهەردووکیانGET /models

ڕێڕەوی گونجاو لەگەڵ OpenAI

base URL ـی ستانداردی گونجاو لەگەڵ OpenAI https://platform.clevi.net/api/v2/aiservice/openai/v1 ـە. ناوەڕۆکی داواکاری و وەڵامەکان پەیڕەوی ستانداردی OpenAI دەکەن. خشتەی خوارەوە ڕێڕەوەکانی بیرکردنەوە و مۆدێل بە ڕێڕەوی تەواوی بنکەی میوانخانە نیشان دەدات، و ڕێڕەوەکانی دەنگ و voice لە بەشی دواتری ڕێڕەوی دەنگ و voice کۆکراونەتەوە.

مێتۆدڕێڕەووەسف
POST/api/v2/aiservice/openai/v1/chat/completionsداوای لێکۆڵینەوەی گفتوگۆیی دەکات. ئەگەر stream چالاک بکرێت، وەڵام بە SSE دەدرێت.
POST/api/v2/aiservice/openai/v1/responsesبە پێوەری Responses بانگ دەکرێت. پشتگیری 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 ناسنامەی پەڕەی مۆدێلەکە دابنێ.

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

base URL ـی ستانداردی گونجاو لەگەڵ Anthropic https://platform.clevi.net/api/v2/aiservice/anthropic ـە، و Anthropic SDK ڕێڕەوی /v1 بە ڕاستەوخۆ زیاد دەکات بۆ ڕێڕەوی داواکارییەکە. ناوەڕۆکی داواکاری و وەڵامەکان پەیڕەوی ستانداردی Anthropic Messages دەکەن.

میتۆدڕێڕەووەسف
POST/api/v2/aiservice/anthropic/v1/messagesبە ستانداردی Messages بانگ دەکرێت. model، messages و max_tokens پێویستن و پشتگیری stream دەکات.
POST/api/v2/aiservice/anthropic/v1/messages/count_tokensتەنها ژمارەی تۆکینەکانی ورودی بەبێ تێچوون هەڵدەسەنگێنێت. max_tokens پێویست نییە.
GET/api/v2/aiservice/anthropic/v1/modelsلیستی مۆدێلەکان بە شێوازی پەڕەپێدانی cursor دەگەڕێنێتەوە. 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 /responsesپشتگیری لە stream دەکات.
Anthropic هاوشێوە POST /v1/messagesپشتگیری لە stream دەکات.
POST /embeddingsپشتگیری لە ستریمینگ ناکات.
مۆدێلەکانی زنجیرەی گەڕانی Ivy (وەک ivy-4-mm-search)تەنانەت ئەگەر stream چالاک بکرێت، ڕاژەکار ناچالاکی دەکات و وەڵامەکە بە یەکجار دەنێرێت.
GET /responses/{responseId}?stream=true400 دەگەڕێنێتەوە. ئەمە ڕێڕەوێکە کە داخراوە تاوەکو بتوانرێت بەکارهێنانی وەڵامەکانی پشت‌پەردە بە دروستی تەنها جارێک پێوانە بکرێت.

لەگەڵ یەکەم بەشدا ئەم سێ هێدەرە دەنێرێت. دواتر لەگەڵ هەر بەشێکدا هێڵی data: دەنێرێت و دەستبەجێ flush دەکات؛ تەنها ئەگەر upstream ناوی ڕووداو پێشکەش کردبێت، هێڵی 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 لە وەڵامەکەدا دەخرێن.
هەڵبژاردنی Productaudio/speech و audio/transcriptions بە بەکارهێنانی model لە ناوەڕۆکی داواکارییەکە Product هەڵدەبژێرن. ڕێڕەوی دەنگ و پشکنین پێویستی بە سەردێڕی X-Product-Sku یان پرسیاری product_sku هەیە.
خاوەندارێتی دەنگئەو دەنگانەی کۆپی یان تۆمار کراون، سەر بە لایەنی دروستکەرەوە دەبن. ئەگەر هەوڵی بەکارهێنان بۆ دەنگی خاوەندارێکی تر بۆ دەرهێنانی دەنگ یان سڕینەوەی بدرێت، 403 دەگەڕێنێتەوە و لیستی GET /voices تەنها دەنگەکانی خاوەنی خۆت لەخۆدەگرێت.
قەبارە و کاتسنووری داواکاری 28 MiB ـە و کاتی سنوورداری بانگکردنی upstream، 5 خولەکە.
قەرەباڵغی providerئەگەر upstream قەرەباڵغ بێت، 409 بە هەمان شێوە دەگوازرێتەوە و ئەگەر Retry-After هەبێت، ئەو نرخەش لەگەڵیدا دەگوازرێتەوە. گەیت‌وەی هەوڵی دووبارە ناداتەوە و لە ڕیزیشی نادات.

زمان و ناوچە

زمانە وەرگێڕدراوەکان بە ماشێن لەلایەن clevi/cip-5.5-im وەرگێڕدراون و بەو شێوەیە نیشانەکراون. ئەمە بۆ ئەو زمانانە جێبەجێ دەکرێت کە پەکەتی ماڵپەڕی بڵاوکراوەیان هەیە.

١٣٧ زمان

پێشنیارکراو

1

ڕۆژهەڵاتی ئاسیا

7

باشووری ڕۆژھەڵاتی ئاسیا

11

باشووری ئاسیا

18

ناوەڕاستی ئاسیا

5

ڕۆژهەڵاتی ناوەڕاست و قەفقاس

10

ڕۆژاوای ئەورووپا and باشووری ئەورووپا

17

شانشینی یەکگرتوو and ئیرلەند

4

باکووری ئەورووپا

10

ئەورووپای ناوەندی و بالکان

14

ڕۆژهەڵاتی ئەورووپا

5

ڕۆژھەڵاتی ئەفریقا

8

ڕۆژاوای ئەفریقا and ناوەڕاستی ئەفریقا

9

باشووری ئەفریقا

8

ئەمەریکای باکوور و باشوور

5

ئۆقیانووسیا

5