Kontentga o'tish
Umumiy ko‘rinish

Umumiy ko‘rinish

API xaritasi: har bir endpoint, so'rov va xato qanday ko'rinishi, chaqiruvlar uchun qanday to'lanishi hamda OpenAI yoki Anthropic SDK'dan kelganda nimani bilish kerakligi.

Endpointlar

Har bir endpoint bitta base URL ostida va HTTPS orqali xizmat ko'rsatadi.

Base URL
https://api.shannon-ai.com
Endpoint Format Nima uchun
POST /v1/chat/completions OpenAI Chat Completions Suhbatni yuboring, keyingi javobni oling. Streaming bilan yoki usiz.
POST /v1/messages Anthropic Messages Xuddi shu, Anthropic SDK'larining so'rov va javob shakllarida.
POST /v1/responses OpenAI Responses Xuddi shu, Responses shakllarida. Endpoint holat saqlamaydi: suhbatni har bir so'rov bilan yuboring.
GET /v1/models OpenAI model ro'yxati Modellarni kontekst oynasi, narxlar va imkoniyatlari bilan sanab chiqing. Kalit kerak emas.
POST /v1/tokenize Shannon API Xostingdagi open-weight model uchun matn yoki chat so'rovi tokenlarini sanang. Bepul.
POST /v1/messages/count_tokens Anthropic token sanash Xostingdagi open-weight model uchun Messages so'rovining kirish tokenlarini sanang. Bepul.

Matn hosil qiladigan uchta endpoint bir xil modellarga yetadi. Kodingiz allaqachon ishlatadigan formatdagisini tanlang.

So'rov asoslari

Sarlavha Tavsif
Authorization: Bearer <key> API kalitingiz. x-api-key yubormasangiz, GET /v1/modelsdan tashqari har bir endpointda majburiy.
x-api-key: <key> Anthropic SDK'lar yuboradigan sarlavhada xuddi shu kalit. Har bir endpointda o'qiladi.
Content-Type: application/json Har bir POST da majburiy. Usiz javob 415.
x-request-id: <your id> Ixtiyoriy. So'rov uchun o'zingizning id'ingiz; u x-request-id javob sarlavhasida qaytadi. Bo'lmasa API 12 ta o'n oltilik belgidan iborat id yaratadi.
  • Har bir POST tanasi bitta JSON obyekti, 32 MiB gacha.
  • API bilmaydigan maydon xatoga olib kelmaydi va ta'siri yo'q. Boshqa provayder uchun yozilgan so'rov ortiqcha maydon tufayli muvaffaqiyatsiz bo'lmaydi.
  • Noto'g'ri JSON turidagi ma'lum maydon yoki yo'q majburiy maydonga 422 bilan javob beriladi. Yaroqli JSON bo'lmagan tanaga 400 bilan javob beriladi.
  • model — Modellar va narxlar sahifasidagi id'lardan biri. Katta va kichik harflar ahamiyatsiz.

Javob JSON yoki so'rov streamni true qilganda server-sent events oqimi. Har bir endpoint o'z formatida javob beradi. Har bir javobda x-request-id sarlavhasi bor.

So'rov nimalardan o'tadi

So'rov model ishga tushishidan oldin qat'iy tartibda tekshiriladi. Muvaffaqiyatsiz bo'lgan birinchi tekshiruv javob beradi, shuning uchun 401 tana haqida hali hech narsa aytmaydi.

Xato shakli

Xato — type va messageni o'z ichiga olgan errorli JSON obyekti. /v1/messages uni Anthropic SDK'lar kutganidek o'raydi; boshqa har bir yo'l OpenAI shaklidan foydalanadi.

{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: gpt-4o"
  }
}
  • type va messageni o'qing. code va param faqat ba'zi xatolarda bor: ularni ixtiyoriy deb hisoblang. param doim null.
  • Oqim boshlangandan keyin holat allaqachon 200. Nosozlik keyin oqim ichida xato freymi sifatida keladi.
  • Har bir xato javobi x-request-id sarlavhasini olib keladi.
Holat Tur Qachon
400 invalid_request_error Tana yaroqli JSON emas, model id noma'lum yoki model siz yuborgan kirish turini qabul qilmaydi.
401 authentication_error Kalit yo'q yoki yaroqsiz.
404 not_found_error Yo'l mavjud emas.
405 api_error Yo'l mavjud, metod noto'g'ri.
413 invalid_request_error Tana 32 MiB dan katta.
415 invalid_request_error Content-Type application/json emas.
422 invalid_request_error Maydon noto'g'ri JSON turida yoki majburiy maydon yo'q.
429 rate_limit_error Balans so'rovni qoplamaydi, bir daqiqada 120 tadan ortiq so'rov keldi, oynaning Shannon Coder chaqiruvlari tugagan yoki model band. Qaysi biri ekanini xabar aytadi.
5xx api_error Holat 500, 502, 503 yoki 504: so'rov yaroqli edi va unga javob berib bo'lmadi. Uni qayta yuboring. 500 server_error turini olib kelishi mumkin.

Xatolarni boshqarish

To'lov va balans

  • Har bir hisobga bitta balans to'g'ri keladi, chat va API uni baham ko'radi: avval bugungi reja limiti, keyin sotib olingan kredit. API'ning o'z kvotasi yo'q.
  • So'rov chiqish byudjetini (max_tokens, standart 4,096) ajratib qo'yadi va keyin haqiqatda ishlatgan tokenlari uchun modelning narxida hisoblanadi.
  • Har bir javob token sonlarini usageda ko'rsatadi. Keys & usage sahifasi balansni va har bir so'rov qancha turganini ko'rsatadi.
  • Har bir so'rovga teng xizmat ko'rsatiladi. So'rovlar tezligi bo'yicha yagona limit — flood himoyasi: hisob uchun daqiqasiga 120 ta so'rov. Parallel yuborilgan so'rovlar navbatda kutadi.

Limitlar va balans Modellar va narxlar Keys & usage

Modelga bog'liq maydonlar

Har bir model bir xil so'rovni qabul qiladi. Bir nechta maydon faqat ba'zi modellarda kuchga kiradi; jadval qayerda ekanini nomlaydi. Endpoint sahifalari har bir maydonni sanab beradi.

Maydon Tavsif Qo'llaydi
system Model uchun ko'rsatmalar: Chat Completions'da system xabari, Messages'da system, Responses'da instructions. Xostingdagi open-weight modellar, shannon-1.6-*, shannon-2-*, shannon-coder-1
temperature Sampling temperaturasi. Xostingdagi open-weight modellar, shannon-1.6-*, shannon-coder-1
top_p Nucleus sampling. Xostingdagi open-weight modellar
seed Sampling uchun qat'iy seed. Xostingdagi open-weight modellar
stop 4 tagacha to'xtash ketma-ketligi. Xostingdagi open-weight modellar
reasoning_effort Model javob berishdan oldin qanchalik mulohaza qiladi. Responses'da reasoning.effort, Messages'da thinking. Xostingdagi open-weight modellar
web_search true modelga shu so'rov uchun veb'da qidirishga imkon beradi. Bu API'ning maydoni, Chat Completions va Messages'da. shannon-coder-1dan tashqari Shannon modellari
max_tokens Chiqish byudjeti. Har bir modelda u balansingizdan ajratib qo'yiladigan miqdorni belgilaydi. Javob uzunligi limiti sifatida: xostingdagi open-weight modellar, shannon-1.6-*, shannon-coder-1

Chat Completions

OpenAI SDK'dan kelganda

  • Base URL'ni https://api.shannon-ai.com/v1ga, kalitni esa Shannon kalitingizga o'rnating. Shunda Chat Completions va Responses chaqiruvlari SDK bilan o'z holicha ishlaydi.
  • model Shannon id'si bo'lishi kerak. Boshqa provayderning model nomiga, masalan gpt-4oga, 400 va unknown model bilan javob beriladi.
  • Mulohaza o'z maydonida keladi: content yonida reasoning_content, xabarda va oqim deltalarida.
  • Oqim usageni doim oxirgi chunk'da, finish_reason bilan birga olib keladi.
  • Oqimdagi tool chaqiruvi to'liq arguments satri bilan bitta chunk sifatida keladi.
  • Javobda bitta choice bor.
  • OpenAI API'ning yuqoridagi jadvalda yo'q yo'llariga, masalan /v1/embeddingsga, 404 bilan javob beriladi.

Anthropic SDK'dan kelganda

  • Base URL'ni https://api.shannon-ai.comga, /v1siz, kalitni esa Shannon kalitingizga o'rnating. SDK uni x-api-key sifatida yuboradi.
  • model Shannon id'si bo'lishi kerak.
  • Bu API'da max_tokens ixtiyoriy. Uning standart qiymati 4,096.
  • Javob thinking, text va tool_use turidagi kontent bloklarini o'z ichiga oladi. Birinchi blok doim matn emas: bloklarni type bo'yicha tanlang.
  • stop_reason — end_turn yoki tool_use. Shannon modeli oqimi max_tokens bilan ham tugashi mumkin.
  • anthropic-version va anthropic-beta qabul qilinadi, shuning uchun SDK o'zgarishsiz ishlaydi. So'rovga ular shart emas.
  • /v1/messages dagi xatolar Anthropic shaklida: {"type": "error", "error": {…}}.

Bu formatlarda gaplashadigan kodlash vositalari xuddi shunday sozlanadi: base URL, kalit va model sifatida Shannon id'si. CLI kodlash vositalari