Developer guide

त्वरित शुरुआत

त्वरित शुरुआत

ई दस्तावेज CLEVI API कुंजी प्राप्त कऽ पहिल अनुरोध पठेबाक आ उत्तर पाबि धरि के प्रक्रिया बतबैत अछि। एकटा पता आ एकटा कुंजी सँ cip-5.5-im आ cip-5.5-mm केँ कॉल कएल जाइत अछि। अनुरोध आ उत्तर OpenAI Chat Completions प्रारूपक पालन करैत अछि, तें अपन उपयोगमे रहल OpenAI SDK मे base_url आ api_key ई दूटा मान मात्र बदलनाइ पर्याप्त अछि। Anthropic SDK लेल पथ आ एम्बेडिंग·आवाजक पथ API कॉल करबाक दस्तावेजमे अछि।

API कुंजी प्राप्त करू

कुंजी CLEVI Cloud कंसोलक API कुंजी पृष्ठ सँ प्राप्त करू। ओहि पृष्ठ सँ कुंजी रद्द कऽ सकैत छी आ उपयोगक दायरा प्रबंधित कऽ सकैत छी। नीचाँ देल क्रम सँ आगू बढ़ला पर अनुरोधमे उपयोग करबाक एकटा कुंजी भेटत।

  1. https://platform.clevi.net/account/login पर लॉग इन करू अथवा खाता बनाउ।
  2. https://clevi.app/cloud पर कार्यक्षेत्र जोड़ू।
  3. https://clevi.app/cloud/keys पर जाउ।
  4. नव कुंजी प्राप्त कऽ ओकर मान कॉपी करू।
  5. कॉपी कएल मान केँ वातावरण चरमे सहेजू।

ई दस्तावेजक उदाहरणमे देखाओल sk-... क स्थान पर प्राप्त कएल कुंजी राखू। नीचाँक कमांड सँ एकरा वातावरण चरमे सहेजि देलासँ आगूक उदाहरण सभ जकाँक तैना कॉपी कऽ चला सकैत छी।

export CLEVI_API_KEY="sk-..."

मॉडल चुनू

अनुरोधक मुख्य भागक model फ़ील्डमे नीचाँ देल नाम जकाँक तैना राखू। दुनू मॉडल एक्कहि पता आ एक्कहि अनुरोध प्रारूपक उपयोग करैत अछि आ पाठ आ छवि केँ इनपुटक रूपमे ग्रहण करैत अछि।

  • cip-5.5-im
  • cip-5.5-mm
मॉडल IDआकारइनपुट सीमाअधिकतम आउटपुटउपयुक्त काज
cip-5.5-im360B256K64Kजाहिमे लक्ष्य आ दायरा स्पष्ट हो। उत्तरक गति आ प्रोसेसिंग क्षमता केँ प्राथमिकता दैत अछि।
cip-5.5-mm800B512K64Kबहुतेक सामग्री आ शर्तक समेकन करनिहार जटिल काज। दीर्घ संदर्भ विश्लेषण आ बहु-चरणीय एजेंट लेल उपयोग करू।

खातामे वास्तवमे कॉल कऽ सकनिहार मॉडल लेल प्लेग्राउंडक मॉडल सूची आ GET /models क उत्तर आधार मानल जाइत अछि। पूर्ण मॉडल सूची आ प्रत्येक मॉडल लेल अनुमत कॉल मॉडल दस्तावेजमे, आ अपेक्षित कटौती क्रेडिट कंसोलक उपयोग पृष्ठ पर अछि।

POST /api/v2/aiservice/openai/v1/chat/completions

မက်ဆေ့ချ်အခင်းအကျင်းနှင့် မော်ဒယ်အမည်ကို လက်ခံပြီး မော်ဒယ်မှ ထုတ်လုပ်သော မက်ဆေ့ချ်ကို choices အခင်းအကျင်းအတွင်း ထည့်သွင်းကာ ပြန်ပေးပါသည်။ လိပ်စာအပြည့်အစုံမှာ https://platform.clevi.net/api/v2/aiservice/openai/v1/chat/completions ဖြစ်ပါသည်။ တောင်းဆိုမှုကိုယ်ထည်မှာ application/json ဖြစ်ပြီး၊ အထောက်အထားစစ်ဆေးမှုအတွက် Authorization ခေါင်းစီးတွင် Bearer ရှေ့ဆက်စာလုံးနှင့် ကီးကို ထည့်ပါသည်။ X-API-Key ခေါင်းစီးဖြင့်လည်း ကီးကို ပေးပို့နိုင်ပြီး၊ ခေါင်းစီးနှစ်ခုလုံးကို သတ်မှတ်ပါက X-API-Key တန်ဖိုးကို ဦးစားပေးအသုံးပြုပါသည်။

တောင်းဆိုမှု ပါရာမီတာများ
အမည်ပုံစံလိုအပ်သည်ဖော်ပြချက်
modelstringဟုတ်သည်cip-5.5-im သို့မဟုတ် cip-5.5-mm
messagesarrayဟုတ်သည်စကားဝိုင်း မက်ဆေ့ချ်အရာဝတ္ထုများ၏ အခင်းအကျင်း။ အနည်းဆုံး ၁ ခု
messages[].rolestringဟုတ်သည်system · user · assistant တို့အနက် တစ်ခု
messages[].contentstringဟုတ်သည်မက်ဆေ့ချ် ကိုယ်ထည်
streambooleanမဟုတ်ပါtrue ဖြစ်ပါက တုံ့ပြန်မှုကို Server-Sent Events အပိုင်းများအဖြစ် ခွဲ၍ လက်ခံရရှိပါသည်
max_tokensintegerမဟုတ်ပါတုံ့ပြန်မှုအဖြစ် ထုတ်လုပ်မည့် အများဆုံး တိုကင်အရေအတွက်
temperaturenumberမဟုတ်ပါတန်ဖိုးကြီးလေလေ တောင်းဆိုမှုတစ်ခုတည်းတွင် မတူညီသော တုံ့ပြန်မှုများ ရရှိနိုင်ခြေ ပိုများလေလေ ဖြစ်ပါသည်
curl https://platform.clevi.net/api/v2/aiservice/openai/v1/chat/completions \
  -H "Authorization: Bearer $CLEVI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "cip-5.5-im",
    "messages": [
      {"role": "user", "content": "CLEVI API를 한 문장으로 설명해 줘."}
    ]
  }'
import os
import requests

url = "https://platform.clevi.net/api/v2/aiservice/openai/v1/chat/completions"

response = requests.post(
    url,
    headers={"Authorization": f"Bearer {os.environ['CLEVI_API_KEY']}"},
    json={
        "model": "cip-5.5-im",
        "messages": [{"role": "user", "content": "CLEVI API를 한 문장으로 설명해 줘."}],
    },
    timeout=60,
)

print(response.json()["choices"][0]["message"]["content"])
const url =
  "https://platform.clevi.net/api/v2/aiservice/openai/v1/chat/completions";

const response = await fetch(url, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.CLEVI_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "cip-5.5-im",
    messages: [{ role: "user", content: "CLEVI API를 한 문장으로 설명해 줘." }],
  }),
});

const data = await response.json();
console.log(data.choices[0].message.content);

တုံ့ပြန်မှု နမူနာဖြစ်ပါသည်။ id၊ created နှင့် usage တန်ဖိုးများသည် တောင်းဆိုမှုတိုင်းအလိုက် ကွဲပြားပါသည်။

{
  "id": "chatcmpl-3f0a9c72",
  "object": "chat.completion",
  "created": 1755500000,
  "model": "cip-5.5-im",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "CLEVI API는 주소 하나로 여러 모델을 호출하는 채팅 완료 API입니다."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 21,
    "completion_tokens": 19,
    "total_tokens": 40
  }
}

OpenAI SDK ဖြင့် ခေါ်ဆိုခြင်း

OpenAI SDK ၏ base_url ကို https://platform.clevi.net/api/v2/aiservice/openai/v1 သို့ ပြောင်းပြီး api_key တွင် CLEVI ကီးကို ထည့်ပါ။ ကျန်ခေါ်ဆိုမှုကုဒ်ကို မပြောင်းလဲဘဲ ထားပါ။

# pip install openai
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["CLEVI_API_KEY"],
    base_url="https://platform.clevi.net/api/v2/aiservice/openai/v1",
)

completion = client.chat.completions.create(
    model="cip-5.5-mm",
    messages=[{"role": "user", "content": "CLEVI API를 한 문장으로 설명해 줘."}],
)

print(completion.choices[0].message.content)
// npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.CLEVI_API_KEY,
  baseURL: "https://platform.clevi.net/api/v2/aiservice/openai/v1",
});

const completion = await client.chat.completions.create({
  model: "cip-5.5-mm",
  messages: [{ role: "user", content: "CLEVI API를 한 문장으로 설명해 줘." }],
});

console.log(completion.choices[0].message.content);

စီးကြောင်းဖြင့် လက်ခံရရှိခြင်း

अनुरोधको मुख्य भागमा stream लाई true राख्दा सर्भरले Server-Sent Events मार्फत प्रतिक्रिया दिन्छ। पहिलो खण्डसँगै Content-Type: text/event-stream, Cache-Control: no-cache, X-Accel-Buffering: no हेडरहरू पठाइन्छन्, र त्यसपछि प्रत्येक खण्डमा data: लाइनमा chat.completion.chunk वस्तु समावेश हुन्छ। अन्तिम लाइन data: [DONE] हो। तलका Python र TypeScript उदाहरणहरूले अघिल्लो खण्डमा बनाइएको client लाई जस्ताको तस्तै प्रयोग गर्छन्।

curl -N https://platform.clevi.net/api/v2/aiservice/openai/v1/chat/completions \
  -H "Authorization: Bearer $CLEVI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "cip-5.5-im",
    "messages": [{"role": "user", "content": "CLEVI API를 한 문장으로 설명해 줘."}],
    "stream": true
  }'
stream = client.chat.completions.create(
    model="cip-5.5-im",
    messages=[{"role": "user", "content": "CLEVI API를 한 문장으로 설명해 줘."}],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="")
const stream = await client.chat.completions.create({
  model: "cip-5.5-im",
  messages: [{ role: "user", content: "CLEVI API를 한 문장으로 설명해 줘." }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

यो खण्डको उदाहरण हो।

data: {"id":"chatcmpl-3f0a9c72","object":"chat.completion.chunk","model":"cip-5.5-im","choices":[{"index":0,"delta":{"content":"CLEVI"},"finish_reason":null}]}

data: {"id":"chatcmpl-3f0a9c72","object":"chat.completion.chunk","model":"cip-5.5-im","choices":[{"index":0,"delta":{"content":" API는"},"finish_reason":null}]}

data: {"id":"chatcmpl-3f0a9c72","object":"chat.completion.chunk","model":"cip-5.5-im","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

स्ट्रिमिङको क्रममा त्रुटि आएमा उही त्रुटि JSON data: को एउटै लाइनमा आउँछ र HTTP स्थिति कोड पनि त्यसअनुसार परिवर्तन हुन्छ।

त्रुटि

असफल अनुरोधहरूले HTTP स्थिति कोडमार्फत कारण जनाउँछन्। अपस्ट्रीमले 4xx·5xx फर्काएमा त्यही कोड जस्ताको तस्तै पठाइन्छ। पहिले तलको तालिकामा दिइएको उपाय जाँच गर्नुहोस्, र उही कोड दोहोरिएमा अनुरोधको समय, पठाइएको मुख्य भाग र X-Request-Id सुरक्षित राख्नुहोस्।

HTTP स्थिति कोड
कोडअर्थउपाय
400अनुरोधको मुख्य भाग ढाँचासँ मेल नहि खाइत अछिmodel आ messages अछि कि नहि, JSON बन्द भेल अछि कि नहि जाँच करू
401कुंजी नहि अछि अथवा म्याद समाप्त वा रद्द भेल कुंजी अछिAPI कुंजी पृष्ठ पर कुंजीक स्थिति जाँच करू, आ Authorization हेडर Bearer सँ शुरू होइत अछि कि नहि देखू
403मॉडल पर पहुँचके अनुमति नहि अछि, उपयोग सीमा पार भऽ गेल अछि, अथवा क्रेडिट अपर्याप्त अछिerror.message मे कारण जाँच करू। सीमा अवलोकनक आबंटित उपयोग सीमामे, आ शेष राशि आ प्लान प्लान आ क्रेडिटमे देखू
404मॉडल नहि अछि, अथवा एहि कुंजीसँ पहुँच नहि भऽ सकैत अछि, अथवा मार्ग नहि अछिGET /models केर प्रतिक्रियामे मॉडल नाम अछि कि नहि, आ पता /api/v2/aiservice/openai/v1/chat/completions पर समाप्त होइत अछि कि नहि जाँच करू
429अपस्ट्रीम प्रदातासँ गति सीमा लागू कएल गेल अछिRetry-After हेडर रहए तँ ओहि समय धरि प्रतीक्षा करू, नहि रहए तँ पुनः प्रयासक अन्तरालके दुगुना करैत फेर पठाउ
5xxगेटवे अथवा अपस्ट्रीमक अस्थायी त्रुटि अछिपुनः प्रयासक अन्तरालके दुगुना करैत फेर पठाउ, आ बारम्बार हो तँ सहायता आ सम्पर्कक माध्यमसँ X-Request-Id सहित सूचित करू

402 लौटाओल नहि जाइत अछि। क्रेडिटक कमी आ उपयोग सीमा पार होयब 403 केर रूपमे अबैत अछि। त्रुटिक मुख्य भाग नीचाँ देल प्रारूपमे अछि आ error.message मे कारण होइत अछि।

{"error":{"message":"API key is required.","type":"invalid_request_error"}}

अनुरोधमे X-Request-Id हेडर जोड़ि देलासँ सम्पर्क करैत समय ओहि मानसँ ट्रैक कएल जाइत अछि। नहि पठेलासँ सर्वर स्वयं जारी करैत अछि।

अगिला चरण

मॉडल नाम आ पैरामीटर बदलि-बदलि कऽ परिणामक तुलना प्लेग्राउंडमे करू। नव कुंजी बनायब अथवा रद्द करब API कुंजी पृष्ठ पर करू। आगाँ पढ़बाक दस्तावेज सभ निम्नलिखित अछि।

  • मॉडल: सम्पूर्ण मॉडल सूची आ प्रत्येक मॉडलक विनिर्देश, अनुमत कॉल
  • API कॉल करब: Anthropic-संगत मार्ग, एम्बेडिंग आ ध्वनि मार्ग, स्ट्रीमिंगक नियम
  • त्रुटि कोड: सम्पूर्ण स्थिति कोडक तालिका आ पुनः प्रयासक नियम

प्लेग्राउंड खोलू

API कुंजी प्रबन्धन

CLEVI

भाषा आ क्षेत्र

मशीन द्वारा अनुवादित भाषासभ चिह्नित अछि। उपलब्धता प्रकाशित साइट बंडल पर निर्भर करैत अछि।

136 भाषा

अनुशंसित

1

पूरबी एशिया

7

दक्षिण-पूरबी एशिया

11

दक्षिणी एशिया

18

मध्य एशिया

5

मध्य पूर्व आ काकेशस

10

पश्चिमी यूरोप और दक्षिणी यूरोप

16

यूनाइटेड किंगडम और आयरलैंड

4

उत्तरी यूरोप

10

मध्य यूरोप आ बाल्कन

14

पूरबी यूरोप

5

पूरबी अफ्रीका

8

पश्चिमी अफ्रीका और मध्य अफ्रीका

9

दक्षिणी अफ्रीका

8

अमेरिका

5

ओसेनिया

5