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