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ообаДиалог билдирүүлөрүнүн объекттеринин массиви. Кеминде 1
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 статус коду аркылуу билдирет. upstream 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 менен бүтөрүн текшериңиз
429upstream провайдери ылдамдык чектөөсүн койдуRetry-After баш сабы болсо, көрсөтүлгөн убакытча күтүп, ал жок болсо кайра аракет кылуулардын аралыгын эки эсеге көбөйтүп кайра жөнөтүңүз
5xxШлюзда же upstream тарапта убактылуу катаКайра аракет кылуулардын аралыгын эки эсеге көбөйтүп кайра жөнөтүңүз, кайталанса, X-Request-Id менен жардам жана байланыш бөлүмдөрү аркылуу кабарлаңыз

402 кайтарылбайт. Кредиттин жетишсиздиги жана колдонуу чегинен ашуу 403 катары келет. Катанын денеси төмөнкү форматта болот, ал эми себеп error.message ичинде камтылат.

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

Суроо-талапка X-Request-Id баш сабын кошсоңуз, байланышканда ошол маани аркылуу көзөмөлдөөгө болот. Жөнөтүлбөсө, аны сервер берет.

Кийинки кадам

Моделдин аталышын жана параметрлерин өзгөртүп, натыйжаларды салыштыруу үчүн Playground колдонуңуз. Ачкычтарды түзүү же жокко чыгаруу API ачкычтары бөлүмүндө жүргүзүлөт. Андан ары окуу үчүн төмөнкү документтерди караңыз.

  • Моделдер: моделдердин толук тизмеси, ар бир моделдин спецификациялары жана уруксат берилген чакыруулар
  • API чакыруу: Anthropic менен шайкеш жол, эмбеддинг жана үн жолдору, агымдык берүү эрежелери
  • Ката коддору: бардык статус коддорунун таблицасы жана кайра аракет кылуу эрежелери

Playground'ду ачуу

API ачкычтарын башкаруу

CLEVI

Тил жана аймак

Машина аркылуу которулган тилдер белгиленген. Жеткиликтүүлүк жарыяланган сайт топтомуна жараша болот.

136 тил

Сунушталат

1

Чыгыш Азия

7

Түштүк-Чыгыш Азия

11

Түштүк Азия

18

Борбор Азия

5

Жакынкы Чыгыш жана Кавказ

10

Батыш Европа жана Түштүк Европа

16

Улуу Британия жана Ирландия

4

Түндүк Европа

10

Борбордук Европа жана Балкан

14

Чыгыш Европа

5

Чыгыш Африка

8

Батыш Африка жана Борбордук Африка

9

Түштүк Африка

8

Америка

5

Океания

5