Developer guide

API કૉલ કરવું

API સુસંગત પાથ અને સ્ટ્રીમિંગ તથા વૉઇસ નિયમો

CLEVI ગેટવેના કૉલ પાથ OpenAI સુસંગત સ્પેસિફિકેશન અને Anthropic સુસંગત સ્પેસિફિકેશનમાં વિભાજિત છે.
બંને સ્પેસિફિકેશનમાં એક જ API કીનો ઉપયોગ થાય છે, અને સંવાદાત્મક રીઝનિંગ મોડેલને કોઈપણ સ્પેસિફિકેશન દ્વારા કૉલ કરી શકાય છે.
એમ્બેડિંગ અને ઑડિયો તથા વૉઇસ પાથ માત્ર OpenAI સુસંગત સ્પેસિફિકેશનમાં ઉપલબ્ધ છે,
જ્યારે Anthropic સુસંગત સ્પેસિફિકેશન messages, count_tokens અને models એમ ત્રણ પાથ પ્રદાન કરે છે.

સ્ટ્રીમિંગ વિનંતીના બૉડીમાં stream દ્વારા ચાલુ કરવામાં આવે છે, પરંતુ એમ્બેડિંગ અને કેટલાક મોડેલ તથા પાથ તેને સપોર્ટ કરતા નથી. ઑડિયો તથા વૉઇસ પાથ ઑડિયોને યથાવત્ પરત કરે છે અને આઉટપુટને CleviDrive પર 3 દિવસ સુધી સંગ્રહિત રાખે છે; તેથી તે સામાન્ય રીઝનિંગથી અલગ નિયમોનું પાલન કરે છે.

મોડેલ ID અને દરેક મોડેલ માટે માન્ય કૉલ મોડેલ પેજ પર છે, જ્યારે ઑથેન્ટિકેશન હેડર અને base URL API કીથી ઑથેન્ટિકેશન પેજ પર છે.

પાથ પસંદ કરવો

તમે શું કરવા માગો છો અને કયા 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