Developer guide

Jalqaba saffisaa

Jalqaba saffisaa

Dokumantiin kun akkamitti furtuu API CLEVI argachuun gaaffii jalqabaa erguu fi deebii argachuu akka dandeessan ibsa. Teessoo tokkoo fi furtuu tokko qofaan cip-5.5-im fi cip-5.5-mm waamuun ni danda’ama; gaaffii fi deebiin bifa OpenAI Chat Completions hordofu. Kanaaf, OpenAI SDK itti fayyadamaa turtan keessatti gatiiwwan base_url fi api_key qofa jijjiiruun ga’a. Daandiiwwan SDK Anthropic fi daandiiwwan embedding·sagalee dokumantii API waamuu keessatti argamu.

Furtuu API argachuu

Furtuun kan kennamu fuula furtuu API konsolii CLEVI Cloud irraa. Fuulauma sana irratti furtuu balleessuu fi daangaa itti fayyadamaa bulchuu dandeessu. Tartiiba armaan gadii hordofuudhaan furtuu tokko gaaffii keessatti fayyadamu argattu.

  1. https://platform.clevi.net/account/login irratti seenaa yookaan akkaawuntii uumi.
  2. https://clevi.app/cloud irratti workspace dabali.
  3. Gara https://clevi.app/cloud/keys deemi.
  4. Furtuu haaraa uumiitii gatii isaa kooppii godhi.
  5. Gatii kooppii goote sana jijjiiramaa naannoo keessatti kuusi.

Bakka sk-... fakkeenya dokumantii kana keessatti mul’atutti furtuu argatte galchi. Ajaja armaan gadiitiin jijjiiramaa naannoo keessatti kuusuun fakkeenyota itti aanan akkuma jiranitti kooppii gootee raawwachuu dandeessa.

export CLEVI_API_KEY="sk-..."

Moodeela filachuu

Maqaa armaan gadii akkuma jirutti dirree model qaama gaaffii keessatti galchi. Moodeelonni lamaan teessoo fi bifa gaaffii tokko fayyadamu; barruu fi suuraa akka galtee fudhatu.

  • cip-5.5-im
  • cip-5.5-mm
Eenyummaa moodeelichaaHammamtaaDaangaa galteeBa’ii olaanaaHojiiwwan itti mijatan
cip-5.5-im360B256K64KHojiiwwan kaayyoo fi daangaan isaanii ifa ta’e. Saffisa deebii fi baay’ina adeemsaa dursa kennuuf.
cip-5.5-mm800B512K64KHojiiwwan walxaxoo odeeffannoo fi haalota hedduu walitti makaman. Qorannoo haala dheeraa fi ejentiiwwan sadarkaa hedduu qabuuf fayyada.

Moodeelonni dhugumaan akkaawuntii keessan irraa waamamuu danda’an tarree moodeelotaa Playgound keessa jiru fi deebii GET /models irratti hundaa’u. Tarreen moodeelotaa guutuu fi waamicha moodeela tokkoon tokkoon isaatiif hayyamame dokumantii moodeelotaa keessatti argama; baay’inni krediitii tilmaamaan hir’atu immoo fuula itti fayyadama konsolii irratti argama.

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

Tarree ergaa fi maqaa moodeelichaa fudhatee, ergaa moodeelichi uume tarree choices keessatti galchee deebisa. Teessoon guutuun https://platform.clevi.net/api/v2/aiservice/openai/v1/chat/completions dha. Qaamni gaaffii application/json dha; mirkaneessi immoo mataduree Authorization keessatti, duriitti Bearer fi furtuu kaa'uun raawwatama. Furtuu mataduree X-API-Key tiinis erguun ni danda'ama; matadureewwan lamaan yoo kaa'aman, gatiin X-API-Key dursa qabaata.

Qajajeelcha gaaffii
MaqaaFakkiiDirqamaIbsa
modelstringEeyyeecip-5.5-im ykn cip-5.5-mm
messagesarrayEeyyeeTarree wantoota ergaa haasa'aa. Yoo xiqqaate 1
messages[].rolestringEeyyeesystem · user · assistant keessaa tokko
messages[].contentstringEeyyeeQaama ergaa
streambooleanLakkiYoo true ta'e, deebiin gara ciccitaawwan Server-Sent Events tti qoodamee fudhatama
max_tokensintegerLakkiBaay'ina tokenii ol'aanaa deebii keessatti uumamu
temperaturenumberLakkiGatiin yoo guddate, gaaffii walfakkaataa keessatti deebiiwwan garaagaraa argamuun carraa isaa ni dabala
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);

Kun fakkeenya deebii ti. Gatiin id, created fi usage gaaffii hunda irratti garaagaraa dha.

{
  "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 SDKn waamuu

base_url OpenAI SDK gara https://platform.clevi.net/api/v2/aiservice/openai/v1 jijjiiriitii api_key keessatti furtuu CLEVI kaa'i. Koodiin waamichaa hafes akkuma jirutti dhiisi.

# 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);

Akka yaa'insaatti fudhachuu

Yeroo ati stream gara true tti qaama gaaffii keessatti kaa’tu, sarvariin Server-Sent Events fayyadamuun deebii kenna. Kutaa jalqabaa wajjin, matootni Content-Type: text/event-stream, Cache-Control: no-cache, fi X-Accel-Buffering: no ni ergamu; sana booda, kutaa hunda keessatti wanti chat.completion.chunk ta’e sarara data: keessatti hammata. Sararri dhumaa data: [DONE] dha. Fakkeenyonni Python fi TypeScript armaan gadii client kutaa darbe keessatti uumame akkuma jirutti fayyadamu.

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 ?? "");
}

Kun fakkeenya kutaa ti.

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]

Yeroo tamsaasa keessatti dogoggorri yoo uumame, JSON dogoggoraa wal fakkaataan sarara data: tokkoon dhufa; koodiin haala HTTPs immoo waliin jijjiirama.

Dogoggora

Gaaffiin kufe sababaa isaa koodii haala HTTP tiin beeksisa. Yoo 업스트림’n 4xx ykn 5xx deebise, koodii sana akkuma jirutti dabarsina. Jalqaba tarkaanfiiwwan gabatee armaan gadii ilaali; koodiin wal fakkaataan yoo irra deddeebi’amee mul’ate, yeroo gaaffii, qaama ergite, fi X-Request-Id galmeessi.

Koodii haala HTTP
KoodiiHiikaTarkaanfii
400Qaamni gaaffii bifa sirrii hin qabumodel fi messages jiraachuu isaanii, akkasumas JSON cufamuu isaa mirkaneessi
401Furtuun hin jiru, yookaan furtuu yeroon isaa darbe ykn haqame dhaHaala furtuu fuula API keys irratti mirkaneessi, akkasumas matadureen Authorization Bearer jedhuun jalqabamuu isaa qoradhu
403Hayyamni modelitti seenuu hin jiru, daangaa itti fayyadamaa ol geesse, yookaan kreeditii gahaa hin jiruSababa isaa error.message irraa mirkaneessi. Daangaa Assigned usage limits keessaa Overview irratti, baaqii fi pilaanii immoo Plans and credits keessaa ilaali
404Model hin jiru, yookaan furtuu kanaan itti seenuu hin dandeessu, yookaan daandiin hin jiruMaqaan model deebii GET /models keessatti jiraachuu isaa, akkasumas teessoon /api/v2/aiservice/openai/v1/chat/completions irratti xumuramuu isaa mirkaneessi
429Dhiyeessaan upstream daangaa saffisaa kaa'eeraYoo matadureen Retry-After jiraate, yeroo sana hamma eegi; yoo hin jirre, yeroo irra deebii erguu dachaa dachaan dheeressiitii irra deebi'ii ergi
5xxDogoggora yeroo gabaabaa gateway ykn upstream tiYeroo irra deebii erguu dachaa dachaan dheeressiitii irra deebi'ii ergi; yoo irra deddeebi'ame, X-Request-Id waliin Help fi Contact us irratti beeksisi

402 hin deebifamu. Kreeditii gahaa dhabuu fi daangaa itti fayyadamaa ol darbuun 403 ta'ee dhufa. Qaamni dogoggoraa bifa armaan gadiiti; sababni isaa error.message keessa jira.

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

Yoo mataduree X-Request-Id gaaffii keessatti dabaltu, yeroo nu qunnamtu gatii sanaan hordofna. Yoo hin ergine, sarvarichi ni baasa.

Tarkaanfii itti aanu

Maqaa modelii fi parameetiroota jijjiiruun bu'aa walbira qabuun Playground keessatti raawwatama. Furtuu haaraa uumuu ykn haqachuun fuula API keys irratti raawwatama. Sanadoonni itti aansee dubbifaman kunooti.

  • Models: Tarree modeloota guutuu, ibsa modelii tokkoon tokkoo fi waamicha hayyamame
  • Make API calls: Daandii Anthropic waliin walsimu, daandii embedding fi sagalee, akkasumas seera streaming
  • Error codes: Gabatee koodota haalaa guutuu fi seera irra deebii erguu

Playground bani

API keys bulchi

CLEVI

Afaanii fi naannoo

Afaanonni maashiniin hiikaman mallatteeffamaniiru. Argamuun isaanii akka tuuta marsariitii maxxanfametti hordofa.

Afaanota 136

Kan gorfame

1

Eeshiyaa Bahaa

7

Kibba baha Eeshiyaa

11

Eeshiyaa Kibbaa

18

Eeshiyaa Gidduugaleessaa

5

Bahaa Giddu Galeessaa fi Kaakaasas

10

Awurooppaa Dhihaa and Awurooppaa Kibbaa

16

United Kingdom and Ayeerlaand

4

Awurooppaa Kaabaa

10

Awurooppaa Giddu Galeessaa fi Balkaan

14

Awurooppaa Bahaa

5

Afrikaa Bahaa

8

Afrikaa Dhihaa and Afrikaa Gidduugaleessaa

9

Kibba Afrikaa

8

Ameerikaa

5

Oshiiniyaa

5