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 તરીકે ઉમેરવામાં આવે છે. નીચેના કોષ્ટકમાં આપેલા છ મૂલ્યો સાથે પ્રથમ કૉલ માટે જરૂરી સેટિંગ પૂર્ણ થાય છે.
| આઇટમ | મૂલ્ય |
|---|---|
| મૂળ સરનામું | 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 એરેમાં મૂકી પરત કરે છે. સંપૂર્ણ સરનામું 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 એરેના પ્રથમ ઘટકમાં હોય છે, અને ટોકન વપરાશ usage માં હોય છે.
| નામ | ફોર્મેટ | વર્ણન |
|---|---|---|
| id | string | એક વિનંતીને દર્શાવતું ઓળખચિહ્ન. ભૂલ અંગે પૂછપરછ કરતી વખતે તેને પણ મોકલો |
| object | string | chat.completion. સ્ટ્રીમિંગ ભાગો માટે chat.completion.chunk |
| created | integer | રિસ્પોન્સ બનાવવામાં આવ્યો તે સમયનો Unix સેકન્ડ |
| model | string | રિસ્પોન્સ બનાવનાર મોડેલનું નામ |
| choices | array | જનરેટ થયેલા પરિણામોનું એરે |
| choices[].index | integer | એરેનાં અંદરનો ક્રમ. 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 | આ કીથી ઍક્સેસ કરી શકાતો નથી | કી જારી કરનાર વર્કસ્પેસ અને વિનંતી કરેલા મોડેલનું નામ તપાસો |
| 404 | પાથ અસ્તિત્વમાં નથી | સરનામાનો અંત /v1/chat/completions છે કે નહીં તે તપાસો |
| 429 | ટૂંકા સમયમાં ઘણી વિનંતીઓ આવી છે | ફરી પ્રયાસ વચ્ચેનું અંતર બમણું કરીને ફરી મોકલો |
| 500 | સર્વર તરફથી ભૂલ આવી છે | એ જ વિનંતી ફરી મોકલો અને સમસ્યા ચાલુ રહે તો સપોર્ટ ટીમને વિનંતીનો સમય જણાવો |
ડિપ્લોયમેન્ટના પ્રકારો
એ જ મોડેલનો ઉપયોગ ક્લાઉડ API અને ઑન-પ્રેમાઇસ ઇન્સ્ટોલેશન એમ બે રીતે થાય છે. વિનંતીનું ફોર્મેટ અને પ્રમાણીકરણની પદ્ધતિ બંને કિસ્સામાં સમાન છે, પરંતુ સરનામું અને કી મેનેજમેન્ટ સ્ક્રીન અલગ છે.
| આઇટમ | ક્લાઉડ API | ઑન-પ્રેમાઇસ |
|---|---|---|
| મૂળ સરનામું | platform.clevi.net | ઇન્સ્ટોલ કરેલા ખાનગી નેટવર્કનું સરનામું |
| કી જારી કરવી | https://clevi.app/cloud/keys | ઇન્સ્ટોલેશન પર્યાવરણનું એડમિન કન્સોલ |
| પ્રમાણીકરણની પદ્ધતિ | Bearer ટોકન | Bearer ટોકન |
| ડેટા સંગ્રહનું સ્થાન | CLEVI ક્લાઉડ | ગ્રાહકના ઇન્ફ્રાસ્ટ્રક્ચરની અંદર |
ડેટા ગવર્નન્સ
પ્લેટફોર્મ નીચેની ચાર બાબતોને મૂળભૂત વર્તન તરીકે રાખે છે. વર્કસ્પેસ વિભાજિત કરવાની રીત નક્કી કરતી વખતે આ બાબતો પણ તપાસો.
- અધિકાર આધારિત નિયંત્રણ — વર્કસ્પેસના આધારે ઍક્સેસ અધિકારો અને કીઓ અલગ પાડવામાં આવે છે.
- અલગ કાર્યસ્થળ — વર્કસ્પેસ વચ્ચે ડેટા ભળી જતો નથી.
- રીઅલ-ટાઇમ ડેટા કનેક્શન — બાહ્ય સિસ્ટમ સાથે જોડાયેલ ડેટા 조회ના સમયે લાવવામાં આવે છે.
- પ્રક્રિયા મુજબ રેકોર્ડ જાળવણી — ચલાવવામાં આવેલા કાર્યના એકમ પ્રમાણે રેકોર્ડ રાખવામાં આવે છે.
પ્રારંભનો ક્રમ
પ્રથમ વખત કનેક્ટ કરી રહ્યા હો, તો નીચેના ક્રમમાં આગળ વધો. પગલું 3 પૂર્ણ કર્યા પછી, તમે એક જ કી વડે બંને મોડલને કૉલ કરી શકશો.
- 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 દસ્તાવેજમાં આપેલું વિનંતીનું ઉદાહરણ કૉપિ કરીને પ્રથમ કૉલ મોકલો.
