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/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-இல் மாடல் பக்கத்தில் உள்ள 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/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 வழங்கப்படும். |
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=true | 400 வழங்கப்படும். பின்னணி பதில்களின் பயன்பாட்டைத் துல்லியமாக ஒருமுறை மட்டுமே அளவிடும் திறன் கிடைக்கும் வரை இந்தப் பாதை மூடப்பட்டிருக்கும். |
முதல் துண்டுடன் பின்வரும் மூன்று தலைப்புகளை அனுப்புகிறது. அதன் பிறகு ஒவ்வொரு துண்டிலும் 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 நிலைக் குறியீடும் மாற்றப்படும்.
குரல் மற்றும் voice பாதைகள்
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 query தேவை. |
| குரல் உரிமை | நகலெடுக்கப்பட்ட அல்லது பதிவுசெய்யப்பட்ட குரல்கள் அவற்றை உருவாக்கிய நிறுவனத்திற்குச் சொந்தமானவை. வேறொரு உரிமையாளரின் குரலைப் பயன்படுத்தி தொகுக்கவோ நீக்கவோ முயன்றால் 403 வழங்கப்படும்; GET /voices பட்டியலிலும் உங்கள் சொந்தக் குரல்கள் மட்டுமே சேர்க்கப்படும். |
| அளவும் நேரமும் | கோரிக்கையின் அதிகபட்ச வரம்பு 28 MiB, மேலும் upstream அழைப்புக்கான நேர வரம்பு 5 நிமிடங்கள். |
| provider நெரிசல் | upstream நெரிசலாக இருந்தால் 409 அப்படியே அனுப்பப்படும்; Retry-After இருந்தால் அதன் மதிப்பும் சேர்த்து அனுப்பப்படும். கேட்வே மீண்டும் முயற்சிக்கவோ வரிசையில் சேர்க்கவோாது. |