Developer guide
एक नजरमा
एक नजरमा
यो दस्तावेज CLEVI विकासकर्ता दस्तावेजको सुरुवाती बिन्दु हो। यसमा Clevi-X-Platform को संरचना, API मार्फत कल गर्न सकिने दुई मोडल, प्रमाणीकरण विधि, तथा अनुरोध र प्रतिक्रियाका ढाँचाहरूलाई एकै ठाउँमा संक्षेप गरिएको छ। अनुरोध र प्रतिक्रियाले OpenAI Chat Completions ढाँचा पालना गर्ने भएकाले, विद्यमान OpenAI SDK मा base_url र api_key यी दुई मान मात्र परिवर्तन गरेर जडान गर्न सकिन्छ। स्थापना नगरी पहिलो कलसम्म पुग्ने प्रक्रिया Quick Start दस्तावेजमा छ।
प्लेटफर्म संरचना
Clevi-X-Platform ले मोडल, एजेन्ट, सिम्यान्टिक डेटाबेस र भौतिक AI लाई एउटै कार्यान्वयन वातावरणमा राख्छ। यीमध्ये विकासकर्ताले अहिले HTTP मार्फत प्रत्यक्ष कल गर्ने तह मोडल तह हो। बाँकी तहहरू प्लेटफर्मको आन्तरिक भाग र कन्सोलमा चल्छन्, र सार्वजनिक API तलको तालिकामा देखाइएको सीमासम्म उपलब्ध छ।
| तह | समेटिने कुरा | हालको सार्वजनिक दायरा |
|---|---|---|
| मोडल | पाठ र छवि इनपुट लिएर प्रतिक्रिया टोकन उत्पन्न गर्ने | chat completions एन्डपोइन्टमार्फत सार्वजनिक |
| एजेन्ट | उद्देश्य-केन्द्रित तर्क, उपकरण कल, चरणबद्ध आधार उत्पन्न गर्ने | कन्सोल र प्लेग्राउन्ड |
| सिम्यान्टिक DB | दस्तावेज·छवि·रेखाचित्र·व्यावसायिक डेटालाई अर्थगत एकाइमा जोड्ने | कन्सोल |
| भौतिक AI | रोबोटको गति योजना र पुनःयोजना बनाउने | स्थापना एकाइसँग परामर्श |
मोडल लाइनअप
अनुरोधको मुख्य भागमा रहेको model फिल्डमा तलका दुई नाममध्ये एउटालाई जस्ताको तस्तै राख्नुहोस्। दुवै मोडलले एउटै ठेगाना, एउटै प्रमाणीकरण र एउटै अनुरोध ढाँचा प्रयोग गर्छन्।
- cip-5.5-im
- cip-5.5-mm
| मोडल | विशेषता | इनपुट | मुख्य प्रयोग |
|---|---|---|---|
| cip-5.5-im | मल्टिमोडल खोज·ज्ञान निर्माण | पाठ, छवि, दस्तावेज, रेखाचित्र | अर्थमा आधारित खोज, ज्ञान जडान, रोबोटको गति योजनामा सहयोग |
| cip-5.5-mm | मल्टिमोडल तर्क | पाठ, छवि, मिश्रित सन्दर्भ | अनुसन्धान·विश्लेषणात्मक प्रश्न, उपकरण कल, बहु-चरणीय कार्य |
cip-5.5-im
कागजात, छविहरू, रेखाचित्रहरू तथा कार्यसम्बन्धी डेटालाई अर्थगत एकाइहरूमा जोडेर खोज परिणाम र ज्ञान संरचना सिर्जना गर्छ। Physical AI को योजना निर्माण र पुनःयोजना चरणमा इनपुटको व्याख्या गर्न पनि यही मोडल प्रयोग गरिन्छ। आन्तरिक पहिचानकर्ताका रूपमा RB-IM प्रयोग गरिन्छ, र API मा cip-5.5-im मात्र मान्य नाम हो।
cip-5.5-mm
पाठ, छविहरू र धेरै कागजातमा फैलिएको जटिल सन्दर्भलाई एकसाथ पढेर उत्तर सिर्जना गर्छ। उपकरण आह्वान र कार्यप्रवाह कार्यान्वयन समावेश हुने Agentic कामका लागि समायोजन गरिएको मोडल हो।
मोडल छनोट
| गर्न चाहेको काम | छान्ने मोडल |
|---|---|
| आन्तरिक कागजात र रेखाचित्रबाट प्रमाणित अनुच्छेद खोज्ने | cip-5.5-im |
| खोज परिणामहरूलाई अर्थका आधारमा जोडेर ज्ञानमा रूपान्तरण गर्ने | cip-5.5-im |
| रोबोट कार्ययोजनाका इनपुटको व्याख्या गर्ने | cip-5.5-im |
| छवि र पाठलाई सँगै पढेर निर्णय गर्ने | cip-5.5-mm |
| उपकरण आह्वान आवश्यक पर्ने बहुचरणीय काम | cip-5.5-mm |
| धेरै कागजातहरू समेटिएको विश्लेषणात्मक उत्तर तयार गर्ने | cip-5.5-mm |
अन्य मोडलहरू
प्लेटफर्ममा तलका मोडलहरू पनि उपलब्ध छन्। तिनको परिनियोजन स्वरूप र पहुँच मार्ग फरक भएकाले सार्वजनिक API नामहरू छुट्टै दिइएका छन्।
| मोडल | विशेषता |
|---|---|
| Cip-5-X | चरणबद्ध प्रमाण प्रस्तुत गर्ने मल्टिमोडल जटिल विश्लेषण मोडल |
| Cip-5-Agent | परिस्थितिअनुसार निर्णय लिने र दोहोरिने कामहरू सञ्चालन गर्ने एजेन्ट-विशेषीकृत तर्क मोडल |
| Cip-5-Vision | छवि, भिडियो, पाठ र समयशृङ्खलालाई सँगै व्याख्या गर्ने भिजन मोडल |
| Ivy-3-Text | साना उपकरण र एज वातावरणमा चल्ने अन-डिभाइस हल्का LLM |
| Ivy-4-mm | पाठ, छवि र आवाजलाई एकैसाथ प्रशोधन गर्ने ठूलो non-reasoning मोडल |
आधारभूत जानकारी र प्रमाणीकरण
कुञ्जीहरू वर्कस्पेसको आधारमा जारी गरिन्छन् र प्रत्येक अनुरोधमा Authorization हेडरमा Bearer का रूपमा थपिन्छन्। तलको तालिकाका छ वटा मानहरू भए पहिलो आह्वानका लागि आवश्यक सेटअप पूरा हुन्छ।
| वस्तु | मान |
|---|---|
| आधार URL | https://platform.clevi.net/api/services/v1/aiservice/openai/v1 |
| प्रमाणीकरण हेडर | Authorization: Bearer sk-... |
| अनुरोधको मुख्य भागको ढाँचा | application/json |
| अनुरोध·प्रतिक्रिया विनिर्देशन | OpenAI Chat Completions संगत |
| कल गर्न सकिने मोडेलहरू | cip-5.5-im, cip-5.5-mm |
| कुञ्जी जारी गर्ने स्क्रिन | https://clevi.app/cloud/keys |
तालिका र उदाहरणमा sk-... जारी गरिएको कुञ्जी राख्ने ठाउँ हो। तलको आदेशमार्फत यसलाई वातावरण चरमा राखेमा, तपाईंले यस कागजातका उदाहरणहरू जस्ताको तस्तै प्रतिलिपि गरेर चलाउन सक्नुहुन्छ।
export CLEVI_API_KEY="sk-..."POST /api/services/v1/aiservice/openai/v1/chat/completions
यसले सन्देशहरूको एरे र मोडेलको नाम प्राप्त गरी, मोडेलले सिर्जना गरेको एउटा सन्देशलाई choices एरेमा राखेर फिर्ता पठाउँछ। पूरा URL https://platform.clevi.net/api/services/v1/aiservice/openai/v1/chat/completions हो। messages मा कम्तीमा 1 वटा सन्देश वस्तु समावेश हुनुपर्छ, र प्रत्येक वस्तुमा role र content हुन्छ।
| नाम | ढाँचा | आवश्यक | विवरण |
|---|---|---|---|
| model | string | हो | cip-5.5-im वा cip-5.5-mm |
| messages | array | हो | वार्तालापका सन्देश वस्तुहरूको एरे। कम्तीमा 1 वटा |
| messages[].role | string | हो | system · user · assistant मध्ये एउटा |
| messages[].content | string | हो | सन्देशको मुख्य भाग |
| stream | boolean | होइन | true भएमा प्रतिक्रियालाई server-sent events का टुक्राहरूमा विभाजन गरेर प्राप्त गर्नुहुन्छ |
| max_tokens | integer | होइन | प्रतिक्रियामा सिर्जना गरिने अधिकतम टोकन संख्या |
| temperature | number | होइन | मान जति ठूलो हुन्छ, उही अनुरोधमा फरक प्रतिक्रिया आउने सम्भावना त्यति नै बढी हुन्छ |
curl https://platform.clevi.net/api/services/v1/aiservice/openai/v1/chat/completions \
-H "Authorization: Bearer $CLEVI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "cip-5.5-mm",
"messages": [
{"role": "system", "content": "사내 문서를 요약하는 도우미로 답한다."},
{"role": "user", "content": "이 API 의 인증 방식을 한 문장으로 설명해 줘."}
]
}'# 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/services/v1/aiservice/openai/v1",
)
completion = client.chat.completions.create(
model="cip-5.5-mm",
messages=[
{"role": "system", "content": "사내 문서를 요약하는 도우미로 답한다."},
{"role": "user", "content": "이 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/services/v1/aiservice/openai/v1",
});
const completion = await client.chat.completions.create({
model: "cip-5.5-mm",
messages: [
{ role: "system", content: "사내 문서를 요약하는 도우미로 답한다." },
{ role: "user", content: "이 API 의 인증 방식을 한 문장으로 설명해 줘." },
],
});
console.log(completion.choices[0].message.content);{
"id": "chatcmpl-7d21b4e0",
"object": "chat.completion",
"created": 1755500000,
"model": "cip-5.5-mm",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Authorization 헤더에 Bearer 와 발급받은 API 키를 넣어 인증합니다."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 38,
"completion_tokens": 24,
"total_tokens": 62
}
}प्रतिक्रिया फिल्डहरू
प्रतिक्रिया शीर्ष-स्तरका छवटा फिल्डहरूबाट बनेको हुन्छ। उत्पन्न गरिएको वाक्य choices array को पहिलो तत्वभित्र हुन्छ र टोकन प्रयोग usage मा हुन्छ।
| नाम | ढाँचा | विवरण |
|---|---|---|
| id | string | एउटा अनुरोधलाई जनाउने पहिचानकर्ता। त्रुटिबारे सोधपुछ गर्दा सँगै पठाउनुहोस् |
| object | string | chat.completion। स्ट्रिमिङ खण्डका लागि chat.completion.chunk |
| created | integer | प्रतिक्रिया सिर्जना गरिएको समयको Unix सेकेन्ड |
| model | string | प्रतिक्रिया सिर्जना गर्ने मोडेलको नाम |
| choices | array | उत्पन्न परिणामहरूको array |
| choices[].index | integer | array भित्रको क्रम संख्या। 0 बाट सुरु हुन्छ |
| choices[].message.role | string | assistant |
| choices[].message.content | string | उत्पन्न गरिएको प्रतिक्रियाको मुख्य भाग |
| choices[].finish_reason | string | उत्पादन रोकिनुको कारण। अन्त्यसम्म उत्पादन भएमा stop |
| usage.prompt_tokens | integer | इनपुटका रूपमा प्रयोग गरिएका टोकनहरूको संख्या |
| usage.completion_tokens | integer | उत्पादन गरिएका टोकनहरूको संख्या |
| usage.total_tokens | integer | माथिका दुई मानहरूको योग |
त्रुटि
असफल अनुरोधले HTTP स्थिति कोडमार्फत कारण बताउँछ। पहिले तलका उपायहरू जाँच गर्नुहोस्, र एउटै कोड दोहोरिएमा प्रतिक्रियाको id र अनुरोधको समय टिपोट गरेर राख्नुहोस्।
| कोड | अर्थ | उपाय |
|---|---|---|
| 400 | अनुरोधको मुख्य भागको ढाँचा सही छैन | model र messages छन् कि छैनन् र JSON बन्द गरिएको छ कि छैन जाँच गर्नुहोस् |
| 401 | कुञ्जी छैन वा मान्य छैन | हेडर Bearer बाट सुरु हुन्छ कि हुँदैन र कुञ्जीको मान जस्ताको तस्तै प्रतिलिपि गरिएको छ कि छैन जाँच गर्नुहोस् |
| 403 | यो कुञ्जीद्वारा पहुँच गर्न सकिँदैन | कुञ्जी जारी गर्ने workspace र अनुरोध गरिएको model को नाम जाँच गर्नुहोस् |
| 404 | पथ फेला परेन | ठेगानाको अन्त्य /v1/chat/completions छ कि छैन जाँच गर्नुहोस् |
| 429 | छोटो समयमा धेरै अनुरोधहरू आएका छन् | पुनः प्रयासबीचको अन्तराललाई प्रत्येक पटक दोब्बर बनाएर फेरि पठाउनुहोस् |
| 500 | सर्भर पक्षमा त्रुटि भएको छ | उही अनुरोध फेरि पठाउनुहोस् र बारम्बार दोहोरिएमा समर्थन टोलीलाई अनुरोध गरिएको समय दिनुहोस् |
डिप्लोयमेन्टको स्वरूप
उही model लाई क्लाउड API र अन-प्रिमाइस स्थापना गरी दुई तरिकाले प्रयोग गरिन्छ। अनुरोधको ढाँचा र प्रमाणीकरण विधि दुवै अवस्थामा समान हुन्छन्, तर ठेगाना र कुञ्जी व्यवस्थापन स्क्रिन फरक हुन्छन्।
| विषय | क्लाउड API | अन-प्रिमाइस |
|---|---|---|
| पूर्वनिर्धारित ठेगाना | platform.clevi.net | स्थापना गरिएको निजी नेटवर्कको ठेगाना |
| कुञ्जी जारी गर्ने स्थान | https://clevi.app/cloud/keys | स्थापना वातावरणको प्रशासक कन्सोल |
| प्रमाणीकरण विधि | Bearer टोकन | Bearer टोकन |
| डेटा भण्डारण स्थान | CLEVI क्लाउड | ग्राहकको पूर्वाधारभित्र |
डेटा सुशासन
प्लेटफर्मले तलका चारवटा कुरालाई पूर्वनिर्धारित सञ्चालनका रूपमा राख्छ। workspace विभाजन गर्ने मापदण्ड तय गर्दा यी कुराहरू पनि सँगै जाँच गर्नुहोस्।
- अधिकारमा आधारित नियन्त्रण — workspace को एकाइअनुसार पहुँच अधिकार र कुञ्जीहरू विभाजन गरिन्छ।
- पृथक कार्यक्षेत्र — workspace हरूबीच डेटा मिसिँदैन।
- वास्तविक-समय डेटा जडान — बाह्य प्रणालीसँग जोडिएको डेटा हेर्ने समयमा ल्याइन्छ।
- प्रक्रियाअनुसार अभिलेख संरक्षण — सञ्चालन गरिएका कार्यका एकाइअनुसार अभिलेख राखिन्छ।
सुरुवातको क्रम
पहिलो पटक जडान गर्दै हुनुहुन्छ भने, तलको क्रमअनुसार अघि बढ्नुहोस्। चरण ३ सम्म पूरा गरेपछि एउटै कुञ्जीबाट दुवै मोडेललाई कल गर्न सक्नुहुन्छ।
- https://platform.clevi.net/account/login मा लगइन गर्नुहोस् वा खाता बनाउनुहोस्।
- https://clevi.app/cloud मा वर्कस्पेस थप्नुहोस्।
- https://clevi.app/cloud/keys बाट कुञ्जी जारी गरी वातावरण चरमा सुरक्षित गर्नुहोस्।
- https://clevi.app/cloud/playground मा cip-5.5-im र cip-5.5-mm का प्रतिक्रियाहरू तुलना गर्नुहोस्।
- Quick Start दस्तावेजमा रहेको अनुरोधको उदाहरण प्रतिलिपि गरी पहिलो कल पठाउनुहोस्।
