Ruka hadi kwenye maudhui
Muhtasari

Muhtasari

Ramani ya API: kila endpoint, ombi na kosa vinavyoonekanaje, jinsi wito unavyolipiwa, na unachopaswa kujua unapotoka kwenye SDK ya OpenAI au Anthropic.

Endpoint

Kila endpoint iko chini ya base URL moja na inahudumiwa kupitia HTTPS.

Base URL
https://api.shannon-ai.com
Endpoint Umbizo Ni ya nini
POST /v1/chat/completions OpenAI Chat Completions Tuma mazungumzo, pata jibu linalofuata. Kwa streaming au bila.
POST /v1/messages Anthropic Messages Vivyo hivyo, kwa maumbo ya ombi na jibu ya SDK za Anthropic.
POST /v1/responses OpenAI Responses Vivyo hivyo, kwa maumbo ya Responses. Endpoint haihifadhi hali: tuma mazungumzo kwa kila ombi.
GET /v1/models Orodha ya model ya OpenAI Orodhesha model pamoja na dirisha la muktadha, bei na capabilities. Haihitaji key.
POST /v1/tokenize Shannon API Hesabu tokens za maandishi au za ombi la chat kwa model ya open-weight inayopangishwa. Bure.
POST /v1/messages/count_tokens Hesabu ya tokens ya Anthropic Hesabu tokens za input za ombi la Messages kwa model ya open-weight inayopangishwa. Bure.

Endpoint tatu zinazozalisha maandishi hufikia model zile zile. Chagua ile ambayo umbizo lake code yako tayari inatumia.

Misingi ya ombi

Header Maelezo
Authorization: Bearer <key> API key yako. Inahitajika kwenye kila endpoint isipokuwa GET /v1/models, usipotuma x-api-key.
x-api-key: <key> Key ile ile kwenye header ambayo SDK za Anthropic hutuma. Husomwa kwenye kila endpoint.
Content-Type: application/json Inahitajika kwenye kila POST. Bila hiyo jibu ni 415.
x-request-id: <your id> Si lazima. Id yako mwenyewe ya ombi; inarudi kwenye header ya jibu x-request-id. Bila hiyo API huunda moja ya herufi 12 za hexadecimal.
  • Mwili wa kila POST ni kitu kimoja cha JSON, hadi 32 MiB.
  • Field ambayo API haijui haisababishi kosa na haina athari. Ombi lililoandikwa kwa mtoa huduma mwingine halifeli kwa sababu ya field ya ziada.
  • Field inayojulikana yenye aina isiyo sahihi ya JSON, au field inayohitajika iliyokosekana, hujibiwa kwa 422. Mwili usio JSON halali hujibiwa kwa 400.
  • model ni mojawapo ya id zilizo kwenye Model na bei. Herufi kubwa na ndogo hazijalishi.

Jibu ni JSON, au stream ya server-sent events ombi linapoweka stream kuwa true. Kila endpoint hujibu kwa umbizo lake. Kila jibu lina header ya x-request-id.

Ombi hupitia nini

Ombi hukaguliwa kwa mpangilio uliowekwa kabla model haijaendeshwa. Ukaguzi wa kwanza unaoshindwa ndio unaojibu, kwa hiyo 401 bado haikuambii chochote kuhusu mwili.

Umbo la kosa

Kosa ni kitu cha JSON chenye error inayoshikilia type na message. /v1/messages hulifunga kama SDK za Anthropic zinavyotarajia; kila path nyingine hutumia umbo la OpenAI.

{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: gpt-4o"
  }
}
  • Soma type na message. code na param zipo kwenye baadhi ya makosa pekee: zichukulie kama hiari. param daima ni null.
  • Baada ya stream kuanza, hali tayari ni 200. Hitilafu basi hufika kama frame ya kosa ndani ya stream.
  • Kila jibu la kosa hubeba header ya x-request-id.
Hali Aina Lini
400 invalid_request_error Mwili si JSON halali, model id haijulikani, au model haikubali aina ya input uliyotuma.
401 authentication_error Key haipo au si halali.
404 not_found_error Path haipo.
405 api_error Path ipo, method si sahihi.
413 invalid_request_error Mwili ni mkubwa kuliko 32 MiB.
415 invalid_request_error Content-Type si application/json.
422 invalid_request_error Field ina aina isiyo sahihi ya JSON au field inayohitajika haipo.
429 rate_limit_error Salio halitoshi kwa ombi, maombi zaidi ya 120 yalifika ndani ya dakika, wito wa Shannon Coder wa dirisha umeisha, au model ina shughuli nyingi. Ujumbe unasema ni ipi.
5xx api_error Hali 500, 502, 503 au 504: ombi lilikuwa halali na halikuweza kujibiwa. Litume tena. 500 inaweza kubeba aina server_error.

Ushughulikiaji wa Makosa

Malipo na salio

  • Kuna salio moja kwa kila akaunti, na chat na API hulitumia pamoja: kwanza kiasi cha mpango wa leo, kisha mikopo uliyonunua. API haina quota yake yenyewe.
  • Ombi hutenga bajeti yake ya output (max_tokens, chaguo-msingi 4,096) na kisha hutozwa kwa tokens ilizotumia kweli, kwa bei ya model.
  • Kila jibu huripoti hesabu zake za tokens kwenye usage. Ukurasa wa Keys na matumizi unaonyesha salio na kila ombi liligharimu nini.
  • Kila ombi linahudumiwa kwa usawa. Kikomo pekee cha kasi ya maombi ni flood protection: maombi 120 kwa dakika kwa kila akaunti. Maombi yanayotumwa kwa sambamba husubiri kwenye foleni.

Mipaka na salio Model na bei Keys na matumizi

Fields zinazotegemea model

Kila model inakubali ombi lile lile. Fields chache zinafanya kazi kwenye baadhi ya model pekee; jedwali linataja mahali. Kurasa za endpoint zinaorodhesha kila field.

Field Maelezo Inatumiwa na
system Maagizo kwa model: ujumbe wa system kwenye Chat Completions, system kwenye Messages, instructions kwenye Responses. Model za open-weight zinazopangishwa, shannon-1.6-*, shannon-2-*, shannon-coder-1
temperature Sampling temperature. Model za open-weight zinazopangishwa, shannon-1.6-*, shannon-coder-1
top_p Nucleus sampling. Model za open-weight zinazopangishwa
seed Seed isiyobadilika kwa sampling. Model za open-weight zinazopangishwa
stop Hadi stop sequences 4. Model za open-weight zinazopangishwa
reasoning_effort Kiasi ambacho model hufikiri kabla ya kujibu. reasoning.effort kwenye Responses, thinking kwenye Messages. Model za open-weight zinazopangishwa
web_search true huiruhusu model kutafuta kwenye wavuti kwa ombi hili. Field ya API hii, kwenye Chat Completions na Messages. Model za Shannon isipokuwa shannon-coder-1
max_tokens Bajeti ya output. Kwenye kila model huweka kiasi kinachotengwa kutoka kwenye salio lako. Kama kikomo cha urefu wa jibu: model za open-weight zinazopangishwa, shannon-1.6-*, shannon-coder-1

Chat Completions

Ukitoka kwenye SDK ya OpenAI

  • Weka base URL kuwa https://api.shannon-ai.com/v1 na key kuwa key yako ya Shannon. Wito wa Chat Completions na Responses kisha hufanya kazi na SDK kama ilivyo.
  • model lazima iwe id ya Shannon. Jina la model la mtoa huduma mwingine, kama gpt-4o, hujibiwa kwa 400 na unknown model.
  • Reasoning huja kwenye field yake yenyewe: reasoning_content kando ya content, kwenye ujumbe na kwenye stream deltas.
  • Stream daima hubeba usage kwenye chunk yake ya mwisho, pamoja na finish_reason.
  • Wito wa tool kwenye stream hufika kama chunk moja yenye string kamili ya arguments.
  • Jibu lina choice moja.
  • Paths za OpenAI API ambazo hazimo kwenye jedwali la juu, kama /v1/embeddings, hujibiwa kwa 404.

Ukitoka kwenye SDK ya Anthropic

  • Weka base URL kuwa https://api.shannon-ai.com, bila /v1, na key kuwa key yako ya Shannon. SDK huituma kama x-api-key.
  • model lazima iwe id ya Shannon.
  • max_tokens si lazima kwenye API hii. Chaguo-msingi ni 4,096.
  • Jibu lina content blocks za aina thinking, text na tool_use. Block ya kwanza si daima maandishi: chagua blocks kwa type.
  • stop_reason ni end_turn au tool_use. Stream ya model ya Shannon inaweza pia kuisha na max_tokens.
  • anthropic-version na anthropic-beta zinakubaliwa, kwa hiyo SDK inafanya kazi bila mabadiliko. Ombi halizihitaji.
  • Makosa kwenye /v1/messages yana umbo la Anthropic: {"type": "error", "error": {…}}.

Coding tools zinazotumia umbizo hizi husanidiwa kwa njia ile ile: base URL, key, na id ya Shannon kama model. Zana za CLI za kuandika code