Developer guide
Bangkirina API
Rêyên API-yê yên hevaheng û rêgezên streamkirinê û dengê
Rêyên bangkirinê yên derbasgeha CLEVI li gorî standarda hevahenga OpenAI û standarda hevahenga Anthropicê cuda dibin.
Her du standardan heman kilîta API-yê bikar tînin û modelên encamdana dîyalogê dikarin bi her du standardan werin bangkirin.
Rêyên embedding û dengê/voice tenê di standarda hevahenga OpenAI de hene,
standarda hevahenga Anthropicê sê rêyan dide: messages, count_tokens û models.
Streamkirin bi stream di navê daxwazê de tê çalak kirin û embedding û hin model û rê nayên piştgirî kirin. Rêyên dengê/voice rêgezên cuda ji encamdana giştî dişopînin, wekî vegerandina rasterast a audyoyê û parastina hilberan li CleviDriveê bo 3 rojan.
ID-yên modelan û bangkirinên destûrdar ji bo her modelê li ser rûpela modelê ne; sernavên pejirandinê û base URL li ser rûpela Pejirandina bi kilîta API-yê ne.
Hilbijartina rêyê
Li gorî tiştê ku hûn dixwazin bikin û SDK-ya ku hûn bikar tînin, rêyekê hilbijêrin. Rêyên di tabloyê de, rêyên nisbî ne ku li dû base URL-ya her standardê tên.
| Tişta ku hûn dixwazin bikin | Standard | Rê |
|---|---|---|
| Encamdana dîyalogê, bi karanîna SDK-ya OpenAI | Hevahenga OpenAI | POST /chat/completions an POST /responses |
| Encamdana dîyalogê, bi karanîna SDK-ya Anthropic | Hevahenga Anthropic | POST /v1/messages |
| Çêkirina embeddingê | Hevahenga OpenAI | POST /embeddings |
| Senteza dengê û veguhastina dengê nivîsê, rêveberiya voice | Hevahenga OpenAI | Rêyên di bin /audio û /voices de |
| Diyarkirina modelên ku dikarin werin bangkirin | Her du | GET /models |
Rêya hevahenga OpenAI
Base URL-ya standarda hevahenga OpenAI https://platform.clevi.net/api/v2/aiservice/openai/v1 e. Naveroka daxwaz û bersivê li gorî standarda OpenAI ye. Tabloya jêrîn rêyên encamdana û modelê wekî rêyên tevahî li gorî hostê nîşan dide, û rêyên dengê/voice di beşa paşîn a Rêyên dengê û voice de hatine rêzkirin.
| Metod | Rê | Danasîn |
|---|---|---|
| POST | /api/v2/aiservice/openai/v1/chat/completions | Daxwaza encama têkiliyê dike. Ger stream vekirî be, bersiv bi SSE tê dayîn. |
| POST | /api/v2/aiservice/openai/v1/responses | Bi rêgeza Responses bang dike. Piştgiriya stream dike. |
| GET | /api/v2/aiservice/openai/v1/responses/{responseId} | Bersivekî tomarkirî digere. |
| GET | /api/v2/aiservice/openai/v1/responses/{responseId}/input_items | Lîsteya hêmanên têketinê yên bersiva tomarkirî digere. |
| POST | /api/v2/aiservice/openai/v1/responses/{responseId}/cancel | Bersiva ku di paşperdeyê de berdewam dike betal dike. |
| DELETE | /api/v2/aiservice/openai/v1/responses/{responseId} | Bersiva tomarkirî jê dibe. |
| POST | /api/v2/aiservice/openai/v1/completions | Daxwaza temamkirina nivîsa kevn dike. Piştgiriya stream dike. |
| POST | /api/v2/aiservice/openai/v1/embeddings | Embedding çêdike. Piştgiriya streamingê nake. |
| GET | /api/v2/aiservice/openai/v1/models | Lîsteya modelên ku dikarin bi vê mifteyê werin bangkirin vedigere. |
| GET | /api/v2/aiservice/openai/v1/models/{modelId} | Modelekê digere. Ger model nehatibe gihiştin, 404 vedigere. |
Ev mînaka herî kêm e ku chat/completions bang dike. Li şûna sk-... mifteya ku ji rûpela mifteya API-yê hatiye dayîn, û li modelê ID-ya rûpela modelê binivîsin.
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": "안녕하세요"}]
}'Riyên din
Riyên jêrîn ji bo teşxîsê, lihevhatina bi pergala kevn û veguhastinê ne.
| Rê | Danasîn |
|---|---|
| GET /api/v2/aiservice/openai/v1/healthz | Dîroka rewşa providerê kontrol dike. |
| /api/v2/aiservice/openai/v1/api/status · /api/options · /api/generate · /outputs/{filename} | Rêçeyên ji bo rewş û vebijarkên Cosa ya kevn, bangkirina hilberînê (multipart) û daxistina deran e. |
| /api/v2/aiservice/openai/v1/{routeKey} (GET · POST · PUT · PATCH · DELETE) | Rêçeyên providerê yên ku di tabloya jorîn de nehatine nîşandan bi sepandina qaîdeyê vediguhezîne. Ji ber ku chat/completions, completions, embeddings û responses ji aliyê rêçeyên taybet ve têne rêvebirin, ger bi relay-a POST ve werin gazîkirin 404 vedigerîne. |
Hemû zeviyên daxwaz û bersivê dikarin di belgeya OpenAPI 3.0 https://platform.clevi.net/api/v2/console/openapi/cloud-inference-v1 de werin dîtin. Lîsteya rêçeyan di vê belgeyê de tê çêkirin, û belge tenê bi danişîna ku li konsolê hatiye daxilbûnê vedibe. Dikarin bi heman belgeyê xerîdarê çêbikin.
Rêçeya lihevhatî bi Anthropic
URL-a bingehîn a standarda lihevhatî bi Anthropic https://platform.clevi.net/api/v2/aiservice/anthropic e, û Anthropic SDK /v1 rasterast li rêçeya daxwazê zêde dike. Naveroka daxwaz û bersivê li gorî standarda Anthropic Messages e.
| Rêbaz | Rêçe | Danasîn |
|---|---|---|
| POST | /api/v2/aiservice/anthropic/v1/messages | Bi standarda Messages gazî dike. model, messages û max_tokens pêwîstin û stream tê piştgirîkirin. |
| POST | /api/v2/aiservice/anthropic/v1/messages/count_tokens | Tenê hejmara tokenên têketinê bê pereya bikaranînê texmîn dike. max_tokens ne pêwîst e. |
| GET | /api/v2/aiservice/anthropic/v1/models | Lîsteya modelan bi rêbaza paginaasyona cursorê vedigere. limit di navbera 1 û 1000 de ye û ger ji vê navberê derkeve 400 vedigere. |
| GET | /api/v2/aiservice/anthropic/v1/models/{modelId} | Agahiyên yek modelê digire. Ger model nayê gihiştinê, 404 vedigere. |
Mînakek herî kêm e ku messages gazî dike.
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": "안녕하세요"}]
}'Ger hûn sernavê anthropic-version derbas nekin, ew wekî 2023-06-01 tê hesibandin. Gateway anthropic-version û anthropic-beta sernavan bê guhertin radigihîne.
Streaming (SSE)
Heke stream di navê daxwazê de li ser true were danîn, server bi Server-Sent Events bersivê dide. Piştgiriya wê li gorî rê û modelê wiha diguhere.
| Armanc | Çalakî |
|---|---|
| OpenAI hevaheng POST /chat/completions · POST /completions · POST /responses | Piştgiriya stream dike. |
| Anthropic hevaheng POST /v1/messages | Piştgiriya stream dike. |
| POST /embeddings | Piştgiriya streamingê nake. |
| Modelên rêza lêgerîna Ivy (wekî ivy-4-mm-search) | Her çiqas stream were vekirin jî, server wê bigire û bersivê bi yek carê bide. |
| GET /responses/{responseId}?stream=true | 400 vedigerîne. Ev rê ye ku heta ku bikaranîna bersivên paşperdeyê bi rastî û tenê carekê were pîvan kirin, hatiye girtin. |
Bi yekemîn chunkê re van sê sernavan dişîne. Paşê di her chunkê de rêzeke data: dişîne û yekser flush dike; tenê dema ku upstream navê bûyerê dabîn bike, rêzeka event: jî bi hev re dişîne.
- Content-Type: text/event-stream
- Cache-Control: no-cache
- X-Accel-Buffering: no
Chunkên rêya Anthropic hevaheng ji rêzika event û rêzika data pêk tên.
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"안"}}Chunkên chat/completions wekî rêzên data: tên, û di dawiyê de data: [DONE] bê guhertin tê ragihandin.
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[...]}
data: [DONE]Heke di dema streamingê de çewtiyek çêbibe, JSON-a çewtiyê ya wekî bangewaziya asayî di yek rêza data: de tê ragihandin û koda rewşa HTTP jî diguhere.
Rêyên deng û dengdanê
Rêyên rêvebirina dengên TTS·STT û Cosa di standarda OpenAI hevaheng de ne û hin rêgezên wan ji îstidlala asayî cuda ne. Ji bo dîtina ka kîjan model kîjan rê dihêle, li tabloya Cosa ya rûpela modelê binêre.
| Metod | Rê | Danasîn |
|---|---|---|
| POST | /api/v2/aiservice/openai/v1/audio/speech | Nivîsê dike deng û audiyoyê rasterast vedigerîne. |
| POST | /api/v2/aiservice/openai/v1/audio/transcriptions | Audiyoyê dike nivîs (multipart). |
| POST | /api/v2/aiservice/openai/v1/audio/speech/clone | Bi dengê klonkirî dengê sentez dike (multipart). |
| GET | /api/v2/aiservice/openai/v1/voices | Lîsteya dengên ku gazîker dikare bikar bîne vedigerîne. |
| POST | /api/v2/aiservice/openai/v1/voices | Bi nimûneya audiyoyê dengek tomar dike (multipart). |
| POST | /api/v2/aiservice/openai/v1/voices/design | Bi nivîsa ravekirinê dengek sentezê diafirîne. |
| DELETE | /api/v2/aiservice/openai/v1/voices/{voiceId} | Deng jê dibe. Tenê xwedî dikare jê bibe. |
Rêzikên jêrîn tenê li ser rêyên audiyo û dengê tên sepandin.
| Rêzik | Naverok |
|---|---|
| گەیاندنی باینەری | وەڵامە سەرکەوتووەکانی 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 لە query هەیە. |
| خاوەندارێتی دەنگ | ئەو دەنگانەی کە دووبارە دروست کراون یان تۆمار کراون، هی ئەو لایەنەیە کە دروستی کردوون. ئەگەر هەوڵ بدەیت بە دەنگی خاوەندێکی تر دەنگ دروست بکەیت یان بیسڕیتەوە، 403 دەگەڕێنێتەوە؛ هەروەها لیستی GET /voices تەنها دەنگەکانی خۆت لەخۆ دەگرێت. |
| قەبارە و کات | سنووری داواکاری 28 MiB ـە و سنووری کاتی بانگکردنی upstream، 5 خولەکە. |
| قەرەباڵغی provider | ئەگەر upstream قەرەباڵغ بێت، 409 بە هەمان شێوە دەگوازرێتەوە و ئەگەر Retry-After هەبێت، ئەو نرخەش لەگەڵیدا دەگوازرێتەوە. گەیتوەی دووبارە هەوڵ ناداتەوە و لە نۆرەشیدا نایخات. |