Developer guide

Шуурхай эхлүүлэх

Шуурхай эхлүүлэх

Энэ баримт бичигт CLEVI API түлхүүр авч, эхний хүсэлтийг илгээж, хариу авах хүртэлх үйл явцыг тайлбарлана. Нэг хаяг болон нэг түлхүүр ашиглан cip-5.5-im болон cip-5.5-mm-г дуудна. Хүсэлт болон хариу нь OpenAI Chat Completions форматыг дагадаг тул ашигладаг OpenAI SDK-д base_url болон api_key гэсэн хоёр утгыг л өөрчлөхөд хангалттай. Anthropic SDK-д зориулсан зам болон embedding·voice замуудыг 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 төлөвийн кодоор мэдээлнэ. Дээд талын үйлчилгээ 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-тэй нийцтэй зам, embedding болон дуу хоолойны зам, стримингийн дүрэм
  • Алдааны код: Бүх төлөвийн кодын хүснэгт болон дахин оролдох дүрэм

Тоглоомын талбарыг нээх

API түлхүүрүүдийг удирдах

CLEVI

Хэл, бүс нутаг

Машинаар орчуулсан хэлүүдийг тэмдэглэсэн. Боломжтой байдал нь нийтэлсэн сайтын багцыг дагана.

136 хэл

Санал болгосон

1

Зүүн Ази

7

Зүүн өмнөд Ази

11

Өмнөд Ази

18

Төв Ази

5

Ойрхи Дорнод ба Кавказ

10

Баруун Европ, Өмнөд Европ

16

Их Британи, Ирланд

4

Хойд Европ

10

Төв Европ ба Балкан

14

Зүүн Европ

5

Зүүн Африк

8

Баруун Африк, Төв Африк

9

Өмнөд Африк тив

8

Америк

5

Номхон далайн орнууд

5