Developer guide
API કૉલ કરવો
API સુસંગત પાથ અને સ્ટ્રીમિંગ・વૉઇસ નિયમો
આ પેજ પ્રમાણિત કર્યા પછી વાસ્તવમાં કૉલ કરવામાં આવતા પાથ વિશે છે.
OpenAI સુસંગત પાથ અને Anthropic સુસંગત પાથની યાદી, રિક્વેસ્ટ બોડીમાં stream ચાલુ કરેલ હોય ત્યારે રિસ્પોન્સ પ્રાપ્ત થવાની રીત,
અને માત્ર વૉઇસ・વૉઇસ પાથ પર લાગુ પડતા નિયમોનો ક્રમ અહીં આપવામાં આવ્યો છે.
મોડેલ ID અને દરેક મોડેલ માટે મંજૂર કૉલ્સ મોડેલ પેજ પર છે, જ્યારે ઑથેન્ટિકેશન હેડર અને base URL API કીથી પ્રમાણિત કરવું પેજ પર છે.
આગળ વધવાનો પાથ
બંને સુસંગત સ્પેસિફિકેશનમાં સમાન API કી વપરાય છે, અને સંવાદાત્મક રીઝનિંગ મોડેલને કોઈપણ સ્પેસિફિકેશન દ્વારા કૉલ કરી શકાય છે. તમે શું કરવા માંગો છો અને અત્યાર સુધી કયું SDK વાપરતા હતા તેના આધારે પાથ પસંદ કરો.
| કરવા માંગતા કાર્ય | સ્પેસિફિકેશન | પાથ |
|---|---|---|
| સંવાદાત્મક રીઝનિંગ, OpenAI SDK નો ઉપયોગ | OpenAI સુસંગત | POST /chat/completions અથવા POST /responses |
| સંવાદાત્મક રીઝનિંગ, Anthropic SDK નો ઉપયોગ | Anthropic સુસંગત | POST /v1/messages |
| એમ્બેડિંગ જનરેટ કરવું | OpenAI સુસંગત | POST /embeddings |
| વૉઇસ સિન્થેસિસ・ટ્રાન્સક્રિપ્શન, વૉઇસ મેનેજમેન્ટ | OpenAI સુસંગત | /audio અને /voices હેઠળના પાથ |
| કૉલ કરી શકાય તેવા મોડેલ તપાસવા | બંને | GET /models |
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/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 મળે છે. |
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": "안녕하세요"}]
}'sk-...ની જગ્યાએ API કી સ્ક્રીન પરથી જારી કરેલી કી મૂકો અને model માં મોડેલ પેજનું ID મૂકો.
અન્ય પાથ
| પાથ | વર્ણન |
|---|---|
| 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 પાથને નિયમો લાગુ કરીને રિલે કરે છે. POST રિલે દ્વારા chat/completions, completions, embeddings, responses ને કૉલ કરવાથી 404 મળે છે; આ ચારને સમર્પિત પાથ હેન્ડલ કરે છે. |
Anthropic-સુસંગત પાથ
base URL 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 | કર્સર પેજિનેશનવાળી મૉડલ સૂચિ. limit 1~1000 હોવું જોઈએ; મર્યાદાની બહાર હોય તો 400 મળે છે. |
| GET | /api/v2/aiservice/anthropic/v1/models/{modelId} | એક મૉડલ મેળવે છે. ઍક્સેસ ન કરી શકાય તો 404 મળે છે. |
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": "안녕하세요"}]
}'સ્ટ્રીમિંગ (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=true | 400 સાથે નકારવામાં આવે છે. બૅકગ્રાઉન્ડ પ્રતિસાદનો ઉપયોગ ચોક્કસપણે માત્ર એક જ વાર માપી શકાય ત્યાં સુધી આ પાથ બંધ રાખવામાં આવ્યો છે. |
પ્રથમ ચંક સાથે નીચેના ત્રણ હેડર મોકલવામાં આવે છે. ત્યારબાદ દરેક ચંક સાથે event: લાઇન (અપસ્ટ્રીમે ઇવેન્ટનું નામ આપ્યું હોય ત્યારે જ) અને data: લાઇન મોકલીને તરત flush કરવામાં આવે છે.
- 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]ઑડિયો અને વૉઇસ પાથ
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 મોકલવામાં આવે છે. જાળવણી અવધિ 3 દિવસ છે અને ત્યાર પછી 404 મળે છે. |
| Product પસંદગી | audio/speech અને audio/transcriptions માટે બોડીમાં આપેલા model દ્વારા Product પસંદ કરો. વૉઇસ અને ડાયગ્નોસ્ટિક માર્ગો માટે X-Product-Sku હેડર અથવા product_sku ક્વેરી જરૂરી છે. |
| વૉઇસ માલિકી | ક્લોન કરેલા અથવા નોંધાયેલા વૉઇસ તેને બનાવનાર પક્ષના માલિકીના હોય છે. અન્યના વૉઇસથી સંશ્લેષણ કરવાનો અથવા તેને કાઢી નાખવાનો પ્રયાસ કરવાથી 403 મળે છે, અને GET /voices સૂચિમાં પણ ફક્ત તમારા માલિકીના વૉઇસ જ રહે છે. |
| કદ અને સમય | વિનંતીની મહત્તમ મર્યાદા 28 MiB છે અને અપસ્ટ્રીમ કૉલનો સમયસમાપ્તિ સમય 5 મિનિટ છે. |
| provider ભીડ | અપસ્ટ્રીમ વ્યસ્ત હોય ત્યારે 409 જેમનું તેમ મોકલવામાં આવે છે અને Retry-After આપેલું હોય તો તે મૂલ્ય પણ સાથે મોકલવામાં આવે છે. ગેટવે ફરી પ્રયાસ કરતું નથી અથવા કતારમાં મૂકતું નથી. |
